数据泵技术
数据泵技术是OracleDatabase 10g之后的新技术,它比原来导入/导出(imp,exp)技术快15-45倍。速度的提高源于使用了并行技术来读写导出转储文件。
使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录。因此使用EXPDP工具时,,必须首先建立DIRECTORY对象,并且需要为数据库用户授予使用DIRECTORY对象权限.
例如36:创建一个文件对象,将F:\BUCKUP_EXPDP设置成DUMP_DIR代表的DIRECTORY。
答:SQL>CREATE DIRECTORY DUMP_DIR AS 'F:\BUCKUP_EXPDP';
例如37:查询有哪些DIRECTORY。
答:SQL>select * from dba_directories;
例如38:授权DUMP_DIR给用户system。
答:SQL>GRANT READ,WRITE ON DIRECTORY DUMP_DIR TO system;
例如39:删除DUMP_DIR代表的DIRECTORY。
答:SQL> dropdirectory DUMP_DIR;
EXPDP命令实现导出
格式:EXPDP用户名/口令参数1=设置值[,参数2=设置值,……..]
EXPDP参数说明表(部分不全):
名称
说明
ATTACH
连接到现有的作业。
COMPRESSION
压缩导出数据的方式。值为MEXDATA_ONLY和NONE。
CONTENT
要导出的数据,设置值为ALL,DATA_ONLY和METADATA_ONLY
DIRECTORY
导出使用的目录对象。
DUMPFILE
用于转储文件和日志文件的目录对象。
TABLES
在只导出一个方案的情况下,要导出的表的列表。
JOB_NAME
要创建的导出作业的名称。
SCHEMAS
导出的方案列表。
FULL
导出整个数据库。值为Y
例如40:使用EXPDP导出SCOTT用户的EXP表。
答:C:/>EXPDPsystem/oracle DUMPFILE = SCOTT_EMP.DMP DIRECTORY = DUMP_DIR TABLES = SCOTT.EXPJOB_NAME =JOB1;
例如41:使用EXPDP导出SCOTT用户的所有表。
答:C:/> EXPDPsystem/oracle DUMPFILE = SCOTT.DMP DIRECTORY = SUMP_DIR SCHEMAS = SCOTT JOB_NAME= JOB2;
例如42:使用EXPDP导出整个数据库。
答:C:/>EXPDPSYSTEM/oracle DUMPFILE = ORCL.DMP DIRECTORY = DUMP_DIR FULL = Y JOB_NAME =JOB3;
IMPDP命令实现导入
IMPDP参数说明表(部分不全):
名称
说明
ATTACH
连接到现有的作业。
CONTENT
要导入的数据,设置值为ALL,DATA_ONLY和METADATA_ONLY
DIRECTORY
导入使用的目录对象。
DUMPFILE
要从EXPDAT.DMP中导入的转储文件的列表。
TABLES
在只导出一个方案的情况下,要导入的表的列表。
JOB_NAME
要创建的导入作业的名称。
SCHEMAS
导入的方案列表。
FULL
导入整个数据库。值为Y
例如43:使用IMPDP导入SCOTT用户的EXP表。
答:C:/> IMPDP system/oracleDUMPFILE = SCOTT_EMP.DMP DIRECTORY = DUMP_DIR TABLES = SCOTT.EMP JOB_NAME=JOB1;
例如44:使用IMPDP导入SCOTT用户的所有表。
答:C:/> IMPDP system/oracleDUMPFILE = SCOTT.DMP DIRECTORY = SUMP_DIR SCHEMAS = SCOTT JOB_NAME = JOB2;
例如45:使用IMPDP导入整个数据库。
答:C:/>IMPDP SYSTEM/oracleDUMPFILE = ORCL.DMP DIRECTORY = DUMP_DIR FULL = Y JOB_NAME = JOB3;