zoukankan      html  css  js  c++  java
  • Oracle DBlink的创建-查看与删除

    DBlink常用于在两个Oracle数据库之间相互连接,如手工同步数据时,DBLink是最方便快捷的手段之一。

    1、创建DBLink语法:
    create public database link <DBLink名称> connect to <被连接库的用户名> identified by <被连接库的密码> using '<Oracle客户端工具建立的指向被连接库服务名,即TNSNAME中配置的本地服务名>';
    public指明所有用户均可使用这个DBlink,如果不指定,则只有创建者才能使用。

    2、授权用户具有创建dblink的权限
    创建dblink的用户有对应的数据库权限
    create public database link 或者create database link
    可以使用
    grant create public database link, create database link to username;

    3、使用本地服务名来创建public dblink

    SQL> create public database link link201orcl connect to scott identified by tiger using 'rhel201';
    
    数据库链接已创建。
    
    SQL> select sysdate from dual@link201orcl; --使用dblink连接并查询远程数据库中的系统时间
    
    SYSDATE
    --------------
    26-4月 -15
    
    SQL>

    但这种方式有个缺点就是必须要在服务器建立一个被连接库的服务名,如果不建则会报错:
    ORA-12154: TNS: 无法处理服务名
    如果直接使用地址来建DBLink,就可以省去配置服务名的麻烦了:

    4、不需要配置本地服务名,在创建dblink时加上description信息

    SQL> create public database link link201 connect to scott identified by tiger using
    2 '(DESCRIPTION =
    3 (ADDRESS_LIST =
    4 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.201)(PORT = 1521))
    5 )
    6 (CONNECT_DATA =
    7 (SERVICE_NAME = orcl)
    8 )
    9 )';
    Database link created
    
    SQL> select * from emp@link201; --使用dblink连接并查询远程数据库中的表
    EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
    ----- ---------- --------- ----- ----------- --------- --------- ------
    7369 SMITH CLERK 7902 1980/12/17 800.00 999.00 20
    7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30
    ......

    5、查看dblink
    select owner,object_name from dba_objects where object_type='DATABASE LINK';
    或者
    select * from dba_db_links;

    select owner,object_name from dba_objects where object_type='DATABASE LINK';
    或者
    select * from dba_db_links;
    SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';
    OWNER                          OBJECT_NAME
    ------------------------------ --------------------------------------------------------------------------------
    PUBLIC                         LINK201
    PUBLIC                         LINK201ORCL
    
    SQL> select * from dba_db_links;
    
    OWNER      DB_LINK      USERNAME   HOST                                               CREATED
    ---------- ------------ ---------- -------------------------------------------------- --------------------
    PUBLIC     LINK201ORCL  SCOTT      rhel201                                            26-4月 -15
    PUBLIC     LINK201      SCOTT      (DESCRIPTION =                                     26-4月 -15
                                        (ADDRESS_LIST =
                                        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.201)
                                       (PORT = 1521))
                                        )
                                        (CONNECT_DATA =
                                        (SERVICE_NAME = orcl)
                                        )
                                       )

    5、删除dblink
    drop database link linkname;
    drop public database link linkname;

  • 相关阅读:
    extgcd 扩展欧几里得算法模板
    51nod 1073约瑟夫环
    UVA 11806 Cheerleaders (容斥原理
    HDU 1863 畅通工程 (最小生成树
    并查集模板
    51NOD 1072 威佐夫游戏
    Java基于JAX-RD开发Restful接口
    tomcat的webapps下放置多个项目时会出现很多exception
    带滚动条的表格
    禁止apache显示目录索引的常见方法
  • 原文地址:https://www.cnblogs.com/rusking/p/4458732.html
Copyright © 2011-2022 走看看