Yukki 数据和云 

墨墨导读:expdp和impdp是oracle数据库之间移动数据的工具,本文简单总结了数据泵的常用命令,希望对大家有帮助。


前言

expdp和impdp是oracle数据库之间移动数据的工具。expdp和impdp只能在数据库服务端使用,不能在客户端使用。本文简单总结了expdp和impdp常用的命令,详细信息参考oracle官方文档Utilities。


directory相关SQL语句:

select * from dba_directories;
create directory my_dir as '/home/oracle/tmp';
grant read,write on directory my_dir to scott;


EXPDP导出

注意:
1、导数的数据库用户需要拥有对directory_object的读写权限。
2、操作系统中需要已经存在directory_object指定的路径。
3、oracle用户拥有对directory_object指定路径的读写权限。
4、system用户导出用户,会将创建用户和授予系统权限的元数据也导出,普通用户不能导出这些元数据。

expdp命令示例

##导出一张表,例:
expdp system/oracle directory=my_dir dumpfile=expdp.dmp   logfile=expdp.log tables=scott.emp

#
#导出多张表,例:
expdp system/oracle directory=my_dir dumpfile=expdp.dmp   logfile=expdp.log tables=\(scott.emp,scott.dept\)

#
#导出一个用户(导出这个用户的所有对象),例:
expdp system/oracle directory=my_dir dumpfile=expdp.dmp   logfile=expdp.log schemas=scott

#
#导出多个用户,例:
expdp system/oracle directory=my_dir dumpfile=expdp.dmp   logfile=expdp.log schemas=\(scott,hr\)

#
#导出整个数据库(sys、ordsys、mdsys的用户数据不会被导出)例:
expdp system/oracle directory=my_dir dumpfile=expdp.dmp   logfile=expdp.log full=yes


以导出一个用户为例

##并行导出:
expdp system/oracle directory=my_dir dumpfile=expdp%U.dmp logfile=expdp.log schemas=scott parallel=5

#
#导出用户元数据(包含表定义、存储过程、函数等等):
expdp system/oracle directory=my_dir dumpfile=expdp.dmp   logfile=expdp.log schemas=scott content=metadata_only

#
#导出用户存储过程,例:
expdp system/oracle directory=my_dir dumpfile=expdp.dmp   logfile=expdp.log schemas=scott include=procedure

#
#导出用户函数和视图,例:
expdp system/oracle directory=my_dir dumpfile=expdp.dmp   logfile=expdp.log schemas=scott include=\(function,view\)

#
#导出一个用户,但不包括索引,例:
expdp system/oracle directory=my_dir dumpfile=expdp.dmp   logfile=expdp.log schemas=scott exclude=index


expdp参数说明:

attach=[schema_name.]job_name
说明:nodefault。连接到作业,进入交互模式。

导出模式,以下五个参数互斥。
full=[yes|no]
说明:nodefault。导出所有数据和元数据。要执行完全导出,需要具有datapump_exp_full_database角色。

schemas=schema_name[,...]
说明:default current user's schema。导出用户。

tables=[schema_name.]table_name[:partition_name][,...]
说明:nodefault。导出表。

tablespaces=tablespace_name[,...]
说明:nodefault。导出表空间。

transport_tablespaces=tablespace_name[,...]
说明:nodefault。导出可移动表空间。

过滤条件,以下三个参数互斥:
query=[schema.][table_name:] query_clause
说明:nodefault。按查询条件导出。

exclude=object_type[:name_clause][,...]
说明:nodefault。排除特定的对象类型。

include=object_type[:name_clause][,...]
说明:nodefault。包括特定的对象类型。

其他参数:
directory=directory_object
说明:default:data_pump_dir。导出路径。

dumpfile=[directory_object:]file_name[,...]
说明:default:expdat.dmp。导出的文件名。

logfile=[directory_object:]file_name
说明:default:export.log。导出的日志文件名。

content=[all|data_only|metadata_only]
说明:default:all。指定要导出的数据。

parallel=integer
说明:default:1。并行度,该值应小于等于dmp文件数量,或可以为'dumpfile='使用替换变量'%U'。
        RAC环境中,并行度大于1时,注意目录应该为共享目录。

compression=[all|data_only|metadata_only|none]
说明:default:metadata_only。压缩。

parfile=[directory_path]file_name
说明:nodefault。指定导出参数文件名称。

network_link=source_database_link
说明:nodefault。连接到源数据库进行导出。

filesize=integer[b|kb|mb|gb|tb]
说明:default:0不限制大小。指定每个dmp文件的最大大小。
     如果此参数小于将要导出的数据大小,将报错ORA-39095。

job_name=jobname_string
说明:default:system-generated name of the form SYS_EXPORT_<mode>_NN。指定job名称。

version=[compatilble|latest|version_string]
说明:default:compatible。默认兼容模式,可以指定导出dmp文件的版本。





出处:墨天轮(https://www.modb.pro/db/7847,复制到网页中打开或者点击“阅读原文”)