温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

oracle dblink用法总结和expdp和impdp利用dblink倒入导出到本地

发布时间:2020-08-10 00:41:53 来源:ITPUB博客 阅读:227 作者:flywiththewind 栏目:关系型数据库

oracle中的database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表和执行远程程序。在任何分布式环境里,dblink都是必要的,另外注意database link是单向的连接。在创建database link的时候,oracle在数据字典中存储了相关的database link的信息,在使用database link的时候,oracle再通过oracle net用户预先定义好的连接信息访问相应的远程数据库来完成相应的工作。

1、在建立database link之前需要注意:

(1)确认从local database到remote database的网络连接是否正常,tnsping要能成功。

(2)确认在remote database上面有相应的访问权限。

2、oracle database link可分为下面三类:

(1)private:创建的是用户级别的dblink,只有创建该dblink的用户才可以使用这个dblink来访问远程的数据库,同时也只有该用户可以删除这个dblink。

(2)public:创建的是数据库级别的dblink,本地数据库中所有的用户数据库访问权限的用户或者pl/sql程序都能使用这个dblink。

(3)global:创建的是网络级别的dblink,这是对于oracle network而言的。

3、创建dblink需要的权限:

如果你新建了一个用户,那么你必须为它授予以下权限才可以创建dblink:create database link、create public database link、create session。

4、创建dblink:


此处)折叠或打开

  • expdp scott/tiger@172.17.146.3/orcl
  • 这边我 dblink 的用户是远程数据库,对应的用户是 lyz
    1. network_link=dl_OCPLYZ1
    由于我本地数据库和远程数据库的用户不一致,所以我们这边要加个前缀:lyz.xxt ,否则 数据库认不处你是来自哪里的表


    1. TABLES=lyz.TESTA
    然后会如下错误:找不到scott.testa,
    oracle dblink用法总结和expdp和impdp利用dblink倒入导出到本地

    也就是说,如果不加 用户来源:lyz.testa 表,数据库应该是默认成你这个
    1. TABLES=TESTA
    就是来自 scott表的,而scott表没有这个表,当然就报错了。。。我之前就是因为没写这个,所以一直报这个错,,,,

    当然如果你目标库(本地数据库)有这个lyz 这个用户,我们也可以这样写:

    然后我们再倒入到库就可以 了:这边要倒入的数据库为:oracl

    由于上面的是基于表的导出,我们可以用下面这个命令:


    impdp scott/tiger@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=exptable.dmp TABLES=lyz.TESTA REMAP_SCHEMA=lyz:scott table_exists_action=REPLACE

    oracle dblink用法总结和expdp和impdp利用dblink倒入导出到本地
    这边的意思是:impdp 倒入到 oracl库下的用户,倒入的路径为DATA_PUMP_DIR,倒入的dmp 文件为:exptable.dmp ,倒入的表为:TABLES=lyz.TESTA REMAP_SCHEMA=lyz:scott  这边的意思是  lyz用户到scott用户,table_exists_action=REPLACE  这边的意思是:如果表存在,就直接替换掉。

    或者是基于用户的倒入:去掉这个TABLES=lyz.TESTA,但是也是 lyz 用户到 scott用户

    impdp scott/tiger@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=exptable.dmp   REMAP_SCHEMA=lyz:scott table_exists_action=REPLACE

    oracle dblink用法总结和expdp和impdp利用dblink倒入导出到本地

    好了,这个就是 利用 db_link 的expdp 、impdp的导出导入。。。。。。。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI