imp exp 跨系統匯入案例

itpremier發表於2010-07-05


源系統:ORACLE 9。2
目標系統 ORACLE 11G

分析:
1, 首先在目標系統建立相應的使用者。
2, 不方便建立表空間,由於匯出檔案指定了表空間,這一步麻煩些。
3, 匯入過程分4步: 建表,導資料,建索引, 生成統計資訊。

[@more@]


建表
imp system/system fromuser=bdocx touser=bdocx indexes=n rows=n buffer=10485760 indexfile=bdoc1.idx file=bdocx.emp log=bdoc.log
然後,手工查詢,替換相應的表空間CLAUSE。手工執行指令碼。

導資料
imp system/system fromuser=bdocx touser=bdocx IGNORE=y indexes=n rows=y buffer=10485760 file=bdocx.emp log=bdoc-data.log

建索引
1, 如果存在源系統表空間,可以執行如下命令, 直接匯入索引:
imp system/system fromuser=bdocx touser=bdocx IGNORE=y indexes=Y rows=n buffer=10485760 file=bdocx.emp log=bdoc-idx.log

否則,執行
imp system/system fromuser=bdocx touser=bdocx indexes=y rows=n buffer=10485760 indexfile=bdoc2.idx file=bdocx.emp log=bdoc.log
然後,手工查詢,替換相應的表空間CLAUSE。手工執行指令碼。


生成統計資訊
exec dbms_stats.gather_schema_stats(user,cascade=>true,degree=>2)

最佳操作:


-- generate 建表 script
imp system/system fromuser=bdocx touser=bdocx indexes=n rows=n buffer=10485760 indexfile=bdoc1.idx file=bdocx.emp log=bdoc.log
-- generate 建索引 script
imp system/system fromuser=bdocx touser=bdocx indexes=y rows=n buffer=10485760 indexfile=bdoc2.idx file=bdocx.emp log=bdoc.log

--- create table
-- import data
imp system/system fromuser=bdocx touser=bdocx IGNORE=y indexes=n rows=y buffer=10485760 file=bdocx.emp log=bdoc-data.log
-- create index

特別說明:
PrimaryKey 索引會包含在建表指令碼中。這是分離不開的。如果想手工分離,非常麻煩。上面操作只能分出普通索引。

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

相關文章