• oracle数据泵的学习


    逻辑备份工具----数据泵
    使用专用的API导入导出数据,速度快
    EXPDP只能用于服务器端,而不能用于客户端

    一,导出,导入表
    C:/Users/solo>sqlplus  "/ as sysdba"
    SQL> create directory dump_dir as 'c:/bak/dump';
    目录已创建。
    SQL> grant read,write on directory dump_dir to scott;
    授权成功。

    察看创建的目录:
    SQL> SELECT * FROM dba_directories;

    C:/Users/solo>expdp scott/scott directory=dump_dir dumpfile=dumptab.dmp logfile=scott.log tables=dept,emp
    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
    With the Partitioning, OLAP and Data Mining options
    ORA-39002: 操作无效
    ORA-39070: 无法打开日志文件。
    ORA-29283: 文件操作无效
    ORA-06512: 在 "SYS.UTL_FILE", line 475
    ORA-29283: 文件操作无效

    分析:说明我的c:/life盘里没有一个叫dump的文件夹,所以我必须首先在c:/life盘建一个文件夹叫dump;

    C:/Users/solo>expdp scott/tiger directory=dump_dir dumpfile=dumptab.dmp logfile=scott.log tables=det,emp

    Export: Release 10.2.0.3.0 - Production on 星期一, 28 7月, 2008 11:17:18

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

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
    With the Partitioning, OLAP and Data Mining options
    启动 "SCOTT"."SYS_EXPORT_TABLE_01":  scott/******** directory=dump_dir dumpfile=dumptab.dmp logfile
    scott.log tables=dept,emp
    正在使用 BLOCKS 方法进行估计...
    处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
    使用 BLOCKS 方法的总估计: 128 KB
    处理对象类型 TABLE_EXPORT/TABLE/TABLE
    处理对象类型 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"."DEPT"                              5.656 KB       4 行
    . . 导出了 "SCOTT"."EMP"                               7.820 KB      14 行
    已成功加载/卸载了主表 "SCOTT"."SYS_EXPORT_TABLE_01"
    ******************************************************************************
    SCOTT.SYS_EXPORT_TABLE_01 的转储文件集为:
      C:/LIFE/DUMP/DUMPTAB.DMP
    作业 "SCOTT"."SYS_EXPORT_TABLE_01" 已于 11:17:38 成功完成

    SQL> drop table scott. emp;

    表已删除。
    SQL> select * from scott.emp;
    select * from scott.emp
                        *
    第 1 行出现错误:
    ORA-00942: 表或视图不存在
    C:/Users/solo>impdp  scott/scott directory=dump_dir dumpfile=dumptab.dmp tables=emp

    Import: Release 10.2.0.3.0 - Production on 星期一, 28 7月, 2008 11:23:54

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

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
    With the Partitioning, OLAP and Data Mining options
    已成功加载/卸载了主表 "SCOTT"."SYS_IMPORT_TABLE_01"
    启动 "SCOTT"."SYS_IMPORT_TABLE_01":  scott/******** directory=dump_dir dumpfile=dumptab.dmp tables=e
    mp
    处理对象类型 TABLE_EXPORT/TABLE/TABLE
    处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
    . . 导入了 "SCOTT"."EMP"                               7.820 KB      14 行
    处理对象类型 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" 已于 11:24:00 成功完成

    注意:IMPDP时候,如果表在数据库里存在,那么需要加上参数table_exists_action=replace  (impdp help=y)
    在9i中,imp时候,如果表在数据库里存在,那么需要加上参数ignore=y

    SQL> desc scott.emp;
     名称                                      是否为空? 类型
     ----------------------------------------- -------- --------------------
     EMPNO                                     NOT NULL NUMBER(4)
     ENAME                                              VARCHAR2(10)
     JOB                                                VARCHAR2(9)
     MGR                                                NUMBER(4)
     HIREDATE                                           DATE
     SAL                                                NUMBER(7,2)
     COMM                                               NUMBER(7,2)
     DEPTNO                                             NUMBER(2)

    二,导出方案
    C:/Users/solo>expdp scott/scott directory=dump_dir dumpfile=dumpscott.dmp schemas=scott

    Export: Release 10.2.0.3.0 - Production on 星期一, 28 7月, 2008 12:32:03

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

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
    With the Partitioning, OLAP and Data Mining options
    启动 "SCOTT"."SYS_EXPORT_SCHEMA_01":  scott/******** directory=dump_dir dumpfile=dumpscott.dmp schem
    as=scott
    正在使用 BLOCKS 方法进行估计...
    处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
    使用 BLOCKS 方法的总估计: 256 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/CONSTRAINT/REF_CONSTRAINT
    处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    . . 导出了 "SCOTT"."DEPT"                              5.656 KB       4 行
    . . 导出了 "SCOTT"."EMP"                               7.820 KB      14 行
    . . 导出了 "SCOTT"."SALGRADE"                          5.656 KB      10 行
    . . 导出了 "SCOTT"."SOLO_LI"                            5.75 KB       8 行
    . . 导出了 "SCOTT"."BONUS"                                 0 KB       0 行
    已成功加载/卸载了主表 "SCOTT"."SYS_EXPORT_SCHEMA_01"
    ******************************************************************************
    SCOTT.SYS_EXPORT_SCHEMA_01 的转储文件集为:
      C:/LIFE/DUMP/DUMPSCOTT.DMP
    作业 "SCOTT"."SYS_EXPORT_SCHEMA_01" 已于 12:32:26 成功完成

    三,导出表空间
    C:/Users/solo>expdp scott/scott tablespaces=users directory=dump_dir dumpfile=users.dmp

    Export: Release 10.2.0.3.0 - Production on 星期一, 28 7月, 2008 12:41:25

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

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
    With the Partitioning, OLAP and Data Mining options
    启动 "SCOTT"."SYS_EXPORT_TABLESPACE_01":  scott/******** tablespaces=users directory=dump_dir dumpfi
    le=users.dmp
    正在使用 BLOCKS 方法进行估计...
    处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
    使用 BLOCKS 方法的总估计: 192 KB
    处理对象类型 TABLE_EXPORT/TABLE/TABLE
    处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
    处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
    处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
    处理对象类型 TABLE_EXPORT/TABLE/COMMENT
    处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    . . 导出了 "SCOTT"."DEPT"                              5.656 KB       4 行
    . . 导出了 "SCOTT"."SALGRADE"                          5.656 KB      10 行
    . . 导出了 "SCOTT"."SOLO_LI"                            5.75 KB       8 行
    . . 导出了 "SCOTT"."BONUS"                                 0 KB       0 行
    已成功加载/卸载了主表 "SCOTT"."SYS_EXPORT_TABLESPACE_01"
    ******************************************************************************
    SCOTT.SYS_EXPORT_TABLESPACE_01 的转储文件集为:
      C:/LIFE/DUMP/USERS.DMP


    四,导出整个数据库
    C:/Users/solo>expdp system/jiaohua directory=dump_dir dumpfile=full.dmp full=y

    . . 导出了 "SYSTEM"."REPCAT$_TEMPLATE_OBJECTS"             0 KB       0 行
    . . 导出了 "SYSTEM"."REPCAT$_TEMPLATE_PARMS"               0 KB       0 行
    . . 导出了 "SYSTEM"."REPCAT$_TEMPLATE_REFGROUPS"           0 KB       0 行
    . . 导出了 "SYSTEM"."REPCAT$_TEMPLATE_SITES"               0 KB       0 行
    . . 导出了 "SYSTEM"."REPCAT$_TEMPLATE_TARGETS"             0 KB       0 行
    . . 导出了 "SYSTEM"."REPCAT$_USER_AUTHORIZATIONS"          0 KB       0 行
    . . 导出了 "SYSTEM"."REPCAT$_USER_PARM_VALUES"             0 KB       0 行
    . . 导出了 "SYSTEM"."SQLPLUS_PRODUCT_PROFILE"              0 KB       0 行
    . . 导出了 "TSMSYS"."SRS$"                                 0 KB       0 行
    已成功加载/卸载了主表 "SYSTEM"."SYS_EXPORT_FULL_01"
    ******************************************************************************
    SYSTEM.SYS_EXPORT_FULL_01 的转储文件集为:
      C:/LIFE/DUMP/FULL.DMP
    作业 "SYSTEM"."SYS_EXPORT_FULL_01" 已于 12:46:40 成功完成

    注意:普通用户做全库导出,需要有这个权限:
    SQL> grant exp_full_database to scott;


    五,并行导出
    设置PARALLEL可以并行导出,导出时每个线程创建一个单独的导出文件,因此选项dumpfile应该拥有和并行线程一样多的文件
    -----拥有一个通配符%U ,他指定了新创建的文件名格式为full23_xx.dmp ,其中xx从01开始,按02,03一次增加

    C:/Users/solo>expdp system/jiaohua full=y directory=dump_dir dumpfile=full23_%u.dmp parallel=4


    处理对象类型 DATABASE_EXPORT/SCHEMA/TYPE/TYPE_BODY
    处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX
    处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS
    处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS
    处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/POST_TABLE_ACTION
    处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TRIGGER
    处理对象类型 DATABASE_EXPORT/SCHEMA/VIEW/TRIGGER
    处理对象类型 DATABASE_EXPORT/SCHEMA/JOB
    处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/POST_INSTANCE/PROCACT_INSTANCE
    处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/POST_INSTANCE/PROCDEPOBJ
    处理对象类型 DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCOBJ
    处理对象类型 DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCACT_SCHEMA
    已成功加载/卸载了主表 "SYSTEM"."SYS_EXPORT_FULL_01"
    ******************************************************************************
    SYSTEM.SYS_EXPORT_FULL_01 的转储文件集为:
      C:/LIFE/DUMP/FULL23_01.DMP
      C:/LIFE/DUMP/FULL23_02.DMP
      C:/LIFE/DUMP/FULL23_03.DMP
      C:/LIFE/DUMP/FULL23_04.DMP
    作业 "SYSTEM"."SYS_EXPORT_FULL_01" 已于 12:52:39 成功完成


    关于这个选项,有4个参数,分别为 skip、append、truncate、replace
    skip 是如果已存在表,则跳过并处理下一个对象;
    append是保留原有数据,增加增量数据;
    truncate是截断表,然后为其增加新数据;
    replace是删除已存在表,重新建表并追加数据。
     


    eg:
    1.将表从e用户导入到system用户下:

    expdp  e/e directory=dump_e dumpfile=a1.dmp tables=t


    方法一:
    impdp  system/oracle tables=scott.emp directory=dump_dir dumpfile=e.dmp remap_schema=scott:system

    方法二:sql>grant imp_full_database to e;

    impdp e/e  directory=dump_e dumpfile=a1.dmp tables=t  remap_schema=e:system table_exists_action=replace

    2.将e方案下的内容导入到system用户下:

    expdp e/e  directory=dump_e dumpfile=a2.dmp  schemas=e

    impdp e/e  directory=dump_e dumpfile=a2.dmp  remap_schema=e:system  table_exists_action=replace


    3.并行导入:
    expdp e/e directory=dump_e dumpfile=a_%u.dmp schemas=e parallel=3

    impdp e/e directory=dump_e dumpfile=a_%u.dmp schemas=e parallel=3 table_exists_action=replace


    查询目录:dba_directories

    datapump是服务器端的JOB,所以可以在执行datapump以后,通过EXIT_CLIENT退出客户端。通过DBA_DATAPUMP_JOBS视图可以检查datapump作业的情况,也可以利用ATTACH重新连接上还在进行的JOB。每个datapump可以通过JOB_NAME参数指定名称,如果不指定,那么会有默认的名称,比如上贴中的例子,名称就是SYS_EXPORT_TABLE_01,通过V$SESSION_LONGOPS也可以查看长时间运行的datapump job的具体内容。

    SQL> select * from dba_datapump_jobs;

    OWNER_NAME                     JOB_NAME
    ------------------------------ ------------------------------
    OPERATION
    ------------------------------------------------------------
    JOB_MODE
    ------------------------------------------------------------
    STATE                              DEGREE ATTACHED_SESSIONS DATAPU
    ------------------------------ ---------- ----------------- ------
    SCOTT                          SYS_IMPORT_SCHEMA_01
    IMPORT
    SCHEMA
    EXECUTING                               3                 1


    前台进程的会话 SID:
    select sid, serial#
    from v$session s, dba_datapump_sessions d
    where s.saddr = d.saddr;

    这条指令显示前台进程的会话。更多有用的信息可以从警报日志中获得:
    kupprdp: worker process DW01 started with worker id=1, pid=26, OS id=2900
             to execute - SYS.KUPW$WORKER.MAIN('SYS_IMPORT_SCHEMA_01', 'SCOTT');
    kupprdp: worker process DW02 started with worker id=2, pid=27, OS id=3596
             to execute - SYS.KUPW$WORKER.MAIN('SYS_IMPORT_SCHEMA_01', 'SCOTT');
    Sat Apr 03 12:02:47 2010
    The value (30) of MAXTRANS parameter ignored.
    kupprdp: master process DM00 started with pid=22, OS id=732
             to execute - SYS.KUPM$MCP.MAIN('SYS_EXPORT_SCHEMA_01', 'SCOTT', 'KUPC$C_1_20100403120247', 'KUPC$S_1_20100403120247', 0);

    它显示为数据泵操作启动的会话的 PID。您可以用以下查询找到实际的 SID:
    select sid, program from v$session where paddr in
    (select addr from v$process where pid in (22,23));

    可以大致的监控到expdp, impdp备份进行的程度
    SELECT SID, SERIAL#, CONTEXT, SOFAR, TOTALWORK,
    ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE"
    FROM V$SESSION_LONGOPS
    WHERE OPNAME LIKE '%EXP%'
    AND TOTALWORK != 0
    AND SOFAR <> TOTALWORK;

    数据泵expdp参数:


    1.content: 该选项用于指定要导出的内容.默认值为ALL
    CONTENT={ALL | DATA_ONLY | METADATA_ONLY}

    expdp scott/tiger  schemas=scott content=all
    expdp scott/tiger tables=emp content=data_only directory=dump_dir dumpfile=a3.dmp(只导出对象数据)
    expdp scott/tiger tables=emp content=metadata_only directory=dump_dir dumpfile=a4.dmp(只有定义信息)


    2.ESTIMATE: 指定估算被导出表所占用磁盘空间分方法.默认值是BLOCKS

    expdp scott/tiger tables=emp  directory=dump_dir dumpfile=a5.dmp estimate=statistics


    .  预计为 "SCOTT"."EMP"                               8.140 KB
    使用 STATISTICS 方法的总估计: 8.140 KB

    expdp scott/tiger tables=emp  directory=dump_dir dumpfile=a6.dmp estimate=blocks


    .  预计为 "SCOTT"."EMP"                                  64 KB

    3.EXTIMATE_ONLY:指定是否只估算导出作业所占用的磁盘空间,默认值为N

    expdp scott/tiger  schemas=scott estimate_only=y  设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作.

    Export: Release 10.2.0.1.0 - Production on 星期六, 03 4月, 2010 14:48:39

    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
    启动 "SCOTT"."SYS_EXPORT_SCHEMA_02":  scott/******** schemas=scott estimate_only
    =y
    正在使用 BLOCKS 方法进行估计...
    处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
    .  预计为 "SCOTT"."SYS_EXPORT_SCHEMA_01"                192 KB
    .  预计为 "SCOTT"."DEPT"                                 64 KB
    .  预计为 "SCOTT"."EMP"                                  64 KB
    .  预计为 "SCOTT"."SALGRADE"                             64 KB
    .  预计为 "SCOTT"."TEST"                                 64 KB
    .  预计为 "SCOTT"."BONUS"                                 0 KB
    .  预计为 "SCOTT"."MLOG$_EMP"                             0 KB
    .  预计为 "SCOTT"."PARTS"                                 0 KB
    使用 BLOCKS 方法的总估计: 448 KB


    4.EXCLUDE:该选项用于指定执行操作时释放要排除对象类型或相关对象
    Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用
    expdp scott/tiger  schemas=scott  exclude=view dumpfile=a9.dmp


    5.FILESIZE:指定导出文件的最大尺寸,默认为0,(表示文件尺寸没有限制)

    6.flashback_scn: 前提闪回功能开启

    expdp scott/tiger  tables=emp dumpfile=e2.dmp  flashback_scn=4284715 ---->如果闪回的时间点该对象结构发生变化,将报错(比如该对象没有创建或者ddl操作)

    ORA-31693: 表数据对象 "SCOTT"."EMP" 无法加载/卸载并且被跳过, 错误如下:
    ORA-02354: 导出/导入数据时出错
    ORA-01466: 无法读取数据 - 表定义已更改
    已成功加载/卸载了主表 "SCOTT"."SYS_EXPORT_TABLE_01"
    ******************************************************************************
    SCOTT.SYS_EXPORT_TABLE_01 的转储文件集为:
      C:/ADMIN/SOLO/DPDUMP/E2.DMP
    作业 "SCOTT"."SYS_EXPORT_TABLE_01" 已经完成, 但是有 1 个错误 (于 15:21:36 完成)


    7.FLASHBACK_TIME:指定导出特定时间点的表数据

    expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME="TO_TIMESTAMP(’25-08-2004 14:35:00’,’DD-MM-YYYY HH24:MI:SS’)"


    windows下:
    C:/Documents and Settings/Administrator>expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=a.dmp flashback_time=/"TO_TIMESTAMP('06-04-2010 11:24:26', 'DD-MM-YYYY HH24:MI:SS')/"

    数据泵impdp参数:
    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 脚本文件
    impdp scott/tiger directory=dump_dir dumpfile=a1.dmp sqlfile=c.sql (默认放在directory下,因此不要指定绝对路径)

    7.STREAMS_CONFIGURATION

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

    8,TABLE_EXISTS_ACTION

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

    TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | FRPLACE }

    当设置该选项为SKIP时,导入作业会跳过已存在表处理下一个对象;当设置为APPEND时,会追加数据,为TRUNCATE时,导入作业会截断表,然后为其追加新数据;当设置为REPLACE时,导入作业会删除已存在表,重建表病追加数据,注意,TRUNCATE选项不适用与簇表和NETWORK_LINK选项

    9.TRANSFORM

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

    TRANSFORM=transform_name:value[:object_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’


    调用IMPDP

    1, 导入表

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


    Impdp system/manage 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



    SQL> show user
    USER 为 "SCOTT"
    SQL>
    SQL> create table range (a int,b varchar2(30)) partition by range(a)
      2  (partition p1 values less than (10),
      3  partition p2 values less than (20),
      4  partition p3 values less than (30)
      5  );

    表已创建。

    SQL>  insert into range values(9,'aa');

    已创建 1 行。

    SQL>  insert into range values(12,'aa');

    已创建 1 行。

    SQL> commit;

    提交完成。

    SQL>  select  * from range;

             A B
    ---------- ------------------------------
             9 aa
            12 aa

    导出某个分区表的分区:
    >exp scott/tiger file=c:/bak/fq.dmp tables=range:p1

    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

    即将导出指定的表通过常规路径...
    . . 正在导出表                           RANGE
    . . 正在导出分区                              P1导出了           1 行
    成功终止导出, 没有出现警告。


    expdp  directory=dump_dir  dumpfile=t_tt.dp tables=scott.emp,scott.range

    Export: Release 10.2.0.1.0 - Production on 星期六, 03 4月, 2010 16:21:45

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

    用户名: sys as sysdba
    口令:

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    启动 "SYS"."SYS_EXPORT_TABLE_01":  sys/******** AS SYSDBA directory=dump_dir dum
    pfile=t_tt.dp tables=scott.emp,scott.range
    正在使用 BLOCKS 方法进行估计...
    处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
    使用 BLOCKS 方法的总估计: 192 KB
    处理对象类型 TABLE_EXPORT/TABLE/TABLE
    处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
    处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
    处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
    处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    . . 导出了 "SCOTT"."EMP"                               7.367 KB       3 行
    . . 导出了 "SCOTT"."RANGE":"P1"                        5.234 KB       1 行
    . . 导出了 "SCOTT"."RANGE":"P2"                        5.234 KB       1 行
    . . 导出了 "SCOTT"."RANGE":"P3"                            0 KB       0 行
    已成功加载/卸载了主表 "SYS"."SYS_EXPORT_TABLE_01"
    ******************************************************************************
    SYS.SYS_EXPORT_TABLE_01 的转储文件集为:
      C:/BAK/DUMP/T_TT.DP
    作业 "SYS"."SYS_EXPORT_TABLE_01" 已于 16:22:04 成功完成


    eg2: 分区表从scott用户导入到system用户

    >expdp scott/tiger  directory=DUMP_DIR dumpfile=Article_Detail_20W.dmp  tables=range content=DATA_ONLY parallel=2

    port: Release 10.2.0.1.0 - Production on 星期六, 03 4月, 2010 22:04:12

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

    接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    th the Partitioning, OLAP and Data Mining options
    动 "SCOTT"."SYS_EXPORT_TABLE_01":  scott/******** directory=DUMP_DIR dumpfile=
    ticle_Detail_20W.dmp tables=range content=DATA_ONLY parallel=2
    在使用 BLOCKS 方法进行估计...
    理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
    用 BLOCKS 方法的总估计: 128 KB
    . 导出了 "SCOTT"."RANGE":"P1"                        5.234 KB       1 行
    . 导出了 "SCOTT"."RANGE":"P2"                        5.234 KB       1 行
    . 导出了 "SCOTT"."RANGE":"P3"                            0 KB       0 行
    成功加载/卸载了主表 "SCOTT"."SYS_EXPORT_TABLE_01"
    ****************************************************************************
    OTT.SYS_EXPORT_TABLE_01 的转储文件集为:
    C:/BAK/DUMP/ARTICLE_DETAIL_20W.DMP
    业 "SCOTT"."SYS_EXPORT_TABLE_01" 已于 22:04:54 成功完成


    SQL> conn system/oracle
    已连接。
    SQL> create table range (a int,b varchar2(30));

    表已创建。

    >impdp scott/tiger  directory=DUMP_DIR  remap_schema=scott:system  dumpfile=Article_Detail_20W.dmp table_exists_action=APPEND  parallel=2

    Import: Release 10.2.0.1.0 - Production on 星期六, 03 4月, 2010 22:28: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
    已成功加载/卸载了主表 "SCOTT"."SYS_IMPORT_FULL_01"
    启动 "SCOTT"."SYS_IMPORT_FULL_01":  scott/******** directory=DUMP_DIR remap_sche
    ma=scott:system dumpfile=Article_Detail_20W.dmp table_exists_action=APPEND paral
    lel=2
    处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
    . . 导入了 "SYSTEM"."RANGE":"P1"                       5.234 KB       1 行
    . . 导入了 "SYSTEM"."RANGE":"P2"                       5.234 KB       1 行
    . . 导入了 "SYSTEM"."RANGE":"P3"                           0 KB       0 行
    作业 "SCOTT"."SYS_IMPORT_FULL_01" 已于 22:28:51 成功完成


    SQL> select * from range;

             A B
    ---------- ------------------------------
             9 aa
            12 aa

    一.ORA-39006: Metadata processing is not available

    方法一:
    Cause: The Data Pump could not use the Metadata API. Typically, this is caused by the XSL stylesheets not being set up properly.
    Action: Connect AS SYSDBA and execute dbms_metadata_util.load_stylesheets to reload the stylesheets.


    1.select  * from  dba_objects
    where object_name='DBMS_DATAPUMP';
    没有内容就执行以下包
    2.exec sys.dbms_metadata_util.load_stylesheets


    方法二:
    ORA-39006: internal error
    ORA-39065: unexpected master process exception in DISPATCH
    ORA-00942: table or view does not exist
    ORA-39097: Data Pump job encountered unexpected error -942


    ACTION PLAN
    ===========
    1.
    SQL >@ $ORACLE_HOME/rdbms/admin/catdph.sql

    2.
    SQL >@ $ORACLE_HOME/rdbms/admin/prvtdtde.plb

    3.
    SQL >@ $ORACLE_HOME/rdbms/admin/catdpb.sql

    4.
    SQL >@ $ORACLE_HOME/rdbms/admin/dbmspump.sql

    5.
    SQL >@ $ORACLE_HOME/rdbms/admin/utlrp.sql


    二.ORA-31626: job does not exist

    ORA-31637: cannot create job SYS_EXPORT_SCHEMA_01 for user SYSTEM

    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95

    ORA-06512: at "SYS.KUPV$FT_INT", line 600

    ORA-39080: failed to create queues "KUPC$C_1_20071025205651" and "KUPC$S_1_20071025205651" for Data Pump job

    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95

    ORA-06512: at "SYS.KUPC$QUE_INT", line 1555

    ORA-00832: no streams pool created and cannot automatically create one

    解决方法如下:

    SQL> show parameter stream

    NAME TYPE VALUE

    ------------------------------------ ----------- ------------------------------

    streams_pool_size big integer 0


    将streams_pool_size的值设置为非0,

    SQL> alter system set streams_pool_size=10M scope=memory;

    System altered.

    三.ora-39139

    ORA-39139: Data Pump does not support XMLSchema objects. TABLE_DATA:"UCS4"."RECEIVABLES_TABLE" will be skipped.
    Total estimation using BLOCKS method: 0 KB

    Tables with XML type columns are not supported until 11.1.0.6. To export that table, you need to use exp/imp not expdp/impdp.

  • 相关阅读:
    Luogu P2016 战略游戏(树形DP)
    Luogu P2486 染色(树链剖分+线段树)
    Luogu P3178 树上操作(树链剖分+线段树)
    Luogu P2590 树的统计(树链剖分+线段树)
    Luogu P2146 软件包管理器(树链剖分+线段树)
    获得spring
    网卡绑定多个ip
    描述01-配置文件咋整
    进程查看
    端口查看,进程杀死
  • 原文地址:https://www.cnblogs.com/future2012lg/p/2654047.html
Copyright © 2020-2023  润新知