服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > oracle错误库 > 查看文档

8i数据迁移到10g出现的问题及解决方法

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

扫描关注微信公众号