生产环境:
源数据库: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地址和名称已做特殊处理。

高版本->低版本迁移,低版本客户端连接高版本数据库EXP导出报错EXP-00008,ORA-01455,EXP-00000的更多相关文章

  1. DataUml Design 介绍11 - DataUML 1.5版本功能(支持无Oracle客户端连接,有图有真相)

    DataUML Design1.5版本主要更新内容包括: 1.优化数据库登录界面: 2.查询分析器智能提示: 3.优化数据库浏览插件,数据库登录组件,支持历史记录缓存: 4.支持无Oracle客户端连 ...

  2. 【转】Lucene不同版本中Field的Keyword、UnIndex,导致lucene 建立索引总是报错 急!!

    lucene 建立索引 总是报错 急!! http://zhidao.baidu.com/link?url=iaVs9JH4DfN6iwaWImt7VMJENWCWGGaWFGPjqhUw_jz7Fs ...

  3. openstack liberty 版本按照官方文档手动整合 完成后 基于dashboard-horizon 创建虚拟机报错 用CL却是成功的 网络等验证都是正确的通过启动的虚拟实例测试以成功

  4. PL/SQL通过免安装客户端连接远端ORACLE数据库

    参考百度经验:http://jingyan.baidu.com/article/375c8e19b4094d25f2a2291a.html

  5. PL/SQL Developer不安装客户端连接远程oracle数据库(转)

    1.下载敏捷客户端InstantClient(40M左右,选择适合自己的下载,我的是instantclient-basic-win32-11.2.0.1.0.zip ):http://www.orac ...

  6. code first迁移(add-migration)的时候 后面信息不能有中文 中文报错 "不支持给定路径的格式。"

  7. 干货 | SSMS客户端连接京东云RDS SQL Server配置方法

    干货 | SSMS客户端连接京东云RDS SQL Server配置方法 原创: 于振江 京东云开发者社区  微软SQL Server, Oracle数据库以及MySQL系列占据了关系型数据库市场的绝对 ...

  8. 低版本eclipse导入高版本eclipse创建项目报错问题

    例如用高版本eclipse创建的项目,会默认使用的是jdk1.8版本, 低版本eclipse创建项目,会默认使用的是jdk1.7版本. 此时导入高版本eclipse项目时会报错(文件夹中会出现红色!) ...

  9. Tuxedo低版本客户端(Tuxedo 9)连接到高版本Tuxedo服务端(Tuxedo 12.1.3)的问题

    经过我实测,是没问题的.但是客户端的Tuxedo DLL必须全部是Tuxedo 9的DLL,不能混用.不然即使用Dependency Walker 分析DLL依赖完全正确,但是实际运行时结果也会出现奇 ...

随机推荐

  1. 05.DOM

    DOM基础 什么是DOM 标签元素节点浏览器支持情况  火狐支持最好 谷歌其次 ie最差 尤其是ie6-8DOM节点节点分为:元素节点和文本节点 测试节点的类型用nodeTypenodeType 为3 ...

  2. mac svn命令使用

    对mac不熟悉 ssd硬盘又小 不想装版本管理软件. #创建目录 svn mkdir svn://ip.xxx.xxx.xxx/client/ios/opengl/imageToll -m " ...

  3. .NET中那些所谓的新语法之二:匿名类、匿名方法与扩展方法

    开篇:在上一篇中,我们了解了自动属性.隐式类型.自动初始化器等所谓的新语法,这一篇我们继续征程,看看匿名类.匿名方法以及常用的扩展方法.虽然,都是很常见的东西,但是未必我们都明白其中蕴含的奥妙.所以, ...

  4. JavaScript利用replace更改所有符合条件字符

    利用replace替换字符串时,在正常使用情况下默认只能更改匹配到的第一个字符 var a=new String("fffffddd"); console.log(a.replac ...

  5. Linux study

    在centos5.5中编译LNMP环境 一.配置好ip, dns, 网关, 确保使用远程连接工具能够连接服务器 centos设置ip地址,网关, dns教程: http://www.osyumwei. ...

  6. 几个最常用的用来代替Div的HTML5元素

    虽说html5中大多数功能性的元素如<video><canvas><audio>等还得不到当前主流浏览器的支持(主要就是指IE浏览器了),但至少那些个与布局相关的元 ...

  7. 初学者--bootstrap(一)----在路上(1)

    bootstrap: 是目前最受欢迎的前端框架,并基于HTML.CSS.JavaScript 等,而且他是为了适应并兼容各个电子设备,是对媒体查询的封装. 1.什么是媒体查询   他 是响应式布局的方 ...

  8. Android Fragment 使用技巧

    1. Fragment 使用时要有一个无参构造函数 如果没有无参构造函数,而是像按照普通类来使用,只创建有参构造函数,则会出现 android.support.v4.app.Fragment$Inst ...

  9. jquery-懒加载插件

    在Web应用程序中,系统的瓶颈常在于系统的响应速度.如果系统响应速度过慢,用户就会出现埋怨情绪, 系统的价值也因此会大打折扣.因此,提高系统响应速度,是非常重要的. 从此可知,再好的网站,再炫的网站, ...

  10. C语言static

    1. static 变量 静态变量的类型说明符是static. 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量. 例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 ...