zoukankan      html  css  js  c++  java
  • 高版本->低版本迁移,低版本客户端连接高版本数据库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地址和名称已做特殊处理。
  • 相关阅读:
    C# 函数
    截取字符串 超长 用冒号显示
    免费的webservice接口
    Visual Studio 2010扩展让JS与CSS实现折叠
    两个div同时滚动
    cn_office_professional_plus_2010_x86_515 安装激活方法解决方案64bit
    Info.plist配置相关文件访问权限
    iOS 同一个View识别单击和双击手势
    WKWebView简单使用
    TabBar背景颜色设置
  • 原文地址:https://www.cnblogs.com/jyzhao/p/3744791.html
Copyright © 2011-2022 走看看