高版本->低版本遷移,低版本客戶端連接高版本數據庫EXP導出報錯EXP-00008,ORA-01455,EXP-00000


生產環境:
源數據庫:RHEL + Oracle 11.2.0.3
目標數據庫:HP-UX + Oracle 10.2.0.4
 
需求:遷移部分表  11.2.0.3-->10.2.0.4,若遷移范圍內的有些表在目標庫已經存在,則替換。
本次遷移數據量<1G.
初定方案:低版本的客戶端連接到高版本數據庫,用低版本導出,低版本導入。
 
1.采用初定方案,目標數據庫所在服務器連接到源數據庫,exp導出過程中報錯。
ZJCRNOPDB 36: sqlplus -version

SQL*Plus: Release 10.2.0.4.0 - Production
ZJCRNOPDB 37: more mod_homepage.sh
exp crnop/password@zjtestdb parfile=/usr3/orabak2/par_mod_homepage
ZJCRNOPDB 38: more par_mod_homepage
file=/usr3/orabak2/mod_homepage.dmp                           
log=/usr3/orabak2/mod_homepage.log
tables=
……,
……,
MOD_HOMEPAGE_ALARM_STAT_INFO
ZJCRNOPDB 39: ./mod_homepage.sh

Export: Release 10.2.0.4.0 - Production on 星期三 5月 21 13:42:25 2014

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


連接到: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
已導出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即將導出指定的表通過常規路徑...
. . 正在導出表   MOD_HOMEPAGE_BTS_CHECK_DETAIL導出了     3502523 行
……
. . 正在導出表        MOD_HOMEPAGE_NOTICE_TYPE導出了           7 行
EXP-00008: 遇到 ORACLE 錯誤 1455
ORA-01455: 轉換列溢出整數數據類型
EXP-00000: 導出終止失敗
ZJCRNOPDB 40:
遭遇ORA-01455,證明初定方案有問題,低版本客戶端不能導出高版本數據。需要更換方案。
 
2.采用expdp/impdp遷移方案:
2.1源數據庫服務器上expdp 導出加上參數 version=10.2.0.4.0
[oracle@zjoradb jy]$ more par_mod_homepage 
directory=jy
dumpfile=mod_homepage.dmp                           
logfile=mod_homepage.log
version=10.2.0.4.0
tables=
……,
……,
MOD_HOMEPAGE_ALARM_STAT_INFO
[oracle@zjoradb jy]$ more expdp_mode_homepage.sh 
expdp crnop/password parfile=par_mod_homepage
directory=jy庫中已經存在,不用再建立。直接運行導出腳本導出數據。
[oracle@zjoradb jy]$ ./expdp_mode_homepage.sh 

Export: Release 11.2.0.3.0 - Production on Wed May 21 14:19:44 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
Starting "CRNOP"."SYS_EXPORT_TABLE_08":  crnop/******** parfile=par_mod_homepage 
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 437.3 MB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/COMMENT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "CRNOP"."MOD_HOMEPAGE_BTS_CHECK_DETAIL"     291.5 MB 3502523 rows
……
Master table "CRNOP"."SYS_EXPORT_TABLE_08" successfully loaded/unloaded
******************************************************************************
Dump file set for CRNOP.SYS_EXPORT_TABLE_08 is:
  /home/oracle/jy/mod_homepage.dmp
Job "CRNOP"."SYS_EXPORT_TABLE_08" successfully completed at 14:20:19

[oracle@zjoradb jy]$
 
2.2在目標數據庫impdp導入,由於需求是替換已存在的表,所以加入下面這個參數:TABLE_EXISTS_ACTION=replace
TABLE_EXISTS_ACTION
導入對象已存在時執行的操作。
有效的關鍵字為: APPEND, REPLACE, [SKIP] 和 TRUNCATE。
 
創建directory,然后將要導入的dmp文件cp到此目錄。
SQL> create or replace directory jy as '/usr3/orabak2/';
ZJCRNOPDB 65: more impdp*
impdp crnop/password directory=jy dumpfile=mod_homepage.dmp logfile=impdp_mod_homepage.log TABLE_EXISTS_ACTION=replace
 
ZJCRNOPDB 74: ./impdp_mod_homepage.sh

Import: Release 10.2.0.4.0 - 64bit Production on 星期三, 21 5月, 2014 14:39:29

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

連接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加載/卸載了主表 "CRNOP"."SYS_IMPORT_FULL_01" 
啟動 "CRNOP"."SYS_IMPORT_FULL_01":  crnop/******** directory=jy dumpfile=mod_homepage.dmp logfile=impdp_mod_homepage.log TABLE_EXISTS_ACTION=replace 
處理對象類型 TABLE_EXPORT/TABLE/TABLE
處理對象類型 TABLE_EXPORT/TABLE/TABLE_DATA
. . 導入了 "CRNOP"."MOD_HOMEPAGE_BTS_CHECK_DETAIL"     291.5 MB 3502523 行
……
處理對象類型 TABLE_EXPORT/TABLE/COMMENT
處理對象類型 TABLE_EXPORT/TABLE/INDEX/INDEX
ORA-31684: 對象類型 INDEX:"CRNOP"."PK_MOD_WF_TOPN_PROBLEM" 已存在
處理對象類型 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
ORA-31684: 對象類型 CONSTRAINT:"CRNOP"."PK_MOD_WF_TOPN_PROBLEM" 已存在
處理對象類型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
ORA-39111: 跳過從屬對象類型 INDEX_STATISTICS, 基本對象類型 INDEX:"CRNOP"."PK_MOD_WF_TOPN_PROBLEM" 已存在
處理對象類型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作業 "CRNOP"."SYS_IMPORT_FULL_01" 已經完成, 但是有 3 個錯誤 (於 14:46:54 完成)
導入成功,上面的錯誤是索引的不規范命名導致索引對象重名的,改名重建下那個索引即可,與本案例不相關。
 
3.總結:高版本->低版本遷移數據,遷移場景是11g->10g,建議采用EXPDP/IMPDP方式替換傳統exp/imp方式,EXPDP從高版本導出時要加入參數version=10g版本號。
 
------------------------------------------------------------------------------------
免責聲明:為保證商業安全,本案例涉及的相關IP地址和名稱已做特殊處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM