当前位置:  数据库>oracle

Oracle 11g数据泵详解

    来源: 互联网  发布时间:2017-06-17

    本文导语: Oracle Database 10g引入了最新的数据泵(DataDump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1,实现逻辑备份和逻辑恢复 2,在数据库用户之间移动对象 3,在数据库之间移动对象 4,实现表空间搬移 数据泵使用EXPDP和IMPDP时应该注意的事...

Oracle Database 10g引入了最新的数据泵(DataDump)技术,数据泵导出导入(EXPDP和IMPDP)的作用

1,实现逻辑备份和逻辑恢复

2,在数据库用户之间移动对象

3,在数据库之间移动对象

4,实现表空间搬移

数据泵使用EXPDP和IMPDP时应该注意的事项:

EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。

EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。

IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。

一:可以通过dblink来使用数据泵,这样省掉了导出的步骤,操作简单了。如下所示的例子:

impdp  system/manager123 network_link=dblink_to_myself  remap_tablespace=DIC_DATA:DICTEST remap_schema=DICTEST_ZH_CN:DICTEST_ZH_CN  tables=td_pay_bank, td_common_content  TABLE_EXISTS_ACTION=replace;

二:导出的内容

1)按用户导

expdpscott/tiger@orclschemas=scott dumpfile=expdp.dmp DIRECTORY=dir logfile=expdp.log

2)并行进程parallel

expdpscott/tiger@orcldirectory=dir dumpfile=scott3.dmp parallel=40  job_name=scott3

3)按表名导

expdpscott/tiger@orclTABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dir;

4)按查询条件导

expdpscott/tiger@orcldirectory=dir dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

5)按表空间导

expdp system/manager DIRECTORY=dir DUMPFILE=tablespace.dmp TABLESPACES=temp,example;

6)导整个数据库

expdp system/manager  DIRECTORY=dir  DUMPFILE=full.dmp  FULL=y;

三:导出内容:

CONTENT该选项用于指定要导出的内容.默认值为ALL
 CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
当设置CONTENT为ALL时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义
例子:只导出表结构

expdp  system/"manager(*)0202"  directory=bak  dumpfile=TEST_NAV_ZH_CN20150506.dmp  schemas=test_nav_zh_tw,  test_nav_zh_cn test_nav_en_us, test_nav_ar_sa  CONTENT=METADATA_ONLY 

四:directory: 

 查看已经建好的目录;如果没有使用directory参数那么会使用目录DATA_PUMP_DIR

SQL> select * from dba_directories;

OWNER DIRECTORY_NAME DIRECTORY_PATH
 ----- ---------------------- ----------------------------------------------------------

SYS SUBDIR /u01/app/oracle/product/11.2.0/db/demo/schema/order_entry//2002/Sep
SYS SS_OE_XMLDIR /u01/app/oracle/product/11.2.0/db/demo/schema/order_entry/
SYS LOG_FILE_DIR /u01/app/oracle/product/11.2.0/db/demo/schema/log/
SYS MEDIA_DIR /u01/app/oracle/product/11.2.0/db/demo/schema/product_media/
SYS XMLDIR /u01/app/oracle/product/11.2.0/db/rdbms/xml
SYS DATA_FILE_DIR /u01/app/oracle/product/11.2.0/db/demo/schema/sales_history/
SYS DATA_PUMP_DIR /u01/app/oracle/admin/tj01/dpdump/
SYS ORACLE_OCM_CONFIG_DIR /u01/app/oracle/product/11.2.0/db/ccr/state
 

注意:通过查询我们看到,所有的目录都属于SYS用户,而不管是哪个用户创建的,在数据库里已经提前建好了这个目录对象DATA_PUMP_DIR。如果在使用expdp导出时,不指定目录对象参数,Oracle会使用数据库缺省的目录DATA_PUMP_DIR,不过如果想使用这个目录的话,用户需要具有exp_full_database的权限才行
 

五:不常用的一些参数;
1.EXTIMATE_ONLY

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

2.EXTIMATE_ONLY={Y | N}

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

Expdp scott/tiger ESTIMATE_ONLY=yNOLOGFILE=y

3.EXCLUDE

该选项用于指定执行操作时释放要排除对象类型或相关对象

EXCLUDE=object_type[:name_clause] [,….]

Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用

Expdp scott/tiger DIRECTORY=dumpDUMPFILE=a.dup EXCLUDE=VIEW

4.FILESIZE

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

5. FLASHBACK_SCN

指定导出特定SCN时刻的表数据

