当前位置:  数据库>oracle

Oracle expdp/impdp 从高版本 到 低版本 示例

    来源: 互联网  发布时间:2017-04-11

    本文导语: 公司的一个测试库原来的版本是Oracle 11gR2的。 有些语法10g的有些出入,老大说把测试库重建一下,用10g的版本。 虽说可以停机,数据量也不大,不过白天研发的同事要使用测试库,所以只能晚上加班搞。 打算使用数据泵expdp/imp...

公司的一个测试库原来的版本是Oracle 11gR2的。 有些语法10g的有些出入,老大说把测试库重建一下,用10g的版本。

虽说可以停机,数据量也不大,不过白天研发的同事要使用测试库,所以只能晚上加班搞。 打算使用数据泵expdp/impdp 来做。 因为从高版本到低版本导需要加上version 参数,之前还没有测试过。 用这个机会测试一下。

数据泵的更多示例,参考我的Blog:

Oracle expdp/impdp 使用示例

步骤如下:

1. 把10g版本的库装好,并创建一个实例

2. 查看原用户对象总数

SQL> select count(*) from dba_objects where owner in ('WANGOU','SUP','QISHUN');

这样导完之后,就可以比较一下。

3.  创建目录,并用expdp导出数据

SQL>create directory backup as '/u01/backup';

#expdp /'/ as sysdba/' directory=backup full=y dumpfile=wgfullexp.dmp logfile=fullexp.log version=10.2.0.1 ;

-- 注意参数,我是从11gR2的库导的,我要导入10g的库,通过version指定版本信息。

4.  用Toad 导出原测试库 表空间用户等脚本。

5.  在新的测试库用之前导出的脚本把表空间创建好。

6.  创建dir,用impdp 导入数据

SQL>create directory backup as '/u01/backup';

#impdp /'/ as sysdba/' directory=backup full=y dumpfile=wgfullexp.dmp logfile=fullimp.log;

impdp 没有成功,最后的错误如下:

Processing object type DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS

ORA-39112: Dependent object type TABLE_STATISTICS skipped, base object type TABLE:"ORDDATA"."ORDDCM_PREFS_LOOKUP" creation failed

ORA-39112: Dependent object type TABLE_STATISTICS skipped, base object type TABLE:"ORDDATA"."ORDDCM_PREFS_LOOKUP" creation failed

ORA-39112: Dependent object type TABLE_STATISTICS skipped, base object type TABLE:"ORDDATA"."ORDDCM_PREFS_LOOKUP" creation failed

ORA-39125: Worker unexpected fatal error in KUPW$WORKER.PUT_DDLS while calling DBMS_METADATA.CONVERT [TABLE_STATISTICS]

ORA-06502: PL/SQL: numeric or value error

LPX-00225: end-element tag "HIST_GRAM_LIST_ITEM" does not match start-element tag "EPVALUE"

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105

ORA-06512: at "SYS.KUPW$WORKER", line 6241

----- PL/SQL Call Stack -----

object      line  object

handle    number  name

0x4de6dba8     14916  package body SYS.KUPW$WORKER

0x4de6dba8      6300  package body SYS.KUPW$WORKER

0x4de6dba8     12279  package body SYS.KUPW$WORKER

0x4de6dba8      3279  package body SYS.KUPW$WORKER

0x4de6dba8      6889  package body SYS.KUPW$WORKER

0x4de6dba8      1262  package body SYS.KUPW$WORKER

0x4de62824         2  anonymous block

Job "SYS"."SYS_IMPORT_FULL_01" stopped due to fatal error at 20:58:03#o b0d5j2u18982013

因为这里的用户比较多,同事给我的是3个用户,但我连上去看了一下,明显不止三个用户。 所以就不想按用户导,直接full =y 全库导了。

impdp 的时候,如果用户不存在会自动创建。 所以在我impdp的时候,我没有去创建用户。 不过如果是生产环境,还是按部就班的来。 先建好表空间,用户,按用户来导。

imdp失败了,但之前导的表,索引等对象导入过了。 用:

SQL> select count(*) from dba_objects where owner in ('WANGOU','SUP','QISHUN');

查看了新测试库上这3个用户的对象,比原库少了20个。

把2个库对象的详细数据导出到txt,用UC 比较了一下,少的20个对象是触发器。 用Toad 在原库上把这20个触发器的sql导出来,在新库上执行一下。 最后检查了一下。 两遍对象一致。

因为impdp 在最后统计信息那块报错, 所以查看了一下统计信息,已经导入了。 让开发的同事测试了一下,没有问题。


    
 
 

您可能感兴趣的文章:

  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle版本问题
  • Oracle支持Linux的哪些发布版本
  • 国内哪里可以下载oracle8.1.7或更新版本
  • root登陆后如何看oracle的版本
  • linux下通过对文件读取方式查询oracle的版本信息
  • Oracle与redhat什么版本搭配最好?
  • Linux版本的Oracle 11g将首先被发布
  • 初学者请教,SCO UNIX 安装oracle9i 是用for哪个的版本?
  • 如何获取Linux及Oracle版本信息
  • Oracle数据库EXP/IMP版本的支持列表集合[图文]
  • 谁知道哪个版本的oracle ias 服务器可以安装在RedHat9.0上?
  • 在linux(red hat 9.0)下可以直接安装windows版本的oracle8.17可以吗??
  • 请问linux下可以同时安装运行两个版本的oracle吗?
  • 想安装一个可以安装Oracle数据库的Linux,不知道用那种版本好?
  • VMware中linux环境下oracle安装图文教程(二)ORACLE 10.2.05版本的升级补丁安装
  • 求助~linux下oracle的安装问题---有可能是glibc版本的问题但是我不会降
  • oracle 日期函数集合(集中版本)第1/2页
  • oracle while的用法示例分享
  • Oracle 使用Java Source 简单示例
  • ORACLE 毫秒与日期的相互转换示例
  • java使用jdbc链接Oracle示例类分享
  • Oracle数据库安装配置示例
  • java操作oracle数据库示例
  • Oracle数据库安装配置流程示例详细解析
  • oracle表空间中空表统计方法示例介绍
  • oracle创建删除用户示例分享(oracle删除用户命令及授权)
  • 数据库查询排序使用随机排序结果示例(Oracle/MySQL/MS SQL Server)
  • Oracle层次查询和with函数的使用示例
  • php连接oracle数据库的示例代码
  • ORACLE实现字段自增示例说明
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 基于oracle expdp命令的使用详解
  • 虚拟机装Oracle R12与Oracle10g iis7站长之家
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE日期相关操作
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • ORACLE数据库常用字段数据类型介绍
  • 网间Oracle的连接,远程连接Oracle服务器??
  • Oracle 12c的九大最新技术特性介绍
  • 请教:.profile中:if [ -d /opt/oracle/db01/app/oracle/product/9.2.0 ]是什么意思?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3