Oracle10g 数据泵导入命令 impdp 使用总结

1)  导入表

impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp

impdp system/manager DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=scott.dept,scott.emp REMAP_SCHEMA=SCOTT:SYSTEM

第一种方法表示将DEPT和EMP表导入到SCOTT方案中,第二种方法表示将DEPT和EMP表导入SYSTEM用户下. 注意,如果要将表导入到其他方案中,必须指定REMAP_SCHEMA选项.

 


2)  导入方案

impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott

impdp system/manager DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott REMAP_SCHEMA=scott:system

 


3)  导入表空间

impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01

 


4)  导入数据库

impdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y

 


5)  通过DBLINK的方式直接从远程数据库导入数据, 省去生成中间文件的步骤

-- 创建Directory

SQL> connect u_test/ xxx

SQL> !mkdir /u02/backup

SQL> create or replace directory dir_dpdump as '/u02/backup';

-- 创建DBLINK

SQL> create database link ESUITE.NET connect to u_test identified by " xxx " using 'db_esuite';

SQL> select count(*) from tab@ ESUITE.NET ;

-- 利用IMPDP导入数据

$ impdp  ' u_test/" xxx " SCHEMAS=(u_test) directory=dir_dpdump network_link=" ESUITE.NET " logfile=impdp.log

$ impdp  ' u_test/" xxx " TABLES= LOG_RECORD_DETAIL_20090422  directory=dir_dpdump network_link=" ESUITE.NET "

 


6)  实例

SQL> conn /as sysdba

SQL> CREATE OR REPLACE DIRECTORY  dir_dump   AS '/u0 1 /backup/';

SQL> GRANT read,write ON DIRECTORY  dir_dump  TO public;

SQL> grant connect, resource to trial_wending identified by  'xxx' ;

SQL> CREATE TABLESPACE WENDING_LOG01 DATAFILE '/orahome/oradata/WENDING/wending_log01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

SQL> CREATE TABLESPACE WENDING_USER01 DATAFILE '/orahome/oradata/WENDING/wending_user01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

SQL> CREATE TABLESPACE WENDING_INDEX01 DATAFILE '/orahome/oradata/WENDING/wending_index01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

注意,如果导入的用户下的过程或同义词用到了数据库连接,先把数据库链接给建上,否则导入这些对象时会很慢.

$ impdp  u_test / xxx  directory= dir_dump   dumpfile=trial_wending_20081217.dp schemas=trial_wending  (从全备份中提取)

$ impdp cat/passwd directory= dir_dump  dumpfile=cat.dmp schemas=cat logfile=impcatr.log (从自身导出的方案中导入)

 

 

1.1.1  impdp选项

 

I MPDP命 令行选项与EXPDP有很多相同的, 如下.

 

1.  REMAP_DATAFILE

该选项用于将源数据文件名转变为目标数据文件名,在不同平台之间搬移表空间时可能需要该选项.

REMAP_DATAFIEL=source_datafie:target_datafile

 

2.  REMAP _SCHEMA

该选项用于将源方案的所有对象装载到目标方案中.

REMAP_SCHEMA=source_schema:target_schema

 

3.  REMAP _TABLESPACE

将源表空间的所有对象导入到目标表空间中.

REMAP_TABLESPACE=source_tablespace:target_tablespace

 

4.  REUSE _DATAFILES

该选项指定建立表空间时是否覆盖已存在的数据文件.默认为N.

REUSE_DATAFIELS={Y | N}

 

5.  SKIP _UNUSABLE_INDEXES

指定导入是是否跳过不可使用的索引,默认为N.

 

6.  SQLFILE

指定将导入要指定的索引DDL操作写入到SQL脚本中.

SQLFILE=[directory_object:]file_name

impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp SQLFILE=a.sql

 

7.  STREAMS_CONFIGURATION

指定是否导入流元数据(Stream Matadata),默认值为Y.

 

8.  TABLE_EXISTS_ACTION

该选项用于指定当表已经存在时导入作业要执行的操作,默认为SKIP.

TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | REPLACE }

当设置该选项为SKIP时,导入作业会跳过已存在表处理下一个对象; 当设置为APPEND时,会追加数据; 为TRUNCATE时,导入作业会截断表,然后为其追加新数据;  当设置为REPLACE时,导入作业会删除已存在表,重建表并追加数据. 

注意,TRUNCATE选项不适用与簇表和NETWORK_LINK选项.

 

9.  TRANSFORM

该选项用于指定是否修改建立对象的DDL语句.

TRANSFORM=transform_name:value[bject_type]

transform_name 用于指定转换名,其中SEGMENT_ATTRIBUTES用于标识段属性(物理属性/存储属性/表空间/日志等信息), STORAGE用于标识段存储 属性; VALUE用于指定是否包含段属性或段存储属性; object_type用于指定对象类型.

impdp scott/tiger directory=dump dumpfile=tab.dmp transform=segment_attributes:n:table

 

10.  TRANSPORT_DATAFILES

该选项用于指定搬移空间时要被导入到目标数据库的数据文件.

TRANSPORT_DATAFILE=datafile_name

datafile_name用于指定被复制到目标数据库的数据文件.

impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmp TRANSPORT_DATAFILES='/user01/data/tbs1.f'

你可能感兴趣的:(oracle,10g,备份和恢复)