DBLINK

作者: 点点渔火 | 来源:发表于2017-09-28 12:16 被阅读0次

dblink建立跨库查询, 但是要注意clob和 blob字段不行, 解决办法是在:
1, 在源数据库做截断建视图处理 dbms_lob.substr(CHANGE_RESULT,4000,1)

2, 在目标数据库建临时表global temporary table 或者实体表

两种方法其实都不是太好, 查询速度都会受到很大影响, 最好还是定期做增量ETL吧

附部分转: http://blog.csdn.net/junfeng120125/article/details/7249321

dblink说明:

  • 查询:
    • select * from dba_db_links -- 存在哪些DBLINK
    • select * from user_sys_privs t
        where t.privilege like upper('%link%'); -- 是否有DBLINK权限
    • grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to test; -- DBLINK建立public和drop授权*
  • 创建:
    • 创建 public DBLINK的方法:
    create public database link dblink

       connect to totalplant identified by totalplant 

       using '(DESCRIPTION =

                (ADDRESS_LIST =

                  (ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521))

                )

                (CONNECT_DATA =

                  (SERVICE_NAME = prd.gdc)

                )

              )';
  • 语法解释:create public database link DBLINK名字(自己随便起)

             connect to 用户名 identified by 密码
    
             using '(DESCRIPTION =
    
                       (ADDRESS_LIST =
    
                         (ADDRESS = (PROTOCOL = TCP)(HOST = 要连接的数据库所在服务器的IP地址)(PORT = 1521))
    
                       )
    
                       (CONNECT_DATA =
    
                         (SERVICE_NAME = 要连接的数据库的在本地的服务名(即要连接的数据库的SID))
    
                       )
    
                     )';
    
  • 如果创建private的DBLINK

        create database link dblink

        connect to totalplant identified by totalplant 

        using '(DESCRIPTION =

                (ADDRESS_LIST =

                  (ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521))

                )

                (CONNECT_DATA =

                  (SERVICE_NAME = prd.gdc)

                )

              )';  
  • 查表:

    • select * from tbl_ost_notebook@dblink;
  • 删除:

    • drop public database link dblink;

    • 如果创建的是一个private的DBLINK,删除时需要用
      drop database link dblink;

相关文章

  • DBLINK

    dblink建立跨库查询, 但是要注意clob和 blob字段不行, 解决办法是在:1, 在源数据库做截断建视图处...

  • DBLink

    DBLink作用:跨库访问。在当前数据库访问别的数据库,使用DBLink可以在当前数据库编写sql来查询别的数据库...

  • DBLINK

    1.DBLINK 的定义 当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须 要创建远程数据...

  • Oracle建立DBLINK及同义词

    1、如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限: select * from u...

  • 【oracle】-创建DBlink

    一、创建DBlink的方法 二、创建DBlink后,要给相应的oracle用户赋予使用的权限用system或sys...

  • oracle dblink的创建

    oracle在进行跨库访问时,可以通过创建dblink实现,今天就简单的介绍下如果创建dblink 首先了解下环境...

  • Oracle分布式

    创建dbLink SQL> create database link dblinktest connect to ...

  • 解决ORA-02019: 未找到远程数据库的连接说明

    意见:这个报错一般是指,这个dblink不是public的,也不是你登录的这个帐号的,帐号看不到这个dblink....

  • DBLink(Oracle)

    两情若是久长时,又岂在朝朝暮暮 DBLink(Database Link):数据库链接顾名思义就是数据库的链接,就...

  • DBLINK小记

    之前没用过dblink,今天看到了,稍微记录一下 需求是:要从SIT数据库取数据,存放到DEV数据库中。 第一步、...

网友评论

      本文标题:DBLINK

      本文链接:https://www.haomeiwen.com/subject/yjmmextx.html