Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->数据库应用 ->Oracle ->正文

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

来源:互联网  作者:Webmaster 时间:2007-04-23 点击: [收藏] [投稿]

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

(t114)

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Oracle数据库数据操作和控制语言详解   下一篇:针对Oracle10g EM乱码之快速解决方法

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号