我们经常在数据库迁移的时候,会使用到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的运行?
通常情况下,如果迁移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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23850820/viewspace-2122265/