在Oracle数据库中,EXPDP(数据泵导出)和IMPDP(数据泵导入)是两个常用的工具,用于数据的迁移和备份。这些工具比传统的exp和imp工具更高效,支持更多的功能和参数。下面我们将详细解析EXPDP和IMPDP的参数,帮助读者更好地理解和使用这些工具。
一、EXPDP参数详解
- full=:这个参数用于指定是否导出所有数据和元数据。如果要执行完全导出,需要具有datapump_exp_full_database角色。
- schemas=:这个参数用于指定要导出的用户。如果不指定,将导出当前用户的模式。
- tables=[schema_name.]table_name[:partition_name][,…]:这个参数用于指定要导出的表。如果不指定表,将导出整个模式。
- tablespaces=tablespace_name[,…]:这个参数用于指定要导出的表空间。
- transport_tablespaces=tablespace_name[,…]:这个参数用于指定要导出的可移动表空间。
- query=[schema.][table_name:] query_clause:这个参数用于按查询条件导出数据。
- exclude=object_type[:name_clause][,…]:这个参数用于排除特定的对象类型。
- include=object_type[:name_clause][,…]:这个参数用于包括特定的对象类型。
- directory=directory_object:这个参数用于指定导出路径,默认为data_pump_dir。
- dumpfile=[directory_object:]file_name[,…]:这个参数用于指定导出的文件名,默认为expdat.dmp。
- logfile=[directory_object:]file_name:这个参数用于指定导出的日志文件名,默认为export.log。
- content=[all|data_only|metadata_only]:这个参数用于指定要导出的数据,默认为all。
- parallel=integer:这个参数用于指定并行度,默认为1。
- ENCRYPTION_PASSWORD:对转储的文件进行加密。
- JOB_NAME:给导出作业提供一个明确的名字,否则Oracle会分配一个默认名字。
- STATUS:如运行长时间的导出作业,此参数可以按照所指定的时间间隔提供更新的状态。单位是秒,如果想每分钟显示导出状态就用status=60。
- ATTACH:将你的数据泵取客户机会话加入到一个运行的作业中,并使你进行交互方式。此参数只能与用户名/密码组合一起使用。
二、IMPDP参数详解
- full=:这个参数用于指定是否导入所有数据和元数据。如果要执行完全导入,需要具有datapump_imp_full_database角色。
- schemas=:这个参数用于指定要导入的用户。如果不指定,将导入整个模式。
- tables=[schema_name.]table_name[:partition_name][,…]:这个参数用于指定要导入的表。如果不指定表,将导入整个模式。
- tablespaces=tablespace_name[,…]:这个参数用于指定要导入的表空间。
- transport_tablespaces=tablespace_name[,…]:这个参数用于指定要导入的可移动表空间。
- query=[schema.][table_name:] query_clause:这个参数用于按查询条件导入数据。
- exclude=object_type[:name_clause][,…]:这个参数用于排除特定的对象类型。
- include=object_type[:name_clause][,…]:这个参数用于包括特定的对象类型。
- directory=directory_object:这个参数用于指定导入路径,默认为data_pump_dir。
- dumpfile=[directory_object:]file_name[,…]:这个参数用于指定要导入的文件名,默认为impdat.dmp。
- logfile=[directory_object:]file_name:这个参数用于指定导入的日志文件名,默认为import.log。
- content=[all|data_only|metadata_only]:这个参数用于指定要导入的数据,默认为all。
- **parallel=integer