数据泵(EXPDP)异机导出---network_link
📚 前言
数据泵(EXPDP)异机导出是日常工作中经常使用的技能,但是数据泵是基于服务端执行导出的,有些用户无法登录服务端主机,因为无法使用该方式进行的导出。
因此,Oracle提供了 network_Link 参数,使用dblink远程导出的方式来实现!
实战演示
本文通过实战演示如何配置以及使用数据泵(EXPDP)异机导出。
1、配置TNS
配置dblink建议首先配置 TNS解析:
##配置tnsnames.ora
cat <<EOF>>$TNS_ADMIN/tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.211.55.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
EOF
2、创建数据泵导出目录
由于数据泵导出需要指定目录,因此需要创建导出目录:
##创建导出目录
mkdir -p /oradata/rmanbak/orcl
sqlplus / as sysdba
create or replace directory DATA_DUMP_ORCL as '/oradata/rmanbak/orcl';
3、创建DBLINK
上述准备工作做好之后,创建 dblink:
##创建ORCL的dblink用来传输dump到本地
sqlplus / as sysdba
create public database link DBLINK_ORCL connect to SYSTEM identified by using 'ORCL';
--drop public database link DBLINK_ORCL;
4、导出角色
执行导出命令,导出数据库所有角色:
--远程导出角色
expdp system/oracle network_link=dblink_orcl directory=DATA_DUMP_ORCL dumpfile=role.dmp full=y include=role LOGFILE=role_expdp.log
5、导出指定用户,排除部分表
执行导出命令,导出数据库指定用户:
##编写expdp导出命令脚本
cat <<EOF>>/oradata/rmanbak/orcl/expdp_all_orcl.txt
directory=DATA_DUMP_ORCL
dumpfile=orcl_\%U.dmp
logfile=orcl_exp.log
SCHEMAS='A','B','C','D'
EXCLUDE=table:"in('AAAAA')"
parallel=4
filesize=30G
network_link=DBLINK_ORCL
EOF
##授予执行权限
chmod +x expdp_all_orcl.txt
expdp system/oracle parfile=expdp_all_orcl.txt
注意:这里的system密码是目标端数据库的密码。
6、导出结果
执行完导出后,导出结果如下:
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:
/oradata/rmanbak/orcl/orcl_01.dmp
/oradata/rmanbak/orcl/orcl_02.dmp
/oradata/rmanbak/orcl/orcl_03.dmp
/oradata/rmanbak/orcl/orcl_04.dmp
/oradata/rmanbak/orcl/orcl_05.dmp
/oradata/rmanbak/orcl/orcl_06.dmp
/oradata/rmanbak/orcl/orcl_07.dmp
/oradata/rmanbak/orcl/orcl_08.dmp
当然,使用该方式仍有一些限制:
限制:
1. 带有long数据类型的表不能在expdp 加NETWORK_LINK时被导出。
2.带有object_type数据类型的表不能在expdp 加NETWORK_LINK时被导出。
3. 在expdp 加NETWORK_LINK时,不能导出分区表中的某个分区。
参考文献:
Export/Import DataPump Parameter VERSION - Compatibility of Data Pump Between Different Oracle Versions [Video] [ID 553337.1]
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力,技术交流可以添加公众号:Lucifer三思而后行~
转载自:https://juejin.cn/post/7025420614525517855