解決imp匯入時,使用源DB中表空間名的問題
10g裡可以使用remap_schema和remap_tablespace顯示指定,9i的話需要動點腦筋了~
總的來說,Oracle並沒有提供什麼引數讓你將資料匯入到指定的表空間中,資料預設還是匯入到它原來所在的表空間。你可以用IMP 的SHOW引數可以看到其建立指令碼中會指定TABLESPACE引數,而這個值是原系統該物件所在的表空間,跟你使用者預設的表空間是沒有關係的,如下:"CREATE TABLE "EMPLOYEES" ("EMPLOYEE_ID" NUMBER(6, 0), "FIRST_NAME" VARCHAR2"
"(20), "LAST_NAME" VARCHAR2(25) NOT NULL ENABLE, "EMAIL" VARCHAR2(25) NOT NU"
"LL ENABLE, "PHONE_NUMBER" VARCHAR2(20), "HIRE_DATE" DATE NOT NULL ENABLE, ""
"JOB_ID" VARCHAR2(10) NOT NULL ENABLE, "SALARY" NUMBER(8, 2), "COMMISSION_PC"
"T" NUMBER(2, 2), "MANAGER_ID" NUMBER(6, 0), "DEPARTMENT_ID" NUMBER(4, 0)) "
"PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELIS"
"TS 1 FREELIST GROUPS 1) TABLESPACE "EXAMPLE" LOGGING NOCOMPRESS"
. . 正在跳過表 "EMPLOYEES""CREATE TABLE "JOBS" ("JOB_ID" VARCHAR2(10), "JOB_TITLE" VARCHAR2(35) NOT NU"
"LL ENABLE, "MIN_SALARY" NUMBER(6, 0), "MAX_SALARY" NUMBER(6, 0)) PCTFREE 1"
"0 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREE"
"LIST GROUPS 1) TABLESPACE "EXAMPLE" LOGGING NOCOMPRESS"
. . 正在跳過表 "JOBS"看其中的紅色部分,如果在原系統中你建立EMPLOYEES指定的表空間是EXAMPLE,而此時該使用者的預設表空間是USERS,那麼EXP的DMP檔案裡是EXAMPLE,而不是USERS,當然如果你建表時沒特意指定表空間,那麼預設的就會是使用者的預設表空間。所以對於這個問題的解決方法是:1. 如果目標系統中不存在跟原系統一樣的表空間,這個一樣,是指儲存你要匯入的資料的表空間如:你要匯入的資料在原系統中是存放在USERS表空間的,而在目標系統並不存在這個表空間,那麼你在匯入資料時資料就會匯入到目標系統中該使用者的預設表空間。2. 如果存在一樣的表空間,則在目標系統中:a) REVOKE UNLIMITED TABLESPACE FROM 該USER
b) 取消該使用者在原系統匯出資料所在表空間的配額:
SQL>ALTER USER XXX QUOTA 0 ON OLD_TABLESPACE
c) 將你要儲存匯入資料的表空間設為該使用者預設的表空間
d) 新增該使用者在其預設表空間中的配額:
SQL>ALTER USER XXX QUOTA UNLIMITED ON NEW_TABLESPACE
3. 其他方法:a) 可以用IMP的SHOW=Y將建立指令碼SPOOL出來,然後修改其建立指令碼中的TABLESPACE,將其修改成你所需要的表空間。
b) 用第三方工具,比如TOAD,產生其建立指令碼,然後修改TABLESPACE值,然後匯入的時候加IGNORE=Y進行匯入。
c) 可以先匯入資料,然後用TOAD的Rebuild Multi Objects,進行資料轉移。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11411056/viewspace-734365/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 臨時表空間ORA-1652問題解決
- 【問題解決】使用YYYY-MM-dd時間轉換問題
- 解決MongoDB儲存時間時差的問題MongoDB
- 為什麼問題空間與解決方案空間如此重要? - Nikhil Gupta
- oracle資料匯出匯入(exp/imp)Oracle
- LINUX 解決時間同步問題(NTP)Linux
- VSCode中解決python模組匯入問題VSCodePython
- 使用imp/exp遇到兩個問題
- imp-匯入小寫字母的表
- Oracle中表空間、表、索引的遷移Oracle索引
- 解決Ubuntu虛擬機器佔用空間與實際空間不符問題Ubuntu虛擬機
- Java 8 的日期與時間問題解決方案Java
- 在Python 3.2中使用OAuth匯入失敗的問題與解決方案PythonOAuth
- DBeaver 資料匯入SQL時的問題SQL
- Kubernetes 名稱空間入門
- 使用p名稱空間和c名稱空間的XML快捷方式XML
- 臨時表空間使用率過高的解決辦法
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- 使用正規表示式優雅的解決 SpringMVC 時間轉換問題SpringMVC
- 解決Docker容器時區及時間不同步的問題Docker
- 解決docker容器存放目錄磁碟空間滿了問題Docker
- Confluence6匯入SSL證書和問題解決
- android studio匯入專案--解決gradle-headache問題AndroidGradle
- Jtti:如何解決空間ping值低的問題?Jtti
- 若依解決VUE前端時間顯示問題Vue前端
- 使用 Rxjs 解決 Angular Component 之間的通訊問題JSAngular
- 若依框架匯入阿里OSS報錯問題解決方案框架阿里
- Bellmanford與Spfa解決存在負邊權的單源匯最短路問題
- 解決goland 匯入專案後import裡的包報紅問題GoLandImport
- 解決vue使用Sass時候的報錯問題Vue
- 使用nodeAPI時遇到非同步問題的解決方法API非同步
- Latex中表格問題
- 解決docker換源問題Docker
- Django中重定向頁面的時候使用名稱空間Django
- vue使用iview Timeline 時間軸不顯示渲染的效果問題解決辦法VueView
- 解決使用jpa的實體物件轉json符串時懶載入問題物件JSON
- 大資料匯入之MySql設計之空間換時間的設計變更大資料MySql
- C#、IIS獲取時間帶星期問題解決C#
- html匯入導航欄本地檔案解決跨域問題HTML跨域