`
helloyesyes
  • 浏览: 1306152 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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

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

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

Oracle expdp/impdp 使用示例

http://blog.csdn.net/tianlesoftware/archive/2011/03/18/6260138.aspx

步骤如下:

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

-------------------------------------------------------------------------------------------------------

Blog http://blog.csdn.net/tianlesoftware

Email: dvd.dba@gmail.com

DBA1 群:62697716(); DBA2 群:62697977() DBA3 群:62697850()

DBA 超级群:63306533(); DBA4 群: 83829929 DBA5群: 142216823

DBA6 群:158654907 聊天 群:40132017 聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

分享到:
评论

相关推荐

    expdp/impdp命令详解

    Oracle的EXPDP(Export Data Pump)和IMPDP(Import Data Pump)是数据库迁移、备份和恢复过程中的关键工具。这两个命令允许用户高效地导出和导入数据库对象和数据,包括表、视图、索引、存储过程等。下面将详细解释...

    Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令

    在 Oracle 10g 及其以上版本中,expdp 和 impdp 命令取代了传统的 exp 和 imp 命令,提供了更多的功能和选项。expdp 命令可以将数据导出到文件中,impdp 命令可以将数据从文件中导入到数据库中。 使用 imp/exp 命令...

    ORACLE expdp-impdp使用

    ### ORACLE expdp-impdp 使用详解 #### EXPDP 命令行选项解析 **1. ATTACH** - **用途**: 该选项用于在客户端会话与已存在的导出任务之间建立联系。 - **语法**: ```plaintext ATTACH=[schema_name.]job_name ...

    expdb/impdp使用方法

    impdp是Oracle数据泵导入工具,负责将expdp导出的文件导入到数据库中。它支持多种导入模式,如替换现有对象、只导入数据而不创建对象等。impdp同样具有并行执行能力,能快速恢复大量数据。在使用impdp时,我们需指定...

    expdp,impdp常用方法.pdf

    Expdp 和 Impdp 是 Oracle Database 10g 引入的数据泵(Data Pump)技术,用于快速迁移数据库元数据(对象定义)和数据到另一个 Oracle 数据库。 - **传统工具**: - Exp 和 Imp 工具在 10g 之前使用广泛,但自 10g ...

    Oracle_10G使用数据泵(EXPDP和IMPDP)

    Oracle 数据泵(Data Pump)是 Oracle 10g 版本引入的一种高效的数据导入导出工具,它通过 EXPDP 和 IMPDP 命令提供了一种快速的方法来迁移数据库对象或数据。与传统的 EXP 和 IMP 工具相比,数据泵提供了更高级的...

    ORACLE数据泵impdp与expdp

    总结,Oracle 数据泵EXPDP 和 IMPDP 提供了一种高效、灵活的方式来处理数据库的逻辑备份、恢复、对象迁移和表空间移动。它们的出现极大地扩展了数据管理的灵活性,特别是对于大型企业级数据库,能够有效地处理大量...

    Centos7.6下oracle impdp导入和expdp导出.docx

    数据泵是 Oracle 提供的一种高效的数据迁移工具,它能够帮助用户快速地将数据库中的数据和元数据转移到其他位置,同时也支持从外部将数据重新加载到数据库中。 #### 二、准备工作 在进行数据泵操作之前,我们需要...

    expdp+impdp_用法详解.pdf

    ### DataPump (expdp 和 impdp) 用法详解 #### 一、DataPump 概述 Oracle Data Pump 是 Oracle 数据库提供的一种高效工具,用于数据的导出和导入操作。它通过使用专用 API 来替代传统的 SQL 命令实现数据的快速...

    Oracle数据导出导入简介

    - **EXPDP/IMPDP (Oracle 10g及以后版本)**: 这是Oracle 10g引入的新工具,相比EXP/IMP提供了更多的功能和更高的性能,特别是在处理大量数据时更为高效。 - **导出命令示例**: - 导出整个数据库: ```sql EXPDP ...

    Oracle DMP备份文件导入(impdp)导出(expdp)方法

    expdp sys/oracle directory=data_pump_dir dumpfile=mydata.dmp logfile=expdp_mydata.log ``` ### 二、导入(impdp) 1. **命令格式**: ``` impdp [username/password]@[database_connection] directory=dir_...

    oracle数据库备份恢复

    随着Oracle版本的发展,Oracle引入了更加强大的`EXPDP/IMPDP`工具,这些工具基于直接路径I/O技术,能够提供更高的性能和更多的特性。 **3.1 EXPDP(Export Data Pump)指令** - **USERID**:这是命令行中的第一个...

    Oracle数据库文件的导入导出

    SQL*Loader是Oracle提供的一种快速数据加载工具,可以直接从外部文件批量加载数据到数据库表中。用户需要创建一个控制文件,指定数据文件、字段分隔符、转换规则等信息。使用SQL*Loader时,可以执行如下命令: ```...

    Oracle11g和oracle10g之间数据的导入导出.

    - 从Oracle低版本Export的数据可以Import到Oracle高版本中,但仅限于Oracle的相邻版本,例如从Oracle 7到Oracle 8。 - 对于两个不相邻版本间的转换,如从Oracle 6到Oracle 8,则应先将数据输入到中间版本(Oracle ...

    Oracle expdp

    3. **导入(Import)**:对应的工具是impdp,用于将expdp导出的.dmp文件导入到数据库中。 使用expdp时,你需要了解以下几个关键参数: - **DIRECTORY**:指定Data Pump文件存储的位置,这个位置必须在Oracle服务器...

Global site tag (gtag.js) - Google Analytics