oracle还原 ora 39111,高版本->低版本迁移,低版本客户端连接高版本数据库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 : sqlplus -version

SQL*Plus: Release 10.2.0.4. - Production

ZJCRNOPDB : more mod_homepage.sh

exp crnop/password@zjtestdb parfile=/usr3/orabak2/par_mod_homepage

ZJCRNOPDB : more par_mod_homepage

file=/usr3/orabak2/mod_homepage.dmp

log=/usr3/orabak2/mod_homepage.log

tables=

……,

……,

MOD_HOMEPAGE_ALARM_STAT_INFO

ZJCRNOPDB : ./mod_homepage.sh

Export: Release 10.2.0.4. - Production on 星期三 5月 ::

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

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.3. - 64bit Production

With the Partitioning, Automatic Storage Management, OLAP, Data Mining

and Real Application Testing options

已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的表通过常规路径...

. . 正在导出表 MOD_HOMEPAGE_BTS_CHECK_DETAIL导出了 行

……

. . 正在导出表 MOD_HOMEPAGE_NOTICE_TYPE导出了 行

EXP-: 遇到 ORACLE 错误

ORA-: 转换列溢出整数数据类型

EXP-: 导出终止失败

ZJCRNOPDB :

遭遇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.

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. - Production on Wed May ::

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

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3. - 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 : more impdp*

impdp crnop/password directory=jy dumpfile=mod_homepage.dmp logfile=impdp_mod_homepage.log TABLE_EXISTS_ACTION=replace

ZJCRNOPDB : ./impdp_mod_homepage.sh

Import: Release 10.2.0.4. - 64bit Production on 星期三, 5月, ::

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

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4. - 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地址和名称已做特殊处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值