ITPub博客

首页 > 数据库 > Oracle > expdp远程network_link导出方案

expdp远程network_link导出方案

Oracle 作者:ftc007 时间:2019-11-25 11:12:54 0 删除 编辑

很多时候,出于数据安全考虑,需要备份一些重要的业务数据,但这个时候 服务器没有直接登录的权限,我们只能通过数据库用户名方式进行访问,这个时候可以考虑用exp,但exp毕竟是个旧版的工具,功能没有expdp那么全面,但由于expdp只能在服务端进行本地备份写入,受限比较大,这个时候可以考虑用expdp的network_link方式进行远程导出或直接导入,下面是这个方案的详细介绍:

解决方案:通过dblink实现远程数据的导入导出。

  1. 本地库创建dblink指向远程库。
create database link link_oss connect to dba_ftc identified by ****** using 'OSS';
  1. 本地库创建directory目录对象。
create directory expdp_dir as '/home/oracle11g/expdp_dir/';
  1. 本地库创建数据泵导出参数文件。
vi exp.par:
userid=username/password  //本地库的用户名密码,可用上面创建的dblink和directory目录。
directory=expdp_dir  //本地库创建的directory目录。
dumpfile=gf_expdp.dump  //dump文件名。
logfile=gf_expdp.log  //日志文件名。
tables=depkf15.t_cp  //要导出的表。
query='"where rownum<1000001"' //导出条件,前100万行。
network_link=gf_local  //dblink名。

注意,这里有个小问题值得注意,tables=depkf15.t_cp,如果待导出表和登录用户不同,则这里需要添加导出的对象schema(用户),否则会报错。

1,执行导出命令。
expdp '"/ as sysdba"'  network_link=link_oss  directory=dir1 dumpfile=om_order.dmp tables=gdoss.om_order

impdp使用network_link直接导入
1,从源库直接复制用户到目标库。
建立从目标库连接源库的dblink,登录目标库使用下面语句

impdp system/password schemas=用户名 network_link=dblink

2,也可以将源库作为目标库,创建连接自身的dblink

impdp system/password schemas=用户名 network_link=dblink remap_schema=用户名:新用户名

通过network_link方式直接将远程用户(schema)复制到本地!

©版权声明:本文为   天凯DBS   的原创文章,转载请附上原文出处链接及本声明,否则将追究法律责任。


原文链接:   https://dbs-service.cn/a/176.html


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25401903/viewspace-2665533/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: DBA救火排杀脚本
请登录后发表评论 登录
全部评论
十年DBA实战经验,专注数据库运维与优化,长期服务金融,税务,电商等关键行业,深受客户一致好评! 更多DBA服务与实战资源,请点击文章末尾出处 “天凯DBS”!

注册时间:2014-03-11

  • 博文量
    7
  • 访问量
    13620