FLASHBACK_SCN=scn_value

Scn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用

Expdp scott/tiger DIRECTORY=dumpDUMPFILE=a.dmp

FLASHBACK_SCN=358523

10)FLASHBACK_TIME

指定导出特定时间点的表数据

FLASHBACK_TIME=”TO_TIMESTAMP(time_value)”

Expdp scott/tiger DIRECTORY=dumpDUMPFILE=a.dmp FLASHBACK_TIME=

“TO_TIMESTAMP(’25-08-200414:35:00’,’DD-MM-YYYYHH24:MI:SS’)”
 
六:当用一个schema去覆盖另一个schemas时,如下:

[oracle@rac1 ~]$ impdp system/manager123 network_link=dblink_to_myself remap_tablespace=users:users remap_schema=liuwenhe:liuhe schemas=liuwenhe;

如果liuhe这用户存在,那么该操作完成之后,liuhe这个用户权限,密码什么的不会变化。

如果liuhe这个用户不存在,那么该操作完成之后,就会创建一个liuhe的用户,并且没有任何权限,值得注意的是密码和liuwenhe的密码相同。

七:当导入schemas的时候,会把属于这个用户的所有对象,包括SEQUENCE,FUNCTION,PROCEDURE,主键,索引,都一并过去。

[oracle@rac1 ~]$ impdp system/manager123  network_link=dblink_to_myself remap_tablespace=users:users remap_schema=liuwenhe:liuhe  tables=liuwenhe.liuwenhe table_exists_action=replace; 

liuwenhe.liuwenhe这个表的主键和索引,也会过去。并且名字和liuwenhe.liuwenhe的对应名字一样。

八:该选项用于指定当表已经存在时导入作业要执行的操作,默认为SKIP
TABBLE_EXISTS_ACTION={SKIP | APPEND |TRUNCATE | FRPLACE }

当设置该选项为SKIP时,导入作业会跳过已存在表处理下一个对象;当设置为APPEND时,会追加数据,为TRUNCATE时,导入作业会截断表,然后为其追加新数据;当设置为REPLACE时,导入作业会删除已存在表,重建表并追加数据,注意,TRUNCATE选项不适用与簇表和NETWORK_LINK选项
 
九:注意:普通用户做全库导出,需要有这个权限:
SQL> grant exp_full_database to scott;

十:REMAP_TABLE参数 

 将源表数据映射到不同的目标表中
 eg:impdp orcldev/oracle DIRECTORY=backup_path dumpfile=oracldev.dmp remap_table=TAB_TEST:TEST_TB
  数据导入到TEST_TB表中,但是该表的索引等信息并没有相应的创建,需要手工初始化
 
十一:REMAP_DATAFILE参数

  语法:REMAP_DATAFILE=source_datafile:target_datafile
   Oracle_Online:
  Remapping datafiles is useful when you move databases between platforms that have different file naming conventions. The source_datafile and target_datafile names should be exactly as you want them to appear in the SQL statements where they are referenced. Oracle recommends that you enclose datafile names in quotation marks to eliminate ambiguity on platforms for which a colon is a valid file specification character

十三:下面看一个试验 ,验证的是只导出数据后,可以恢复,就算是表结构已经变化了,他也能把相应的列恢复,

1)SQL> desc liuwenhe.liuwenhe;

 Name                                      Null?    Type

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

 X                                        NOT NULL NUMBER(38)

 Y                                                  NUMBER(38)

2)SQL> select * from liuwenhe.liuwenhe;

        X          Y

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

        1          3

        3          3

        2          4

        4          5

        5          8

        6          9

6 rows selected.

