最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracleexpdp/impdp从高版本到低版本示例

来源:懂视网 责编:小采 时间:2020-11-09 11:55:14
文档

Oracleexpdp/impdp从高版本到低版本示例

Oracleexpdp/impdp从高版本到低版本示例:公司的一个测试库原来的版本是Oracle 11gR2的。 有些语法10g的有些出入,老大说把测试库重建一下,用10g的版本。虽说可以停机,数 公司的一个测试库原来的版本是Oracle 11gR2的。 有些语法10g的有些出入,老大说把测试库重建一下,用10g的版本。 虽说可
推荐度:
导读Oracleexpdp/impdp从高版本到低版本示例:公司的一个测试库原来的版本是Oracle 11gR2的。 有些语法10g的有些出入,老大说把测试库重建一下,用10g的版本。虽说可以停机,数 公司的一个测试库原来的版本是Oracle 11gR2的。 有些语法10g的有些出入,老大说把测试库重建一下,用10g的版本。 虽说可

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

公司的一个测试库原来的版本是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 在最后统计信息那块报错, 所以查看了一下统计信息,,已经导入了。 让开发的同事测试了一下,没有问题。

linux

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

Oracleexpdp/impdp从高版本到低版本示例

Oracleexpdp/impdp从高版本到低版本示例:公司的一个测试库原来的版本是Oracle 11gR2的。 有些语法10g的有些出入,老大说把测试库重建一下,用10g的版本。虽说可以停机,数 公司的一个测试库原来的版本是Oracle 11gR2的。 有些语法10g的有些出入,老大说把测试库重建一下,用10g的版本。 虽说可
推荐度:
标签: 版本 示例 实例
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top