当前位置:首页 > 网络编程 > 数据库 > Oracle > Oracle 8i迁移到10g出现的问题及解决

Oracle 8i迁移到10g出现的问题及解决

点击次数:30 次 发布日期:2008-11-22 16:58:22 作者:源代码网
源代码网推荐


近日,为了适应新的形式,响应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 的修改了

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华