likes
comments
collection
share

数据泵(EXPDP)异机导出---network_link

作者站长头像
站长
· 阅读数 10

📚 前言

数据泵(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三思而后行~