zoukankan      html  css  js  c++  java
  • Oracle学习(五)DBLINK

    一、DBLINK学习

    目的:为了解决跨库访问的需求。

    场景如下:tnsnames.ora(oracle的库配置文件)下配置了2个库的环境地址,现在要实现跨库访问。

    PS:DBLINK和是否同一个主机无关,只要跨库,不管2个库是不是在一台主机上,都要使用DBLINK进行通信(前提条件:两个库端口要通,可以使用telnet命令来测试)

    第一步:赋予权限

    --在创建database link(DBLINK)之前需要判断,登陆的用户是否具备创建database link 的权限

    PS:注意,此时登陆的账号是需要创建dblink的账号(用这个库去调用其他库) -- 1、查看当前登陆的账号是否具备创建database link 权限 select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='当前登陆的账号'; PS:如果查询有返回行,则表示具备创建database link权限,否则,则需要使用sys登陆orcl为当前登陆的账号赋予创建权限 -- 2、给当前登陆的账号授予创建dblink的权限 grant create public database link to '当前登陆的账号'; -- 3、 再次执行第一条查看是否具备权限的sql语句,会发现有返回行,表示,当前登陆的账号已经具备创建database link的权限 select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='当前登陆的账号';

    第二步:创建dblink

    方式1:pl/sql developer 图形化创建

     方式2:sql语句创建

    -- 1、注意一点,如果密码是数字开头,用“”括起来
    CREATE PUBLIC DATABASE LINK DBLINK名称 CONNECT TO 当前登陆账号 IDENTIFIED BY "密码" USING '连接的数据库'
    --例:
    CREATE PUBLIC DATABASE LINK TESTDBLINK CONNECT TO ZHANGHAO IDENTIFIED BY "123456" USING 'TESTDATABASE'
    
    -- 2、sql中直接写入库配置
    CREATE DATABASE LINK DBLINK名称 CONNECT TO 当前登陆账号 IDENTIFIED BY "密码" USING '
         (DESCRIPTION = 
              (ADDRESS_LIST = 
                  (ADDRESS = 
                     (PROTOCOL = TCP)
                     (HOST = XXX.XXX.XXX)
                     (PORT = 1521)
                                    ) 
                            ) 
                  (CONNECT_DATA = 
                      (SERVICE_NAME = XXXX)
                                    )         
                    )
    ';

    第三步:操作

    四、创建同义词(简化操作)

    -- 创建同义词
    create synonym TESTSYNONYM(同义词) FOR company@TESTLINK1;
    PS:创建同义词以后,查询、插入、修改、删除中可直接用 TESTSYNONYM 代替company@TESTLINK1,例如查询语句可改成如下方式(插入,修改,删除类似):
    SELECT * FROM TESTSYNONYM(同义词) order by id -- 查询ORCL2中WANGYONG用户的表COMPANY

    参考资料:

  • 相关阅读:
    Windows Server 2003 SP2(32位) 中文版 下载地址 光盘整合方法
    用Recycle()方法对Java对象的重要性
    Lotus中千奇百怪的 $$
    Developing a simple application using steps "User Decision" and "Mail"(1) 沧海
    沟通中的情绪管理(演讲稿) 沧海
    人只有在压力之下,才可能成功,没做一件事,都必须成功,不许言败 沧海
    什么是IDOC,以及IDOC的步骤 沧海
    VS2008 Professional Edition CHS中的deffactory.dat读取错误 沧海
    Including custom text in the step "User Decision" 沧海
    SAP Upgrade Strategy 沧海
  • 原文地址:https://www.cnblogs.com/riches/p/11260843.html
Copyright © 2011-2022 走看看