物件及資料存在時的資料匯入(imp)

tolywang發表於2010-12-27

Oracle10g R2 ,   Oracle 11g R2 , Linux 

 

 範例: 

 

1. truncate channel使用者data之前,注意disableFK.

select 'alter table '||owner||'.'||table_name|| ' disable constraint '||constraint_name||' ;'

from all_constraints where wner='CHANNEL' and constraint_type='R' ;

 

2. disable channel使用者下的 jobtrigger, 可以直接在toad中操作。

 

3. truncate channel使用者下的表資料 .

select ' truncate table channel.'||object_name||' ;' from dba_objects

where wner='CHANNEL' and  object_type='TABLE' ; 

 

4. 使用最新dmp匯入資料

imp  'system/"system@dbsec"'  fromuser=channel  touser=channel   file=xxxxx.dmp  log=ccptimp.log  ignore=y

 

5. enable FK job, triggers . 

select 'alter table '||owner||'.'||table_name|| ' enable constraint '||constraint_name||' ;'

from all_constraints where wner='CHANNEL' and constraint_type='R' ;

 

最好在toad中檢查一下FK是否有enable .

 

6. 檢查同義詞及許可權(channel_apchannel, channel_ap_role),角色。

 

7. 檢視channelchannel_ap是否有executedebug procedurefunction等的許可權。

 

8. 檢查sequence是否正常,檢查所有其他物件。 

 

9. 匯入的table 及列的註釋comment可能都是亂碼,需要重新執行指令碼。

 

10. 以防丟失某些東西,可以在測試機上建立一個channel_test使用者,匯入新的dmp檔案,進行對比。 

 

11.個別table或資料有問題,可以drop table重建 . 

 

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

相關文章