ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle10g 数据泵导入命令 impdp 使用总结

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

原创 Linux操作系统 作者:spider0912 时间:2011-08-10 22:56:27 0 删除 编辑

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


IMPDP命令行选项与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'


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26043157/viewspace-704633/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Oracle 归档日志
请登录后发表评论 登录
全部评论

注册时间:2011-07-10

  • 博文量
    19
  • 访问量
    42662