3)[oracle@rac1 expdp]$ expdp system/manager123 directory=bak dumpfile=hhhf.dmp tables=liuwenhe.liuwenhe;

 Export: Release 11.2.0.3.0 - Production on Mon Jul 6 11:52:56 2015

 Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
 With the Partitioning, Real Application Clusters, OLAP, Data Mining
 and Real Application Testing options
 Starting "SYSTEM"."SYS_EXPORT_TABLE_03":  system/******** directory=bak dumpfile=hhhf.dmp tables=liuwenhe.liuwenhe
 Estimate in progress using BLOCKS method...
 Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
 Total estimation using BLOCKS method: 64 KB
 Processing object type TABLE_EXPORT/TABLE/TABLE
 Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
 Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
 Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
 Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
 . . exported "LIUWENHE"."LIUWENHE"                      5.492 KB      6 rows
 Master table "SYSTEM"."SYS_EXPORT_TABLE_03" successfully loaded/unloaded
 ******************************************************************************
 Dump file set for SYSTEM.SYS_EXPORT_TABLE_03 is:
  /backup/expdp/hhhf.dmp
 Job "SYSTEM"."SYS_EXPORT_TABLE_03" successfully completed at 11:53:10

4)SQL> alter table liuwenhe.liuwenhe  drop column y;

Table altered.

5)SQL> truncate table liuwenhe.liuwenhe;

Table truncated.

6)[oracle@rac1 expdp]$ impdp system/manager123 directory=bak dumpfile=hhhf.dmp tables=liuwenhe.liuwenhe  content=data_only;

Import: Release 11.2.0.3.0 - Production on Mon Jul 6 11:55:07 2015

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, Real Application Clusters, OLAP, Data Mining

and Real Application Testing options

Master table "SYSTEM"."SYS_IMPORT_TABLE_04" successfully loaded/unloaded

Starting "SYSTEM"."SYS_IMPORT_TABLE_04":  system/******** directory=bak dumpfile=hhhf.dmp tables=liuwenhe.liuwenhe content=data_only 

Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

. . imported "LIUWENHE"."LIUWENHE"                      5.492 KB      6 rows

Job "SYSTEM"."SYS_IMPORT_TABLE_04" successfully completed at 11:55:13
7)SQL> select * from liuwenhe.liuwenhe;

        X

----------

        1

        2

        3

        4

        5

        6

6 rows selected.

总结:Oracle数据泵,逻辑备份和恢复工具,他直接在逻辑从面操作,不能想象成单纯的insert , 而且只导出数据,然后恢复数据时候,可以不用写remap_tablespace这个参数 。 


    
 
 

您可能感兴趣的文章:

  • Oracle 数据库(oracle Database)性能调优技术详解
  • oracle中lpad函数的用法详解
  • oracle修改scott密码与解锁的方法详解
  • 求.bash_profile配置oracle详解
  • Oracle数据库中分区功能详解
  • oracle指定排序的方法详解
  • 详解如何应用改变跟踪技术加速Oracle递增备份
  • oracle合并列的函数wm_concat的使用详解
  • oracle select执行顺序的详解
  • 使用Oracle数据挖掘API方法详解[图文]
  • Oracle多表级联更新详解
  • 安装Linux与Oracle数据库步骤详解
  • oracle求同比,环比函数(LAG与LEAD)的详解
  • 详解Linux平台下的Oracle数据库编程
  • oracle中去掉回车换行空格的方法详解
  • Oracle中job的使用详解
  • [Oracle] Data Guard 之 Redo传输详解
  • oracle用户权限管理使用详解
  • 深入ORACLE变量的定义与使用的详解
  • 详解Oracle的几种分页查询语句
  • oracle SQL递归的使用详解
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • ORACLE数据库常用字段数据类型介绍
  • 怎样调出ORACLE数据库中的数据,该如何连接?
  • 用JDBC连接Oracle数据库时,如何向数据库中写日期型数据(格式)?谢了!
  • 关于JDBC连接Oracle数据库,是否必须有Oracle客户端
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • oracle 11g最新版官方下载地址
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • Linux版本的Oracle 11g将首先被发布
  • 关于Linux下oracle是10g?还是11g?
  • Oracle 11g 相关工具netca,dbca乱码之解决
  • fedora10安装oracle11g提示物理内存不足怎么办?
  • Oracle 11g解锁scott
  • Oracle 11g R2 数据库将在9月发布
  • Oracle内存数据库11g和高速缓存11g上市
  • 有人在fedora 10下安装 oracle database 11g,没有呀?提供个安装步骤
  • 在ubuntu10.04上安装oracle11g失败
  • oracle 11g最新版官方下载地址 iis7站长之家
  • Oracle11g备份和恢复功能的提高
  • linux redhat5.6安装oracle11g在自动创建实例时停住不动,有图
  • Oracle针对Eclipse 11g发布开发包
  • centos5.4安装oracle11g的问题
  • Oracle 11g 数据库 Alert日志的新发展
  • Redhat 6 安装 oracle 11g2的问题
  • 基于Linux环境的Oracle 11g数据库正式推出
  • Oracle 11G密码180天过期后的修改方法
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 请问su oracle 和su - oracle有什么不同?
  • ORACLE日期相关操作
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle 12c的九大最新技术特性介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • ORACLE中DBMS_RANDOM随机数生成包
  • Linux /$ORACLE_HOME $ORACLE_HOME


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3