数据泵导入导出--自总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

从A库导出用户jack下的所有数据到B库:查看字符集:select*fromnls_database_parameters;步骤:A库:1)创建一个目录用来存放导出数据,例如/home/oracle/dump目录。2)登录到数据库中,执行:createdirectorydump_diras‘/home/oracle/dump’;3)给目录授权,grantread,writeondirectorydump_dirtopublic;(此处也可以单独授权给某一个用户,例如jack)4)可以查询一下该目录及拥有者:select*fromdba_directories;5)导出语句:expdpschemas=jackdirectory=dump_dirdumpfile=jack.dumplogfile=jack.log执行完后会提示输入用户和密码,输入jack以及其密码即可。B库:1)将jack.dump文件scp传到B库所在服务器上,例如/home/oracle/bak此处的目录可以随意定义,只要跟第二步执行的路径一致即可。2)同A库,登录到数据库中执行:createdirectorydump_diras‘/home/oracle/bak’3)授权:grantread,writeondirectorydump_dirtopublic;--此处的dump_dir命名也是随意设置的,只要和impdp导入的时候directory后面的名字相同即可。4)如果是schema级别的导入导出,则需要在B库里先创建与A库相同的表空间:createtablespaceWORKdatafile‘/u01/app/oracle/oradata/orcl/work01.dbf’;5)用户不用创建,导入的时候用system用户即可,会自动创建jack用户。导入语句:impdpschemas=jackdirectory=dump_dirdumpfile=jack.dumplogfile=jack2.log执行后提示输入用户和密码,输入system用户及其密码即可。至此,基于schema级别的导出导入已完成。附:不同的导出需求:数据泵的导入导出只能在服务器端执行,客户端没有该功能。1)按用户导expdpscott/tiger@orclschemas=scottdumpfile=expdp.dmpDIRECTORY=dpdata1;2)并行进程parallelexpdpscott/tiger@orcldirectory=dpdata1dumpfile=scott3.dmpparallel=40job_name=scott33)按表名导expdpscott/tiger@orclTABLES=emp,deptdumpfile=expdp.dmpDIRECTORY=dpdata1;4)按查询条件导expdpscott/tiger@orcldirectory=dpdata1dumpfile=expdp.dmpTables=empquery='WHEREdeptno=20';5)按表空间导expdpsystem/managerDIRECTORY=dpdata1DUMPFILE=tablespace.dmpTABLESPACES=temp,example;6)导整个数据库expdpsystem/managerDIRECTORY=dpdata1DUMPFILE=full.dmpFULL=y;五、还原数据1)导到指定用户下impdpscott/tigerDIRECTORY=dpdata1DUMPFILE=expdp.dmpSCHEMAS=scott;2)改变表的ownerimpdpsystem/managerDIRECTORY=dpdata1DUMPFILE=expdp.dmpTABLES=scott.deptREMAP_SCHEMA=scott:system;3)导入表空间impdpsystem/managerDIRECTORY=dpdata1DUMPFILE=tablespace.dmpTABLESPACES=example;4)导入数据库impdbsystem/managerDIRECTORY=dump_dirDUMPFILE=full.dmpFULL=y;5)追加数据impdpsystem/managerDIRECTORY=dpdata1DUMPFILE=expdp.dmpSCHEMAS=systemTABLE_EXISTS_ACTION参数说明:expdp选项1.ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下:ATTACH=[schema_name.]job_nameschema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:expdpscott/tigerATTACH=scott.export_job2.CONTENT该选项用于指定要导出的内容.默认值为ALL.语法如下:CONTENT={ALL|DATA_ONLY|METADATA_ONLY}当设置CONTENT为ALL时,将导出对象定义及其所有数据;为DATA_ONLY时,只导出对象数据;为METADATA_ONLY时,只导出对象定义,示例如下:expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dumpCONTENT=METADATA_ONLY3.DIRECTORY指定转储文件和日志文件所在的目录.语法如下:DIRECTORY=directory_objectdirectory_object用于指定目录对象名称.需要注意,目录对象是使用CREATEDIRECTORY语句建立的对象,而不是OS目录,示例如下:expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dump建立目录:CREATEDIRECTORYdumpas'd:dump';查询创建了那些子目录:SELECT*FROMdba_directories;4.DUMPFILE用于指定转储文件的名称,默认名称为expdat.dmp.语法如下:DUMPFILE=[directory_object:]file_name[,….]directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象,示例如下:expdpscott/tigerDIRECTORY=dump1DUMPFILE=dump2:a.dmp5.ESTIMATE指定估算被导出表所占用磁盘空间的方法.默认值是BLOCKS.语法如下:EXTIMATE={BLOCKS|STATISTICS}设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间,示例如下:expdpscott/tigerTABLES=empESTIMATE=STATISTICSDIRECTORY=dumpDUMPFILE=a.dump一般情况下,当用默认值(blocks)时,日志中估计的文件大小会比实际expdp出来的文件大,用statistics时会跟实际大小差不多.6.EXTIMATE_ONLY指定是否只估算导出作业所占用的磁盘空间,默认值为N.语法如下:EXTIMATE_ONLY={Y|N}设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作,示例如下:expdpscott/tigerESTIMATE_ONLY=yNOLOGFILE=y7.EXCLUDE该选项用于指定执行操作时要排除的对象类型或相关对象.语法如下:EXCLUDE=object_type[:name_clause][,….]object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用,示例如下:expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dupEXCLUDE=VIEW在EXPDP的帮助文件中,可以看到存在EXCLUDE和INCLUDE参数,这两个参数文档中介绍的命令格式存在问题,正确用法是:EXCLUDE=OBJECT_TYPE[:name_clause][,...]INCLUDE=OBJECT_TYPE[:name_clause][,...]示例:Expdpother_parametersschema=scottexclude=sequence,table:in('EMP','DEPT')impdpother_parametersschema=scottinclude=function,package,procedure,table:='EMP'有了这些还不够,由于命令中包含了多个特殊字符,在不同的操作系统下需要通过转义字符才能使上面的命令顺利执行,如:EXCLUDE=TABLE:IN('BIGTALE')8.FILESIZE指定导出文件的最大尺寸,默认为0(表示文件尺寸没有限制).9.FLASHBACK_SCN指定导出特定SCN时刻的表数据.语法如下:FLASHBACK_SCN=scn_valuescn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用,示例如下:expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dmpFLASHBACK_SCN=35852310.FLASHBACK_TIME指定导出特定时间点的表数据.语法如下:FLASHBACK_TIME=TO_TIMESTAMP(time_value)示例如下:expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dmpFLASHBACK_TIME=TO_TIMESTAMP('25-08-200414:35:00','DD-MM-YYYYHH24:MI:SS')11.FULL指定数据库模式导出,默认为N.语法如下:FULL={Y|N}为Y时,标识执行数据库导出.12.HELP指定是否显示EXPDP命令行选项的帮助信息,默认为N.当设置为Y时,会显示导出选项的帮助信息,示例如下:expdphelp=y13.INCLUDE指定导出时要包含的对象类型及相关对象.语法如下:INCLUDE=object_type[:name_clause][,…]示例如下:expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dmpINCLUDE=trigger1.1.2expdp选项14.JOB_NAME指定要导出作用的名称,默认为SYS_XXX.语法如下:JOB_NAME=jobname_string示例如下:expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dmpINCLUDE=triggerJOB_NAME=exp_trigger后面想临时停止expdp任务时可以按Ctrl+C组合键,退出当前交互模式,退出之后导出操作不会停止,这不同于Oracle以前的EXP.以前的EXP,如果退出交互式模式,就会出错终止导出任务.在Oracle10g中,由于EXPDP是数据库内部定义的任务,已经与客户端无关.退出交互之后,会进入export的命令行模式,此时支持status等查看命令:Exportstatus如果想停止改任务,可以发出stop_job命令:Exportstop_job如果有命令行提示:是否确实要停止此作业([Y]/N):或Areyousureyouwishtostopthisjob([yes]/no):,回答应是yes或

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功