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 (从自身导出的方案中导入)
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'