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

expdp(非本地)远程导出数据

原创 不吃草的牛_Nick 2022-08-02
1166

从本地服务器使用expdp从远程服务器导出一张表的数据,然后使用impdp导入到本地库,且没有远程服务器的登录账号。

1. 本地库创建dblink指向远程库。
create database link gf_local connect to username identified by password using 'tnsname';

2. 本地库创建directory目录对象。
create directory expdp_dir as '/home/oracle11g/expdp_dir/';

3. 本地库创建数据泵导出参数文件。
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(用户),否则会报错。

4. 执行导出命令。
expdp parfile=exp.par

开始报错了,提示:
ORA-31631:需要权限
ORA-39149:无法将授权用户链接到非授权用户

此时需要授予远程数据库用户exp_full_database权限:
GRANT exp_full_database TO username;


导入数据库账户需要有imp_full_database权限,导出数据库账户需要有exp_full_database权限。


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

评论