Oracle 11g数据泵详解(一)

2015-07-16 12:07:39 · 作者: · 浏览: 8

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