数据泵是10g新功能,终于告别export/import了。
主要的改进有:
1, Data pump生成的一组文件,而不是原来的一个文件;
2, Data pump的文件都是在服务器端和exp/imp在客户端比较,需要在数据库建立Directory,但速度更快;
3, Data pump导入导出时方式讲究等同性,如导出选FULL=Y,导入时Schemas=HR等同于导出时选Schemas=HR,导出时选FULL=Y;
[@more@]数据泵是10g新功能,终于告别export/import了。
主要的改进有:
1, Data pump生成的一组文件,而不是原来的一个文件;
2, Data pump的文件都是在服务器端和exp/imp在客户端比较,需要在数据库建立Directory,但速度更快;
3, Data pump导入导出时方式讲究等同性,如导出选FULL=Y,导入时Schemas=HR等同于导出时选Schemas=HR,导出时选FULL=Y;
4, Data pump使用并行技术,exp/imp是单线程,改善了性能;
5, Data pump对元数据不再使用DDL记录而是用XML格式,导入时更灵活;
6, Data pump会自我调节性能,不再需要设置参数来调节;
7, 原先import提供的在还原过程中能commit的功能不再提供;
8, 原先Compress参数提供的合并extent功能不再提供;
9, 线性的介质,如磁带,管道化设备不再提供支持;
10, Data pump在不同版本之间数据库的转移时与原先的exp/imp不同。原来转移到旧版本数据库时,需要使用旧版本的export生成文件来兼容老版本数据库;现在的Data pump可以在export时使用version参数来指定目标数据库的版本;
11, 在使用APPEND或TRUNCATE导入数据时,如果发现有违反当前限制规则的记录时,导入将不再继续,所有数据都不会导入;原来的导入会把违反的记录写入log文件然后继续导入;
12, Data pump需要比原来更大的undo表空间;
13, Data pump在导入时如果原来的数据表启用了压缩选项,那会尝试在导入时也进行压缩;而原来的import就算表用了压缩选项,导入时不会进行压缩;
14, Data pump对直接路径和外部表都支持字符集的转换,以前大多数的字符集转换限制不再适用于Data pump,唯一Data pump不支持字符集转换的情况是在使用可转移表空间;
系统默认的目录:
SELECT directory_name, directory_path FROM dba_directories WHERE directory_name='DATA_PUMP_DIR'
/
DIRECTORY_NAME
--------------------------------------------
DIRECTORY_PATH
--------------------------------------------
DATA_PUMP_DIR
d:OracleOraXEapporacleadminXEdpdump
一些有用的参数:
GRANT READ, WRITE ON DIRECTORY data_pump_dir to test
Export:
ESTIMATE_ONLY=y 评估所需空间大小;
CONTENT=DATA_ONLY 只要数据
EXCLUDE=TABLE:"IN ('COUNTRIES', 'REGIONS')" 不要导入的表名
NOLOGFILE=y 不要log
例如:
expdp hr/hr DUMPFILE=dpump_dir1:expschema.dmp LOGFILE=dpump_dir1:expschema.log
expdp apps/******** dumpfile=apps20100322.dmp logfile=apps20100322.txt
Import:
TABLE_EXISTS_ACTION=REPLACE 覆盖原表
REMAP_SCHEMA=source_schema:target_schema 转移到新用户下
VERSION={COMPATIBLE | LATEST | version_string} 版本控制
例如:
impdp hr/hr SCHEMAS=hr DIRECTORY=dpump_dir1 DUMPFILE=expschema.dmp
EXCLUDE=CONSTRAINT,REF_CONSTRAINT,INDEX TABLE_EXISTS_ACTION=REPLACE
impdp test@xe dumpfile=data_pump_dir:appsfull.dmp logfile= data_pump_dir:impapps.txt remap_schema=apps:test TABLE_EXISTS_ACTION=REPLACE EXCLUDE=job
impdp test@xe schemas=test directory= data_pump_dir dumpfile= appsfull.dmp logfile= impapps2.txt remap_schema=apps:test TABLE_EXISTS_ACTION=REPLACE EXCLUDE=job
为了使用expdp/impdp或SQL*LOAD备份/恢复,可以打开数据库时使用限制登录命令:
STARTUP RESTRICT
这样只有CREATE SESSION和RESTRICTED SESSION(一般是DBA才有RESTRICTED SESSION权限)的人员才能进入数据库;
要取消限制:
ALTER SYSTEM DISABLE RESTRICTED SESSION;
正常打开状态下要限制登录:
ALTER SYSTEM ENABLE RESTRICTED SESSION;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/1513/viewspace-1032357/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/1513/viewspace-1032357/