UDI-00018 EXPDP RELOAD

来源:互联网 发布:java还可以学什么 编辑:程序博客网 时间:2024/06/05 20:29

应同事和BOSS要求 从生产库导全部数据到内部测试库,做模拟环境!

数据库是ORACLE 11G 11.2.0.1.0 

EXP IMP EXPDP IMPDP  对于ME 来说 EASY!  实际上天晓得,也许是分分钟钟的事情,实际上呢?

导出的DMP 非压缩状态是4G ,使用expdp compress=data_only 后是997MB

然后通告2M光纤转移到其他机房中,耗费2个小时。然后从该机房拖到网管电脑上 共享100MB 时速100KB/S。

然后同事通告RTX CC 在下。 耗费20分钟,然后另存F盘,再WINRAR ,然后通过 SSH SECURE FILE TRANSFER 传到测试库上。


[oracle@node2 ~]$ impdp shark/sharkDIRECTORY=dir_dp DUMPFILE=shark.dmp SCHEMAS=shark logfile=imp_shark.log

Import: Release 11.2.0.1.0 - Production on Wed Feb 12 15:38:22 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
UDI-00018: Data Pump client is incompatible with database version 11.2.0.1.0

痛苦的经历开始了!

先怀疑是否带了compress命令导致的, 然后再轮一边,下载1.4G的DMP,还是导不进!

群人说是什么版本不兼容,可生产和测试都是11G 11.2.0.1.0  EXPDP IMPDP都是服务器自带的

又说:show parameter compatible 两边都看一下,是否一致? 结果都一致,不过是11.2.0.0.0.

为此使用EXPDP 带VERSION=11.2.0.0.0 。。。。 不过 我不能那么傻 再导出一下,再说还要麻烦网络同事呢!所以这次导出个小账户下的SCHEMAS 100KB大小的DMP

可还是导不进,老说版本兼容!!

有人说什么 dbms_metadata_util.load_stylesheets、执行下! 结果执行报错!

百思不得其解。 impdp版本跟数据库版本是一致的,为啥它说不一致呢? 纳尼纳尼???

有人建议DMP文件 在源服务器上也就是生产服务器上能否导回去? 这个不好搞!!他继续建议可否导入其他数据库上看看是否有问题?

我想了想下,在测试库把原有上面的小账户导出来再导进去,看下问题再哪里?

结果 expdp shark/shark schemas=lotbb directrory=dir_dp dumpfile=lotbb.dmp

UDI-00018: Data Pump client is incompatible with database version 11.2.0.1.0

看来这个应该是测试库EXPDP IMPDP工具自身问题!

回想下自己可没有对数据库打补钉。不可能造成数据库版本升级。查看测试库的备用数据库,也是无法导进去。

难道自己做的系统模板的问题 redhat linux 64 5.3  少装了些啥?

启动模板数据库 DBCA安装数据库 折腾了1个小时 后EXPDP 结果成功了!

那么问题缩小在EXPDP工具上

GOOGLE 下 关键字 EXPDP 包。 


重载 Datapump 实用工具 EXPDP/IMPDP


  • For Oracle version 11g:

1. Catproc.sql 

SQL >@ $ORACLE_HOME/rdbms/admin/catproc.sql 

2. 如果需要可以执行如下脚本编译无效的对象

SQL >@ $ORACLE_HOME/rdbms/admin/utlrp.sql

 


我是11G 就执行后面两句SQL就好了! 不过这两个SQL可执行太久了大约有1个半小时!!

执行完了后 天灵灵地灵灵 佛主保佑 按回车键!!


其他版本:

 

本文适用于OracleDatabase - Enterprise Edition - Version 10.1.0.2 to 11.2.0.3

在很多不同的场景下都可能需要重载 DATAPUMP实用工具,比如数据库出现hang机、内部错误、数据字典不兼容等与DataPump 初始化阶段有关的所有问题。

在某些情况下,DataPump 实用工具可能会损坏,我们需要重建DataPump 实用工具来解决一些内部损坏。要执行此操作,可以按照下面给出的脚本来进行:

 
注意: 以 sysdba 用户执行如下脚本:

SQL> connect / as sysdba

 对于 Oracle version 10.1 版本:

1. Catdp.sql 负责安装 DataPump 工具的所有组件,包括之前单独安装的 Metadata API。  默认情况下, catproc.sql 调用此脚本。

SQL >@$ORACLE_HOME/rdbms/admin/catdp.sql
2. dbmspump.sql 用于创建 DataPump 所用的 DBMS 过程。
SQL >@$ORACLE_HOME/rdbms/admin/dbmspump.sql

    
对于 Oracle version 10.2 版本:

1. Catdph.sql 用于重新安装 DataPump 类型和视图
SQL >@ $ORACLE_HOME/rdbms/admin/catdph.sql

注意: 如果在安装了 XDB的情况下,则还需要运行 "catmetx.sql" 脚本。

可以使用如下脚本来验证是否已安装 XDB:

SQL> select substr(comp_name,1,30) comp_name,
substr(comp_id,1,10) comp_id,substr(version,1,12) version,status from dba_registry;
 
如果已安装XDB,则会按照如下示例输出
Oracle XML Database           XDB        -version-   VALID
 
2. prvtdtde.plb 用于重新安装 tde_library 包
SQL>@$ORACLE_HOME/rdbms/admin/prvtdtde.plb

3. Catdpb.sql 用于重新安装 DataPump 包
SQL >@$ORACLE_HOME/rdbms/admin/catdpb.sql

 4.Dbmspump.sql 用于重新安装 DBMS DataPump 对象
SQL >@$ORACLE_HOME/rdbms/admin/dbmspump.sql
 
5. 如果需要可以执行如下脚本编译无效的对象
SQL >@ $ORACLE_HOME/rdbms/admin/utlrp.sql

0 0
原创粉丝点击