当前位置: 代码迷 >> 综合 >> 08day 数据泵(expdb/impdb)
  详细解决方案

08day 数据泵(expdb/impdb)

热度:76   发布时间:2024-02-06 08:38:37.0

一 expdb/impdb

data pump有以下三个部分组成:

                  客户端工具:expdb/ impdb

                   data pump api (即DBMS_DATAPUMP)

                    metadata api (即DBMS_METADATA)

默认情况下,用户可导出/导入自己schema下的数据,但如果要导出/导入其他schema下的数据,必须要把以下两个角色赋予改用户:

           DATAPUMP_EXP_FULL_DATABASE

            DATAPUMP_IMP_FULL_DATABASE

  sys,sysdba账户和dba角色默认拥有以上两个角色。

1、导入方法:

数据文件拷贝:这种最快的方法,dumpfile里面只包含元数据,在操作系统层面拷贝数据文件,相关参数有:TRANSPORT_TABLESPACES, TRANSPORTABLE=ALWAYS

直接路径加载:这是除了拷贝文件之外最快的方法,除非无法用(比如BFILE), 否则用用这种方法

外部表:第1,2种方法无法使用的情况下,才会使用外部表

传统路径加载:只有在以上所有方法都不可用的情况下,才会使用传统路径加载,这种方法性能很差

 

1.1 当执行expdb/impdb 时,柒拾是起了job 执行导出导入工作,一个Data Pump job 由以下三部分组成:

        主进程(master process):控制整个job, 是整个job的协调者;

        主表(master table):记录dumpfile 里数据库对象的元信息,expdb结束时将它写入dumpfile里,impdb开始时读取他,这样才能知道dunmpfile里的内容;

        工作进程(worker processes):执行导出到日工作,根据实际情况自动创建多个工作进程并执行,但不能超过参数PARALLEL定义的个数。

 

2  优点

             断点记录:master tanle 在数据泵的作用,保存运行过程中的要处理的对象信息、正在处理的对象信息;

             可以只处理某些对象,或者不处理某些对象,或者只处理某些对象下满足条件的数据

             不实际导出的情况下,估计结果占用空间。

              通过数据库链接,将远程数据库导出到存储文件

             通过数据库连接,将远程主机其他数据库导入到当前主机的数据库,实现跨平台迁移。

            导入时,可以修改导入数据所在的schema名称、表空间名称以及数据文件名称

            通过采样,导出部分数据

            只导出元数据,不到处实际数据,可以指定是否压缩

           可以进行并操作。

在屏幕的输出、logfile里都能看到当前data pump job 的运行情况, 在数据库里也可以查询视图:DBA_DATAPUMP_JOBS,USER_DATAPUMP_JOBS, or DBA_DATAPUMP_SESSIONS。

对于时间比较长的job, 可以在动态视图V$SESSION_LONGOPS查看当前job完成情况以及预估多久能全部完成, 具体字段的意义如下:

       USERNAME  - job owner

       OPNAME - job name

       TARGET_DESC - job  operation

       SOFAR - megabytes transferred thus far during the job

       RORALWORK - estmated number of megabytes in the job

       UNITS - megabytes (MB)

        MESSAGE - a formatted status message of the form:  'job_name: operation_name : nnn out of mmm MB done'

 

3  五种模式

"Full Export Mode"                             //设置full=y(默认为n),导出全部库

"Schema Mode"                                 //导出一个或多个schema(参数SCHENAS),默认导出当前用户的schema,只有拥有DATAPUMP_EXP_FULL_DATABASE角色才能导出其他Schemas

"Table Mode"

"Tablespace Mode"

"Transporttable Tablespace Mode"

 

目录对象

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  相关解决方案