Oracle 10G的Data Pump
Data Pump根据如下的顺序决定文件的位置:
1. 对该文件指定的目录对象;
2. 如果对一个文件没有指定目录对象,那么将默认使用初始化参数中的DIRECTORY指定的对象.
特权用户和非特权用户
Data Pump识别两类的用户:特权(Privileged)用户和非特权(Nonprivileged)的用户. Privileged用户具有EXP_FULL_DATABASE 和IMP_FULL_DATABASE权限. 非特权用户不具备这些权限.
特权用户可以作如下工作:
导出导入其他用户拥有的数据库对象.
导出导入非基于模式的对象(比如表空间和模式定义等内容).
对其他用户启动的Job进行一些操作.
Data Pump如何访问数据?
直接路径(Direct Path ,DP)和外部表(External Tables ,ET).ET模式下使用ORACLE_DATAPUMP驱动并使用直接路径API内部数据流格式.Oracle称Data Pump会自动选择最快的方法.
文件分配
Data Pump Job管理三种类型的文件:
Dump文件
Log文件 记录一个操作的相关信息
SQL文件 记录一个SQL_FILE操作输出的记录
指定文件和额外的附件文件
对于导出操作,你可以指定 Dump文件,随着操作的进行你发现文件空间有些不够,你可以使用交互模式下的 ADD_FILE 命令添加额外的文件.对于导入的操作.所有的dump文件必须在Job定义的时候指定. Log文件和SQL文件将覆盖存在的文件.Dump文件从不覆盖已经存在的文件.
设定并行度
对于导出和导入 ,并行度的设定(通过 PARALLEL 参数指定)应该低于或者等于Dump文件的个数.如果文件个数不足,性能可能会降低(多线程同时访问一个Dump文件).前面已经提及,标准版本10G并行度只有1,所以,这个参数实际上对企业版的10G才是有效的.
使用替代变量
在导出和导入操作中,可以使用%U替代变量来匹配文件名字,这样在一定情况下便捷了许多.
Data Pump中的Export和Import的新的特性相对于旧有的exp/imp,Data Pump中的Export和Import有很多新的特性,包括:
1 Data Pump Job执行到一半的时候指定最大线程数的能力.
2 Data Pump job是完全能重新启动的.
3 从长时间运行的Job分离或者是重新附加上去而不会对Job本身有影响.
4 支持通过网络的导出导入操作.
5 Remap_datafile.
6 支持完美粒度对象选择.
7 支持对Job的交互命令行模式监控和交互.
8 对待导入的对象的空间评估.
9 具备指定数据库版本对象移动能力.