Oracle [DATAPUMP] 在所有数据库模式下执行 expdp/impdp 的方法

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:service@parnassusdata.com

Oracle Database – Enterprise Edition – 版本 10.1.0.2 以后
这个文件的内容可以适用于所有平台。
目的

说明使用 R10.1中的新utility  DATAPUMP ,通过任意数据库模式下的expdp/impdp 恢复数据库的方法。

对策

[详细内容]

顺序的流程与Document 1724083.1(KROWN#71554)中介绍的传统的の exp/imp也是相同的。另外可能需要对执行这个顺序的用户要赋予EXP_FULL_DATABASE role。

 

  1. 执行expdp时,事先制成指定 directory 的目录。(这个目录中会生成转储文件。)

(例) SQL> create directory dpump_dir as ‘/home/oracle/backup/’;

 

  1. 所有数据库模式中,通过expdp 输出数据。

(例) % expdp system/manager full=y dumpfile=fulldb.dmp directory=dpump_dir logfile=full_expdp.log

 

  1. 查看是否正确设定环境变量以及初始化参数文件的设定

 

  1. 使用现有的初始化参数文件,启动数据库 (nomount)

します。

(例) SQL> connect /as sysdba

SQL> startup nomount pfile=”/home/ora10g/app/oracle/product/10.1.0.3/dbs/initora10g.ora”;

 

  1. 通过CREATE DATABASE语句制成数据库。

执行impdp时,制成用户表区域,在与执行expdp 时不同的路径中想配置数据文件时,请预先制成。

(注) expdp原数据库为自动UNDO管理时,这时,追加UNDO表区域,顺序3的阶段中,请设定以下初始参数。

#undo_management=AUTO

#undo_tablespace=UNDOTBS

 

  1. 然后,执行制成数据字典的脚本。

SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql;

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

另外,往使用了Oracle Text、InterMedia、OracleJVM、的数据库中迁移时,需要追加表区域以及执行脚本。

这是因为Document 1737274.1(KROWN:122713) 以及Document 1737273.1(KROWN:122712)中记录的 CTXSYS、DBSNMP、EXFSYS 等schema的对象,通过Data Pump Export 无法执行输出。在迁移起点数据库中制成数据库后, catproc.sql 需要通过另行追加,来执行脚本。

 

  1. 执行impdp时,预先制成指定了参数 directory 的目录。

(例) SQL> create directory dpump_dir as ‘/home/oracle/backup/’;

 

  1. 顺序7中准备的目录中,配置顺序2中获得的转储文件

 

  1. 在所有数据库模式下,通过impdp输入数据。

(例) % impdp system/manager full=y dumpfile=fulldb.dmp directory=dpump_dir table_exists_action=replace logfile=full_impdp.log

指定※table_exists_action=replace。

 

10.完成后,查看表区域以及用户。对象都正常输入。

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号