oracleEXPDP使用EXPDP工具的 EXCLUDE选项过滤掉不关心的数据库对象.docx
- 文档编号:9090675
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:11
- 大小:19.07KB
oracleEXPDP使用EXPDP工具的 EXCLUDE选项过滤掉不关心的数据库对象.docx
《oracleEXPDP使用EXPDP工具的 EXCLUDE选项过滤掉不关心的数据库对象.docx》由会员分享,可在线阅读,更多相关《oracleEXPDP使用EXPDP工具的 EXCLUDE选项过滤掉不关心的数据库对象.docx(11页珍藏版)》请在冰豆网上搜索。
oracleEXPDP使用EXPDP工具的EXCLUDE选项过滤掉不关心的数据库对象
【EXPDP】使用EXPDP工具的EXCLUDE选项过滤掉不关心的数据库对象
上一篇/下一篇2010-03-0822:
54:
51/个人分类:
备份与恢复
查看(952)/评论
(2)/评分(5/0)
使用EXPDP逻辑备份工具的EXCLUDE选项可以指定那类数据库对象不被导出,EXPDP工具的前身EXP如果想要完成同样的任务非常的困难。
我们以排除部分表为例看一下这个选项带给我们的便利。
如果在命令行中完成备份,特殊字符的转义需要特别注意(我这里使用的是Linux操作系统)。
1.EXPDP帮助中的描述信息
ora10g@secDB/expdp$expdp-help
……
EXCLUDEExcludespecificobjecttypes,e.g.EXCLUDE=TABLE:
EMP.
……
2.创建directory数据库对象,并将读写权限授予sec用户
sys@ora10g>createorreplacedirectorydump_diras'/expdp';
Directorycreated.
sys@ora10g>grantread,writeondirectorydump_dirtosec;
Grantsucceeded.
3.确认操作系统信息
ora10g@secDB/expdp$uname-a
LinuxsecDB2.6.18-128.el5#1SMPWedDec1711:
41:
38EST2008x86_64x86_64x86_64GNU/Linux
4.在sec用户下创建几张表用于后续的测试
创建三张表T1、T2和T3,每张表中初始化一条数据
sec@ora10g>createtablet1(xint);
sec@ora10g>insertintot1values
(1);
sec@ora10g>createtablet2(xint);
sec@ora10g>insertintot2values
(2);
sec@ora10g>createtablet3(xint);
sec@ora10g>insertintot3values(3);
sec@ora10g>commit;
5.为了与后面的比较,先全用户导出
ora10g@secDB/expdp$rm-fsec.dmpsec.log
ora10g@secDB/expdp$expdpsec/secdirectory=dump_dirdumpfile=sec.dmplogfile=sec.log
Export:
Release10.2.0.3.0-64bitProductiononMonday,08March,20109:
59:
25
Copyright(c)2003,2005,Oracle.Allrightsreserved.
Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.2.0.3.0-64bitProduction
WiththePartitioning,OracleLabelSecurity,OLAPandDataMiningScoringEngineoptions
Starting"SEC"."SYS_EXPORT_SCHEMA_01":
sec/********directory=dump_dirdumpfile=sec.dmplogfile=sec.log
EstimateinprogressusingBLOCKSmethod...
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/TABLE_DATA
TotalestimationusingBLOCKSmethod:
192KB
ProcessingobjecttypeSCHEMA_EXPORT/USER
ProcessingobjecttypeSCHEMA_EXPORT/SYSTEM_GRANT
ProcessingobjecttypeSCHEMA_EXPORT/ROLE_GRANT
ProcessingobjecttypeSCHEMA_EXPORT/DEFAULT_ROLE
ProcessingobjecttypeSCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/TABLE
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/INDEX/INDEX
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/COMMENT
..exported"SEC"."T1"4.914KB1rows
..exported"SEC"."T2"4.914KB1rows
..exported"SEC"."T3"4.914KB1rows
Mastertable"SEC"."SYS_EXPORT_SCHEMA_01"successfullyloaded/unloaded
******************************************************************************
DumpfilesetforSEC.SYS_EXPORT_SCHEMA_01is:
/expdp/sec.dmp
Job"SEC"."SYS_EXPORT_SCHEMA_01"successfullycompletedat09:
59:
32
6.排除T1表进行备份
ora10g@secDB/expdp$rm-fsec.dmpsec.log
ora10g@secDB/expdp$expdpsec/secdirectory=dump_dirdumpfile=sec.dmplogfile=sec.logEXCLUDE=TABLE:
\"IN\(\'T1\'\)\"
Export:
Release10.2.0.3.0-64bitProductiononMonday,08March,201010:
02:
03
Copyright(c)2003,2005,Oracle.Allrightsreserved.
Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.2.0.3.0-64bitProduction
WiththePartitioning,OracleLabelSecurity,OLAPandDataMiningScoringEngineoptions
Starting"SEC"."SYS_EXPORT_SCHEMA_01":
sec/********directory=dump_dirdumpfile=sec.dmplogfile=sec.logEXCLUDE=TABLE:
"IN('T1')"
EstimateinprogressusingBLOCKSmethod...
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/TABLE_DATA
TotalestimationusingBLOCKSmethod:
128KB
ProcessingobjecttypeSCHEMA_EXPORT/USER
ProcessingobjecttypeSCHEMA_EXPORT/SYSTEM_GRANT
ProcessingobjecttypeSCHEMA_EXPORT/ROLE_GRANT
ProcessingobjecttypeSCHEMA_EXPORT/DEFAULT_ROLE
ProcessingobjecttypeSCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/TABLE
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/INDEX/INDEX
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/COMMENT
..exported"SEC"."T2"4.914KB1rows
..exported"SEC"."T3"4.914KB1rows
Mastertable"SEC"."SYS_EXPORT_SCHEMA_01"successfullyloaded/unloaded
******************************************************************************
DumpfilesetforSEC.SYS_EXPORT_SCHEMA_01is:
/expdp/sec.dmp
Job"SEC"."SYS_EXPORT_SCHEMA_01"successfullycompletedat10:
02:
10
排除表T1后T2和T3表被成功导出。
7.排除多张表进行备份
以排除表T1和T2两张表为例进行演示
ora10g@secDB/expdp$rm-fsec.dmpsec.log
ora10g@secDB/expdp$expdpsec/secdirectory=dump_dirdumpfile=sec.dmplogfile=sec.logEXCLUDE=TABLE:
\"IN\(\'T1\',\'T2\'\)\"
Export:
Release10.2.0.3.0-64bitProductiononMonday,08March,201010:
03:
17
Copyright(c)2003,2005,Oracle.Allrightsreserved.
Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.2.0.3.0-64bitProduction
WiththePartitioning,OracleLabelSecurity,OLAPandDataMiningScoringEngineoptions
Starting"SEC"."SYS_EXPORT_SCHEMA_01":
sec/********directory=dump_dirdumpfile=sec.dmplogfile=sec.logEXCLUDE=TABLE:
"IN('T1','T2')"
EstimateinprogressusingBLOCKSmethod...
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/TABLE_DATA
TotalestimationusingBLOCKSmethod:
64KB
ProcessingobjecttypeSCHEMA_EXPORT/USER
ProcessingobjecttypeSCHEMA_EXPORT/SYSTEM_GRANT
ProcessingobjecttypeSCHEMA_EXPORT/ROLE_GRANT
ProcessingobjecttypeSCHEMA_EXPORT/DEFAULT_ROLE
ProcessingobjecttypeSCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/TABLE
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/INDEX/INDEX
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/COMMENT
..exported"SEC"."T3"4.914KB1rows
Mastertable"SEC"."SYS_EXPORT_SCHEMA_01"successfullyloaded/unloaded
******************************************************************************
DumpfilesetforSEC.SYS_EXPORT_SCHEMA_01is:
/expdp/sec.dmp
Job"SEC"."SYS_EXPORT_SCHEMA_01"successfullycompletedat10:
03:
24
排除表T1和T2后T3表被成功导出。
注意在Linux的bash下特殊字符的转义处理
8.使用PARFILE参数规避不同操作系统中特殊字符的转义
为了规避不同操作系统上特殊字符转义带来的麻烦,我们可以使用PARFILE参数规避一下这个难题。
ora10g@secDB/expdp$visec.par
userid=sec/sec
directory=dump_dir
dumpfile=sec.dmp
logfile=sec.log
EXCLUDE=TABLE:
"IN('T1','T2')"
~
~
ora10g@secDB/expdp$rm-fsec.dmpsec.log
ora10g@secDB/expdp$expdpparfile=sec.par
Export:
Release10.2.0.3.0-64bitProductiononMonday,08March,201010:
10:
28
Copyright(c)2003,2005,Oracle.Allrightsreserved.
Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.2.0.3.0-64bitProduction
WiththePartitioning,OracleLabelSecurity,OLAPandDataMiningScoringEngineoptions
Starting"SEC"."SYS_EXPORT_SCHEMA_01":
parfile=sec.par
EstimateinprogressusingBLOCKSmethod...
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/TABLE_DATA
TotalestimationusingBLOCKSmethod:
64KB
ProcessingobjecttypeSCHEMA_EXPORT/USER
ProcessingobjecttypeSCHEMA_EXPORT/SYSTEM_GRANT
ProcessingobjecttypeSCHEMA_EXPORT/ROLE_GRANT
ProcessingobjecttypeSCHEMA_EXPORT/DEFAULT_ROLE
ProcessingobjecttypeSCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/TABLE
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/INDEX/INDEX
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
ProcessingobjecttypeSCHEMA_EXPORT/TABLE/COMMENT
..exported"SEC"."T3"4.914KB1rows
Mastertable"SEC"."SYS_EXPORT_SCHEMA_01"successfullyloaded/unloaded
******************************************************************************
DumpfilesetforSEC.SYS_EXPORT_SCHEMA_01is:
/expdp/sec.dmp
Job"SEC"."SYS_EXPORT_SCHEMA_01"successfullycompletedat10:
10:
35
在完成特殊条件导出时,推荐将需要的所有参数统一写到参数文件中。
9.小结
EXPDP工具与EXP相比不仅仅是效率上的提升,更重要的是功能上的增强。
本文中以EXPDP的EXCLUDE选项为例展示了此工具的便捷之处,善用之。
Goodluck.
secooler
10.03.08
--TheEnd--
出至:
关于oracle10g的导出导入工具expdp、impdp
===========================================================
作者:
lihui29()
发表于:
2008.12.1815:
54
分类:
出处:
---------------------------------------------------------------
今天学习了关于Oracle10g的导入导出工具expdp、impdp,总结一下,以方便查询。
使用expdp
1。
datapump包括下面几个部件:
Thecommand-lineclients,expdpandimpdp
TheDBMS_DATAPUMPPL/SQLpackage(alsoknownastheDataPumpAPI)
TheDBMS_METADATAPL/SQLpackage(alsoknownastheMetadataAPI)
2。
expdp,impdp和原先的exp,imp不兼容,也就是用exp导出的文件用impdp是无法导入的。
3。
datapump不支持XMLschemas
4。
使用前必须要先创建目录:
SQL>CREATEORREPLACEDIRECTORYdpump_diras'/oracle/oradata/ORCL10/pumpdata';
查询目录:
dba_directories
Oracle数据泵为了提高性能,采用直接路径的方式,通过数据库建立的DIRECTORY将数据导入。
这造成了数据泵和IMP一个主要的区别。
如果在客户端进行IMP导入,dmp文件是放在客户端的。
但是如果通过数据泵的方式导入,数据泵文件总是放在数据库服务器端。
5。
给导入导出的用户赋予目录的读写权限:
SQL>GRANTREAD,WRITEONDIRECTORYdpump_dirTOscott;
6。
datapump是服务器端的JOB,所以可以在执行datapump以后,通过EXIT_CLIENT退出客户端。
通过DBA_DATAPUMP_JOBS视图可以检查datapump作业的情况,也可以利用ATTACH重新连接上还在进行的JOB。
每个datapump可以通过JOB_NAME参数指定名称,如果不指定,那么会有默认的名称,比如上贴中的例子,名称就是SYS_EXPORT_TABLE_01,通过V$SESSION_LONGOPS也可以查看长时间运行的datapumpjob的具体内容。
7.以下参数影响datapump的性能
disk_asynch_io=true
db_block_checking=false
db_block_checksum=false
8.以下参数设置越高,来允许最大的并行度
processes
sessions
parallel_max_servers
9.以下参数应该被设置大点
shared_pool_size
undo_tablespace
实验以及例子:
==================================================================
创建目录,dumpdir是自己命名的名称
SQL>createdirectorydumpdiras'e:
datadump';
删除目录
SQL>dropdirectorydumpdir;
SQL>grantread,writeondirectorydumpdirtoscott;
//导出一个schema:
scott
C:
>expdpscott/tigerdumpfile=scott.dmpdirectory=dumpdirschemas=scott
SQL>createuserlihuiidentifiedbylihui;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracleEXPDP使用EXPDP工具的 EXCLUDE选项过滤掉不关心的数据库对象 oracleEXPDP 使用 EXPDP 工具 EXCLUDE 选项 过滤 不关心 数据库 对象