暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

expdp 通过network_link 进行 远程导出

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

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

本地库创建dblink指向远程库。
create database link link_oss connect to dba_ftc identified by xxxx using 'OSS';
本地库创建directory目录对象。
create directory expdp_dir as '/home/oracle11g/expdp_dir/';
本地库创建数据泵导出参数文件。
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(用户),否则会报错。

执行导出命令:
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)复制到本地!
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论