impdp 导入单个对象
impdp 是 Oracle 数据泵导入工具,用于将之前使用 expdp 导出的数据和对象导入到数据库中。下面分别介绍导入单个索引和单个包(包含包规范和包体)的语法。导入单个索引
基本语法
impdp username/password@connect_string \
directory=directory_object \
dumpfile=dumpfile_name \
schemas=schema_name \
tablespaces=tablespace_name \
INCLUDE=INDEX:"= 'index_name'"
参数解释
username/password@connect_string:数据库登录信息,username是用户名,password是密码,connect_string是连接字符串。directory=directory_object:指定转储文件所在的目录对象,该对象在数据库中是逻辑上的,对应操作系统的一个物理目录。dumpfile=dumpfile_name:指定要导入的转储文件名。schemas=schema_name:指定要导入对象所属的模式。tablespaces=tablespace_name:指定索引所在的表空间(可选,如果导出文件中已包含表空间信息,可省略)。INCLUDE=INDEX:"= 'index_name'":明确只导入指定名称的索引。
示例
假设:
- 用户名是
hr,密码是hrpassword。 - 连接字符串是
ORCLCDB。 - 目录对象是
DATA_PUMP_DIR。 - 转储文件名为
expdp_hr.dmp。 - 模式名是
hr。 - 要导入的索引名为
EMP_EMAIL_UK。
命令如下:
impdp hr/hrpassword@ORCLCDB \
directory=DATA_PUMP_DIR \
dumpfile=expdp_hr.dmp \
schemas=hr \
INCLUDE=INDEX:"= 'EMP_EMAIL_UK'"
导入单个包(包含包规范和包体)
基本语法
impdp username/password@connect_string \
directory=directory_object \
dumpfile=dumpfile_name \
schemas=schema_name \
INCLUDE=PACKAGE:"= 'package_name'"
参数解释
与导入索引的参数类似,
INCLUDE=PACKAGE:"= 'package_name'" 用于明确只导入指定名称的包。示例
假设:
- 用户名是
hr,密码是hrpassword。 - 连接字符串是
ORCLCDB。 - 目录对象是
DATA_PUMP_DIR。 - 转储文件名为
expdp_hr.dmp。 - 模式名是
hr。 - 要导入的包名为
EMPLOYEE_PACKAGE。
命令如下:
impdp hr/hrpassword@ORCLCDB \
directory=DATA_PUMP_DIR \
dumpfile=expdp_hr.dmp \
schemas=hr \
INCLUDE=PACKAGE:"= 'EMPLOYEE_PACKAGE'"
注意事项
- 确保目录对象已正确创建,并且具有相应的读写权限。
- 确保转储文件中包含你想要导入的对象。
- 如果转储文件位于不同的数据库实例,需要保证该实例和目标实例之间的网络连接正常。
- 对于包的导入,如果只想导入包体,可以使用
INCLUDE=PACKAGE_BODY:"= 'package_name'"。
浙公网安备 33010602011771号