近日,为了适应新的形式,响应oracle 公司号召,体验oracle 公司的新产品的功能,决定对其中一个数据库由8i 迁移到10g ,但作业过程中,出现了一些问题,现在给大家共享一下
近日,为了适应新的形式,响应oracle 公司号召,体验oracle 公司的新产品的功能,决定对其中一个数据库由8i 迁移到10g ,但作业过程中,出现了一些问题,现在给大家共享一下
迁移对象:
| sun solaris8 oracle8.1.7.4 nls_characterset zhs16gbk |
接受对象:
| ibm aix 5.2 oracle10.1.0.5 nls_characterset zhs16gbk |
操作方法:
采用按user export /import 的方法。
问题:
- import 的时候,xxx user import 出现如下错误。
| imp-00017: following statement failed with oracle error 1: "begin dbms_job.isubmit(job=>1,what=>'esupport.p_tm_close2;',next_date=>to" "_date('4000-01-01:00:00:00','yyyy-mm-dd:hh24:mi:ss'),interval=>'sysdate +(1" "/24)',no_parse=>true); end;" imp-00003: oracle error 1 encountered ora-00001: unique constraint (sys.i_job_job) violated ora-06512: at "sys.dbms_job", line 97 ora-06512: at line 1 about to enable constraints... import terminated successfully with warnings. |
解决方法:
| - 检查源db(8i)的job ,发现xxx用户占job id 位置为1 select job,log_user,what from dba_jobs; job log_user what 1 xxxx esupport.p_tm_close2; - 检查接受db(10g)的job ,发现sysman占用了job id为1 (这个还没弄清楚,只有10g这样呢,还是其他版本也这样呢?) select job,log_user,what from dba_jobs; job log_user what 1 sysman emd_maintenance.execute_em_dbms_job_procs(); |
发现job id 1 已经没系统自己占用。所以报如上的错误。
- 手动把哪个job 加进去(也可以用提前把此job 删掉的方法,请参照metalink:336206.995)
| begin dbms_job.isubmit(job=>23, what=>'esupport.p_tm_close2;', next_date=>to_date('4000-01-01:00:00:00','yyyy-mm-dd:hh24:mi:ss'), interval=>'sysdate +(1/24)',no_parse=>true); end; begin dbms_job.remove(23); end; |
到此问题得到解决,下面就是做一些检查了,db link/tnsname 修改/job 以及mq 的修改了。
闽公网安备 35060202000074号