Oracle数据泵

来源:互联网 发布:梓潼淘宝运营招聘 编辑:程序博客网 时间:2024/05/01 09:11

(一)创建删除目录

    1、权限
    --创建目录权限 GRANT CREATE ANY DIRECTORY TO username;
    --删除目录权限 GRANT DROP ANY DIRECTORY TO username;
    --读写目录权限 GRANT READ,WRITE ON DIRECTORY directory_name TO username;
    2、创建目录
    CREATE DIRECTORY directory_name AS '文件目录路径'
    3、删除目录
    DROP DIRECTORY directory_name
    4、数据字典
    DBA_Directories

(二) ExpDP 和 ImpDP

    1、模式
    |-全库模式   Full=y
    |-表模式     Tables
    |-用户模式   SChemas
    |-表空间模式 Tablespaces
    注:四种模式无斥
    job_name=任务主表名称
    content=all(数据和结构)|data_only(数据)|metadata_only(结构)

    include:包含特定的对象类型

    exclude:排除特定的对象类型 

    query:用于导出表的子集

       注:在双引号(")前面,需要加上转译字符(\)

    2、ExpDP

       1、表模式
       C:\Documents and Settings\Administrator>expdp user1/user1@orcl1 directory=user1dir dumpfile=user1a.dmp logfile=user1.log tables=(t1,t2)
       或
       C:\Documents and Settings\Administrator>expdp user1/user1@orcl1 directory=user1dir dumpfile=user1a.dmp logfile=user1.log tables=t1,t2

       或
       C:\>expdp user1/user1@orcl1 directory=mydir dumpfile=user1.dmp logfile=user1.log tables=orcl1content=all

       
       C:\>expdp user1/user1@orcl1 directory=mydir dumpfile=user1_metadata_only.dmp logfile=user1.log tables=orcl1
content=metadata_only

      

       C:\>expdp user1/user1@orcl1 directory=mydir dumpfile=user1_data_only.dmp logfile=user1.log tables=orcl1content=data_only

       

       C:\>expdp user1/user1@orcl1 directory=mydir dumpfile=user1.dmp logfile=uer1.dmp tables=orcl1exclude=index,constraint  不导出索引、约束

      

       SQL> select * from tab;
       TNAME                          TABTYPE  CLUSTERID
       ------------------------------ ------- ----------
      TESTA                          TABLE
      ORCL3                          TABLE
      ORCL2                          TABLE
      ORCL1                          TABLE

      C:\>expdp user1/user1@orcl1 directory=mydir dumpfile=user1.dmp logfile=uer1.dmp exclude=table:\"in\('ORCL2','ORCL3')\",index,constraint

      Export: Release 10.2.0.1.0 - Production on 星期四, 05 3月, 2015 23:33:45

      Copyright (c) 2003, 2005, Oracle.  All rights reserved.

      连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
      With the Partitioning, OLAP and Data Mining options
      启动 "USER1"."SYS_EXPORT_SCHEMA_01":  user1/********@orcl1 directory=mydir dumpf ile=user1.dmp  logfile=uer1.dmp exclude=table:"in\('ORCL2','ORCL3')",index,constraint
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 128 KB
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 "USER1"."ORCL1"                             5.234 KB       3 行
. . 导出了 "USER1"."TESTA"                             5.234 KB       3 行
已成功加载/卸载了主表 "USER1"."SYS_EXPORT_SCHEMA_01"
******************************************************************************
USER1.SYS_EXPORT_SCHEMA_01 的转储文件集为:
  D:\MYDIR\USER1.DMP
作业 "USER1"."SYS_EXPORT_SCHEMA_01" 已于 23:33:54 成功完成

       或

C:\>expdp user1/user1@orcl1 directory=mydir dumpfile=user1.dmp logfile=uer1.dmp
 exclude=table:\"in\('TESTA')\",index:\"in\('UK_NAME','ORCL3_UK_NAME')\"

Export: Release 10.2.0.1.0 - Production on 星期四, 05 3月, 2015 23:44:37

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "USER1"."SYS_EXPORT_SCHEMA_01":  user1/********@orcl1 directory=mydir dumpf
ile=user1.dmp logfile=uer1.dmp exclude=table:"in\('TESTA')",index:"in\('UK_NAME'
,'ORCL3_UK_NAME')"
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 192 KB
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 "USER1"."ORCL1"                             5.234 KB       3 行
. . 导出了 "USER1"."ORCL2"                             5.234 KB       3 行
. . 导出了 "USER1"."ORCL3"                             5.234 KB       3 行
已成功加载/卸载了主表 "USER1"."SYS_EXPORT_SCHEMA_01"
******************************************************************************
USER1.SYS_EXPORT_SCHEMA_01 的转储文件集为:
  D:\MYDIR\USER1.DMP
作业 "USER1"."SYS_EXPORT_SCHEMA_01" 已于 23:44:46 成功完成

      或

               C:\>expdp user1/user1@orcl1 directory=mydir dumpfile=user1.dmp logfile=user1.log

 include=table:\"in\('ORCL1','ORCL2','ORCL3')\",constraint:\"in\('ORCL1_PK_ID')\",index:\"in\('ORCL2_UK_NAME','ORCL3_UK_NAME')\"



Export: Release 10.2.0.1.0 - Production on 星期五, 06 3月, 2015 23:24:48



Copyright (c) 2003, 2005, Oracle.  All rights reserved.



连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

启动 "USER1"."SYS_EXPORT_SCHEMA_02":  user1/********@orcl1 directory=mydir dump

ile=user1.dmp logfile=user1.log include=table:"in\('ORCL1','ORCL2','ORCL3')",co

straint:"in\('ORCL1_PK_ID')",index:"in\('ORCL2_UK_NAME','ORCL3_UK_NAME')"

正在使用 BLOCKS 方法进行估计...

处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA

使用 BLOCKS 方法的总估计: 192 KB

处理对象类型 SCHEMA_EXPORT/TABLE/TABLE

处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX

处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT

处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

. . 导出了 "USER1"."ORCL1"                             5.234 KB       3 行

. . 导出了 "USER1"."ORCL2"                             5.234 KB       3 行

. . 导出了 "USER1"."ORCL3"                             5.234 KB       3 行

已成功加载/卸载了主表 "USER1"."SYS_EXPORT_SCHEMA_02"

******************************************************************************

USER1.SYS_EXPORT_SCHEMA_02 的转储文件集为:

  D:\MYDIR\USER1.DMP

作业 "USER1"."SYS_EXPORT_SCHEMA_02" 已于 23:25:06 成功完成

      或

    C:\>expdp user1/user1@orcl1 directory=mydir dumpfile=user1.dmp logfile=user1.log
    include=table:\"in ('ORCL1','ORCL2','ORCL3')\",constraint:\"in ('ORCL1_PK_ID')\",index:\"in ('ORCL2_UK_NAME','ORCL3_UK_NAME')\"


    Export: Release 10.2.0.1.0 - Production on 星期五, 06 3月, 2015 23:48:19


   Copyright (c) 2003, 2005, Oracle.  All rights reserved.


   连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
   With the Partitioning, OLAP and Data Mining options
   启动 "USER1"."SYS_EXPORT_SCHEMA_02":  user1/********@orcl1 directory=mydir dumpfile=user1.dmp logfile=user1.log        include=table:"in('ORCL1','ORCL2','ORCL3')",con
   straint:"in ('ORCL1_PK_ID')",index:"in ('ORCL2_UK_NAME','ORCL3_UK_NAME')"
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 192 KB
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 "USER1"."ORCL1"                             5.234 KB       3 行
. . 导出了 "USER1"."ORCL2"                             5.234 KB       3 行
. . 导出了 "USER1"."ORCL3"                             5.234 KB       3 行
已成功加载/卸载了主表 "USER1"."SYS_EXPORT_SCHEMA_02"
******************************************************************************
USER1.SYS_EXPORT_SCHEMA_02 的转储文件集为:
  D:\MYDIR\USER1.DMP
作业 "USER1"."SYS_EXPORT_SCHEMA_02" 已于 23:48:29 成功完成
    或
C:\>expdp user1/user1@orcl1 directory=mydir dumpfile=user1.dmp logfile=user1.log
 include=table:\"in\('ORCL1','ORCL2','ORCL3')\",     query=orcl1:\"where id<=2\",orcl
2:\"where id<=1 \",orcl3:\"where id<=3 and name='张三'\"



Export: Release 10.2.0.1.0 - Production on 星期五, 06 3月, 2015 23:53:27


Copyright (c) 2003, 2005, Oracle.  All rights reserved.


连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "USER1"."SYS_EXPORT_SCHEMA_02":  user1/********@orcl1 directory=mydir dumpf
ile=user1.dmp logfile=user1.log include=table:"in\('ORCL1','ORCL2','ORCL3')",que
ry=orcl1:"where id<=2",orcl2:"where id<=1 ",orcl3:"where id<=3 and name='张三'"


正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 192 KB
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 "USER1"."ORCL1"                             5.226 KB       2 行
. . 导出了 "USER1"."ORCL2"                             5.218 KB       1 行
. . 导出了 "USER1"."ORCL3"                             5.210 KB       0 行
已成功加载/卸载了主表 "USER1"."SYS_EXPORT_SCHEMA_02"
******************************************************************************
USER1.SYS_EXPORT_SCHEMA_02 的转储文件集为:
  D:\MYDIR\USER1.DMP
作业 "USER1"."SYS_EXPORT_SCHEMA_02" 已于 23:53:37 成功完成



       注:非DBA不能导出其他用户的表
       2、用户模式
       C:\Documents and Settings\Administrator>expdp system/system@orcl1 directory=user1dir dumpfile=user1a.dmp logfile=user1a.log schemas=user2,user1
       或
       C:\Documents and Settings\Administrator>expdp system/system@orcl1 directory=user1dir dumpfile=user1a.dmp logfile=user1a.log schemas=(user2,user1)
       注:非DBA不能导出其他用户
       3、全库模式
       C:\Documents and Settings\Administrator>expdp system/system@orcl1 directory=user1dir dumpfile=user1a.dmp logfile=user1a.log full=y
       或
       C:\>expdp system/system@orcl1 directory=user1dir dumpfile=user1a.dmp logfile=user1a.log full=y job_name=system_job_01
      
       注:非DBA不能进行全库导出
       4、表空间模式

3、ImpDP

     1、Remap_Schema  =fromuser:touser,fromuser:touser

     C:\>impdp system/system@orcl2 directory=mydir dumpfile=system.dmp remap_schema=user1:user2,user2:user1


Import: Release 10.2.0.1.0 - Production on 星期六, 07 3月, 2015 0:13:53


Copyright (c) 2003, 2005, Oracle.  All rights reserved.


连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_FULL_01"
启动 "SYSTEM"."SYS_IMPORT_FULL_01":  system/********@orcl2 directory=mydir dumpf
ile=system.dmp remap_schema=user1:user2,user2:user1
处理对象类型 SCHEMA_EXPORT/USER
ORA-31684: 对象类型 USER:"USER1" 已存在
ORA-31684: 对象类型 USER:"USER1" 已存在
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 导入了 "USER1"."USER1"                                 0 KB       0 行
. . 导入了 "USER1"."USER2"                                 0 KB       0 行
作业 "SYSTEM"."SYS_IMPORT_FULL_01" 已经完成, 但是有 2 个错误 (于 00:13:55 完成)

2、Remap_Tablespace=fromtablespace:totablespace,fromtablespace:totablespace

C:\>impdp system/system@orcl2 directory=mydir dumpfile=system.dmp remap_tablespace=cs1:cs2,cs2:cs1


Import: Release 10.2.0.1.0 - Production on 星期六, 07 3月, 2015 0:31:42


Copyright (c) 2003, 2005, Oracle.  All rights reserved.


连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_FULL_01"
启动 "SYSTEM"."SYS_IMPORT_FULL_01":  system/********@orcl2 directory=mydir dumpf
ile=system.dmp remap_tablespace=cs1:cs2,cs2:cs1
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
. . 导入了 "SYSTEM"."T1"                                   0 KB       0 行
. . 导入了 "SYSTEM"."T2"                                   0 KB       0 行
作业 "SYSTEM"."SYS_IMPORT_FULL_01" 已于 00:31:43 成功完成

      
 4、attch  连接到现有作业

C:\>expdp system/his@local_orcl attach=systemjob1


Export: Release 10.2.0.1.0 - Production on 星期一, 06 7月, 2015 0:56:51


Copyright (c) 2003, 2005, Oracle.  All rights reserved.


连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


作业: SYSTEMJOB1
  所有者: SYSTEM
  操作: EXPORT
  创建者权限: TRUE
  GUID: 62AE5CE7921E444FAF652FBA20D2AAA1
  起始时间: 星期一, 06 7月, 2015 0:56:49
  模式: SCHEMA
  实例: orcl
  最大并行度: 1
  EXPORT 个作业参数:
  参数名      参数值:
     CLIENT_COMMAND        system/********@local_orcl directory =dir dumpfile=a.
dmp job_name=systemjob1
  状态: EXECUTING
  处理的字节: 0
  当前并行度: 1
  作业错误计数: 0
  转储文件: F:\DIR\A.DMP
    写入的字节: 4,096


Worker 1 状态:
  进程名: DW00
  状态: EXECUTING    

5、status 显示当前作业状态

Export> status


作业: SYSTEMJOB1
  操作: EXPORT
  模式: SCHEMA
  状态: EXECUTING
  处理的字节: 0
  当前并行度: 1
  作业错误计数: 0
  转储文件: F:\DIR\A.DMP
    写入的字节: 4,096


Worker 1 状态:
  进程名: DW00
  状态: EXECUTING
  对象方案: SYSTEM
  对象类型: SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
  完成的对象数: 1
  Worker 并行度: 1

6、stop_job 暂停当前作业
Export> stop_job
是否确实要停止此作业 ([Y]/N): y
是否确实要停止此作业 ([Y]/N):

导出作业显示:作业 "SYSTEM"."SYSTEMJOB1" 因用户请求于 00:57:29 停止

7、start_job 启动/恢复当前作业 ,不在界面显示导出信息



Export> start_job


Export>

8、continue_job  在界面显示导出信息 ( 空闲时会重新启动当前作业 )

Export> continue_client 
作业 SYSTEMJOB1 已在 星期一, 06 7月, 2015 1:03  重新打开
重新启动 "SYSTEM"."SYSTEMJOB1":  system/********@local_orcl directory =dir dumpf
ile=a.dmp job_name=systemjob1
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SP
EC
处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/VIEW/VIEW
处理对象类型 SCHEMA_EXPORT/VIEW/GRANT/OWNER_GRANT/OBJECT_GRANT
处理对象类型 SCHEMA_EXPORT/VIEW/COMMENT
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER

9、kill_job  停止当前作业并删除导出的数据文件

Export> kill_job
是否确实要停止此作业 ([Y]/N): y
是否确实要停止此作业 ([Y]/N):


10、Select * From dba_datapump_jobs  视图

11、encryption_password 加密

导出:

C:\Users\Administrator>impdp scott/tiger@local_orcl directory=dir dumpfile=a.dmp
 encryption_password='a123' tables=emp,salgrade,bonus table_exists_action=trunca
te


Import: Release 10.2.0.1.0 - Production on 星期一, 06 7月, 2015 1:30:41


Copyright (c) 2003, 2005, Oracle.  All rights reserved.


连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SCOTT"."SYS_IMPORT_TABLE_01"
启动 "SCOTT"."SYS_IMPORT_TABLE_01":  scott/********@local_orcl directory=dir dum
pfile=a.dmp encryption_password='*********' tables=emp,salgrade,bonus table_exis
ts_action=truncat
处理对象类型 TABLE_EXPORT/TABLE/TABLE
ORA-39153: 表 "SCOTT"."EMP" 已存在且已截断。由于截断了 table_exists_action, 将加
载数据, 但是将跳过所有相关元数据。
ORA-39153: 表 "SCOTT"."BONUS" 已存在且已截断。由于截断了 table_exists_action, 将
加载数据, 但是将跳过所有相关元数据。
ORA-39153: 表 "SCOTT"."SALGRADE" 已存在且已截断。由于截断了 table_exists_action,
 将加载数据, 但是将跳过所有相关元数据。
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
. . 导入了 "SCOTT"."SALGRADE"                          5.875 KB       5 行
. . 导入了 "SCOTT"."BONUS"                                 0 KB       0 行
. . 导入了 "SCOTT"."EMP"                                   0 KB       0 行
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业 "SCOTT"."SYS_IMPORT_TABLE_01" 已经完成, 但是有 3 个错误 (于 01:30:51 完成)

导入:

C:\Users\Administrator>impdp scott/tiger@local_orcl directory=dir dumpfile=a.dmp
 encryption_password='a123' tables=salgrade table_exists_action=truncate


Import: Release 10.2.0.1.0 - Production on 星期一, 06 7月, 2015 1:32:17


Copyright (c) 2003, 2005, Oracle.  All rights reserved.


连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SCOTT"."SYS_IMPORT_TABLE_01"
启动 "SCOTT"."SYS_IMPORT_TABLE_01":  scott/********@local_orcl directory=dir dum
pfile=a.dmp encryption_password='*********' tables=salgrade table_exists_action=
truncat
处理对象类型 TABLE_EXPORT/TABLE/TABLE
ORA-39153: 表 "SCOTT"."SALGRADE" 已存在且已截断。由于截断了 table_exists_action,
 将加载数据, 但是将跳过所有相关元数据。
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
. . 导入了 "SCOTT"."SALGRADE"                          5.875 KB       5 行
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业 "SCOTT"."SYS_IMPORT_TABLE_01" 已经完成, 但是有 1 个错误 (于 01:32:21 完成)


0 0