關於資料庫使用impdp+network_link遷移時,job的遷移

charsi發表於2016-07-20
我們經常在資料庫遷移的時候,會使用到impdp+network_link的方式進行。如果是遷移一個schema的情況下,可能會涉及到job的遷移。

通常情況下,如果遷移schema的時候,會將job遷移到目標資料庫中,在oracle 11g中使用的是類似下面的語句:
 BEGIN SYS.DBMS_IJOB.SUBMIT( JOB=> 26, LUSER=> 'GAOK', PUSER=> 'GAOK', CUSER=> 'GAOK', NEXT_DATE=> TO_DATE('2016-07-19 19:31:15', 'YYYY-MM-DD:HH24:MI:SS'), INTERVAL=> 'SYSDATE+1/720', BROKEN=>  FALSE, WHAT=> 'P_TEST();', NLSENV=> 'NLS_LANGUAGE=''AMERICAN'' NLS_TERRITORY=''AMERICA'' NLS_CURRENCY=''$'' NLS_ISO_CURRENCY=''AMERICA'' NLS_NUMERIC_CHARACTERS=''.,'' NLS_DATE_FORMAT=''DD-MON-

即它會將所有的JOB資訊都通過儲存過程包遷移過去。所以會保證遷移過去之後原來的job能夠正常執行。

遇到過情況,客戶反應在oracle 10g通過這種方式遷移過去之後,job不能執行。在10g中沒有實際測試過,後續有空測試。
10g中impdp+network_link的遷移語句如下:
 BEGIN DBMS_JOB.ISUBMIT( JOB=> 703, NEXT_DATE=> TO_DATE('2016-07-03 00:19:46', 'YYYY-MM-DD:HH24:MI:SS'), INTERVAL=> 'sysdate+10/1440', WHAT=> 'p_test;', NO_PARSE=> TRUE); END;  

如果使用sys或者system使用者遷移的話,是否會將遷移過去的job的LOG_USER,PRIV_USER,SCHEMA_USER變為system,而不是原來的schema?這樣是否會影響到job的執行?

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

相關文章