程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle 8i遷移到10g出現的問題及解決

Oracle 8i遷移到10g出現的問題及解決

編輯:關於Oracle數據庫

  近日,為了適應新的形式,響應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 的修改了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved