資料遷移工作技術準備

jinqibingl發表於2012-10-04

資料遷移工作技術準備  

一、資料遷移環境:oracle 817 >> oracle 10g R2
二、基本方法:EXP/IMP匯出匯入。
三、為了探索出所有的問題,用直接匯出後直接匯入的辦法,不修改設定,直接來得辦法,探測出所有問題,然後在進行修改。

四、列出的問題:

1、匯入時,目錄結構不存在的時候,資料庫不會主動建立目錄的,必須先手動建立好。

2、TEMP表空間建立時:catnot create dictionary managed tablespace,無法建立本地管理的表空間。

3、uniform. size for auto segment space managed tablespace should have asleast 5 blocks。裡面無資料,直接建立。

create tablespace tools datafile 'd:\oracle\oradata\orcl\tools.dbf' size 50m;

4、使用者建立,基本上全部出錯,原因在於預設表空間和臨時表空間設定不正確,原來版本的臨時表空間沒有特別要求,但是10G資料庫要求臨時表空間必須是臨時表空間型別,否則無法建立使用者。
select 'alter user '||username||' temporary tablespace temp;' from dba_users where temporary tablespace<>'TEMP';

在SQL中直接執行上面生成的SQL語句,請不要複製。

5、請仔細考慮,使用者表空間配額問題,預設情況下SYSTEM使用者只在SYSTEM表空間有配額,其他自己建立的表空間裡面是沒有配額的。但是建立表的時候,不報錯,因為建立表往往是帶了模式名稱在表名前面的,但是建立索引好像不行。
6、10g資料庫,預設情況下,表空間的資料檔案沒有開啟自動擴充套件,有可能導致在匯入的時候,無法建立initial extent,主要開啟自動擴充套件。

五、最終的解決辦法:

1、手動建立表空間和使用者,然後再執行匯入。主要在10G安裝的時候,幾個設定:(1)字符集和匯出資料庫一直;(2)啟用OMF;(3)不啟用閃回和歸檔,以便加快匯入速度。

2、直接用查詢來生成建立語句,這樣比較通用。

3、查詢語句:

(1)、從目標資料庫中提取已有的表空間
select ''''||tablespace_name||''''||',' from dba_tablespaces;

(2)、從匯出資料庫提取表空間建立語句
select 'create tablespace '||tablespace_name||' datafile size '||round(bytes/1024/1024)||'M autoextend on;'
from dba_data_files where tablespace_name not in ('SYSTEM','UNDOTBS1','SYSAUX','TEMP','USERS','EXAMPLE');

(3)、從目標資料庫中提起已有的使用者
select ''''||username||''''||',' from dba_users;

(4)、從匯出資料庫提取使用者建立語句
select 'create user '||username||' identified by '||username||' default tablespace '||default_tablespace||' temporary tablespace temp;'
from dba_users where username not in ('MGMT_VIEW','SYS','SYSTEM','DBSNMP','SYSMAN','OUTLN','MDSYS',
'ORDSYS','EXFSYS','DMSYS','WMSYS','CTXSYS','ANONYMOUS',
'XDB','ORDPLUGINS','SI_INFORMTN_SCHEMA','OLAPSYS','SCOTT',
'TSMSYS','BI','PM','MDDATA','IX','SH','DIP','OE','HR');

(5)、從匯出資料庫提取使用者配額調整語句
select 'alter user '||username||' quota unlimited on '||tablespace_name||';' from dba_ts_quotas;
4、將查詢生成的語句,直接在SQLPLUS中執行就可以了,但還是需要在執行前,檢查下是否有錯誤。如果有,做相應的調整。

六、下一步,檢查匯入成功後的資料庫,各物件情況,並開啟10G版本新功能。

七、整個過程,在windows和linux系統下,均已成功

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9606200/viewspace-745665/,如需轉載,請註明出處,否則將追究法律責任。

相關文章