|
最初由 zhangxuehun 发布
[B]谢谢版主的关注与帮助!
不知道有什么解决办法?
我在后来的测试中发现,如果在导入的时候不指定Schemas参数的话,job会被导入到导入用户的schema中;如果指定Schemas参数的话,会报错误,如下所示:
Import: Release 10.2.0.1.0 - Production on Thursday, 08 March, 2007 12:38:43
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORA-31655: no data or metadata objects selected for job
Master table "BFUSER"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded
Starting "BFUSER"."SYS_IMPORT_SCHEMA_01": bfuser/******** directory=dpumpDir1 schemas=BOSS_V3 include=SCHEMA_EXPORT/JOB
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Job "BFUSER"."SYS_IMPORT_SCHEMA_01" successfully completed at 12:38:50
如果是这样的话,那现在就只能每个用户导入自己的schema了,即不能指定schemas参数了。不知道版主有没有更好的办法?多谢! [/B]
我这边做测试,也有你说的情况,察看文档,没说明BUG什么时候解决。
建议使用dbms_job.user_export来导出来,用dbms_ijob.remove()
来删除,然后用刚才导出来的脚本重新插入JOB,这样不用变化JOBID号。
如:
[php]
declare
v_jobtext varchar2(500);
begin
for i in (select job from dba_jobs where job =1586)
loop
v_jobtext :='';
dbms_job.user_export(i.job,v_jobtext);
dbms_output.put_line(to_char(i.job)||','||v_jobtext);
end loop;
end;
将输出:
exec dbms_job.isubmit(job=>1337,what=>'PRO_9TH;',next_date=>to_date('2006-12-20:21:35:00','YYYY-MM-DD:HH24:MI:SS'),interval=>'trunc(sysdate+1)+(21+7/12)/24',no_parse=>TRUE);
exec dbms_job.isubmit(job=>1338,what=>'PRO_5TH;',next_date=>to_date('2006-12-20:21:35:00','YYYY-MM-DD:HH24:MI:SS'),interval=>'trunc(sysdate+1)+(21+7/12)/24',no_parse=>TRUE);
exec dbms_job.isubmit(job=>1339,what=>'PRO_8TH;',next_date=>to_date('2006-12-20:21:35:00','YYYY-MM-DD:HH24:MI:SS'),interval=>'trunc(sysdate+1)+(21+7/12)/24',no_parse=>TRUE);
exec dbms_job.isubmit(job=>1340,what=>'PRO_7TH;',next_date=>to_date('2006-12-20:17:35:00','YYYY-MM-DD:HH24:MI:SS'),interval=>'trunc(sysdate+1)+(17+7/12)/24',no_parse=>TRUE);
exec dbms_job.isubmit(job=>1341,what=>'PRO_6TH;',next_date=>to_date('2006-12-20:17:35:00','YYYY-MM-DD:HH24:MI:SS'),interval=>'trunc(sysdate+1)+(17+7/12)/24',no_parse=>TRUE);
然后创建脚本删除JOB,
exec sys.dbms_ijob.remove(job=>1337);
exec sys.dbms_ijob.remove(job=>1338);
exec sys.dbms_ijob.remove(job=>1339);
exec sys.dbms_ijob.remove(job=>1340);
exec sys.dbms_ijob.remove(job=>1341);
再执行上面输出的脚本即可。
*****************************************************************
[/php] |
|