高版本->低版本迁移,低版本客户端连接高版本数据库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/[email protected] 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


[[email protected] 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
[[email protected] jy]$ more expdp_mode_homepage.sh
expdp crnop/password parfile=par_mod_homepage

directory=jy库中已经存在,不用再建立。直接运行导出脚本导出数据。


[[email protected] 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

[[email protected] 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版本号。

高版本->低版本迁移,低版本客户端连接高版本数据库EXP导出报错EXP-00008,ORA-01455,EXP-00000,布布扣,bubuko.com

时间: 2024-12-25 16:36:43

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

使用PL/SQL客户端连接远程oracle数据库

一直以来使用sql develope连接数据库,只要写上ip,用户名,密码,sid等就能连接,后来发现使用PL/SQL连接远程oracle数据库怎么连啊? 这里使用了修改oracle配置文件的方式: 配置文件路径为    D:\app\huyueyang\product\11.1.0\db_1\NETWORK\ADMIN 修改下面的tnsnames.ora,这个是你配置连接的配置文件,安装时候一般会有个默认的orcl实例 如: orcl= (DESCRIPTION = (ADDRESS = (P

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

DataUML Design1.5版本主要更新内容包括: 1.优化数据库登录界面: 2.查询分析器智能提示: 3.优化数据库浏览插件,数据库登录组件,支持历史记录缓存: 4.支持无Oracle客户端连接: 5.支持浏览数据库视图.存储过程.函数和触发器: 6.支持从Excel文件导入数据生成模型: 7.优化组合软件新建功能的界面: 一.新建功能的界面 集成成有插件的新建功能,类似于VS编译器,所有插件新建功能统一入口.如下图 二.数据库连接界面,支持无Oracle客户端连接 1.优化数据库登录界

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

lucene 建立索引 总是报错 急!! http://zhidao.baidu.com/link?url=iaVs9JH4DfN6iwaWImt7VMJENWCWGGaWFGPjqhUw_jz7FsbdrUiAJwptgCNDR8OhWlJ8iUArECkLnpBQGGzTxq 这段话总是报错,编译不过去.红线画在keyword,text下面.while(rs.next()){ Document doc=new Document(); doc.add(Field.Keyword("BH&quo

oracle初体验四 PL/SQL Developer 不安装客户端连接远程oracle数据库

PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发.如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分.PL/SQL Developer侧重于易用性.代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势. 下载敏捷客户端 http://eduunix.ccut.edu.cn/index2/database/Oracle%20Instant%20Client/

Oracle 11g 客户端连接远程服务器数据库配置

在使用oracle11g Net Manager 连接远程数据库遇到的问题总结. 1 在win7系统上start菜单-->Oracle - OraDb11g_home1-->配置和移植工具-->Net Manager 2 点击服务命名-->打开服务命名向导 在下面的操作中,一定要记得保存网络配置.记着选择使用oracle8发行版8.0兼容标识

vue创建项目报错显示vue 和 vue-template版本不同

既然是版本不一致,那么只需要把vue与vue-template-compiler的版本更新为一致的就行了 第一种办法: 更新vue-template-compiler到与vue同版本 把vue-template-compiler卸载(cnpm uninstall vue-template-compiler), 再重新安装一个与vue版本一致的vue-template-compiler(cnpm install [email protected]报错中提示的vue-template-compile

MySQL Study案例之--MySQL客户端连接故障

MySQL Study案例之--MySQL客户端连接故障 系统环境: 操作系统:RedHat EL6 DB Soft:  MySQL 5.6.4-m7   在系统安装了源码包 MySQL 5.6.4-m7版本,启动服务后,客户端连接失败 ! [[email protected] ~]# cd /usr/local/mysql/ [[email protected] mysql]# cd bin [[email protected] bin]# ./mysql -u root -p Enter p

Android 高版本API方法在低版本系统上的兼容性处理

Android 版本更替,新的版本带来新的特性,新的方法. 新的方法带来许多便利,但无法在低版本系统上运行,如果兼容性处理不恰当,APP在低版本系统上,运行时将会crash. 本文以一个具体的例子说明如何在使用高API level的方法时处理好兼容性问题. 例子:根据给出路径,获取此路径所在分区的总空间大小. 在安卓中的文件存储使用参考中提到: 获取文件系统用量情况,在API level 9及其以上的系统,可直接调用File对象的相关方法,以下需自行计算 一般实现 就此需求而言,API leve

如何把高版本的sqlserver 还原到低版本的 sqlserver

原文:如何把高版本的sqlserver 还原到低版本的 sqlserver 本例为sql2012 还原到sql2008. 要实现的功能是把sql2012的数据库备份到sql2008,数据库名字为Test,并且这两个数据库在不同的电脑中. 微软的软件设计方案基本上都是新版本兼容旧版本,旧版本不兼容新版本 步骤如下: 1.首先把要把sql2012中要备份的数据库设置为兼容2008. 右键sql2012中的数据库Test-属性-选项  看到如下图: 2.右键Test-任务-生成脚本,下一步-下一步到达