• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Oracle中建立了dblink怎么使用

    Oracle应用服务器OS

      1.查看数据库的global_name

    SELECT * FROM GLOBAL_NAME;

      2.查看global_name参数是true还是false

     show parameter global_name

           如果为true,本地建立的dblink名称必须与远程的global_name一致才行。 

      3.创建dblink

    CREATE DATABASE LINK数据库链接名
        CONNECT TO 用户名 
        IDENTIFIED BY 密码 
        USING ‘数据库连接字符串';

          例1:

     CREATE PUBLIC DATABASE LINK CONN_MY_LINK
        CONNECT TO MYUSER IDENTIFIED BY MYPASSWORD
        USING 'MYORAL';

           其中MYORAL为客户端服务器建立的访问服务端服务器的本地命名,

           LINK CONN_MY_LINK为本地建立的dblink名称

           例2:       

      CREATE PUBLIC DATABASE LINK LINK_HSMIS
            CONNECT TO BI 
            IDENTIFIED BY BI 
           USING '(DESCRIPTION =
                 (ADDRESS_LIST =
                 (ADDRESS = (PROTOCOL = TCP)(HOST = 10.188.245.201)(PORT = 1521))
                 )
                (CONNECT_DATA =
                (SERVICE_NAME = hsmis)
                )
            )';

              直接用本地命名连接字符串替代本地命名。

    // 赋予创建权限
        grant CREATE DATABASE LINK to smis;    
        grant CREATE SYNONYM to smis;

     4.查询dblink是否创建成功

     SELECT * FROM DUAL@数据库链接名
       或SELECT * FROM表名@数据库链接名

      5.删除dblink

     drop public database link CONN_MY_LINK

      6.使用同义词简化:

     CREATE SYNONYM S_MY_TABLE FOR TABLENAME@数据库链接名;

      7.db_link查询时出现锁的解决方案

          每次使用db_link查询时释放连接,调用dbms_session包中的关闭函数即可

          例:dbms_session.close_database_link(CONN_MY_LINK);

          或使用dblink的时候,即使是select文也要进行commit,或者是rollback,否则时间长了会阻碍其他进程。

      8.查询dblink时出现无法处理服务器名的解决方案

           要在相应的数据库在服务器上建立相应的连接, 如A数据库在A1服务器上,B数据库在b1服务器上,如果要在A数据库中连接B数据库,则要在服务器A1上建立相应的tnsnames配置项如下:
         (在Win环境下的Oracle中,Oracle\Network\ADMIN\tnsnames.ora 文件中进行配置)

    A_TO_B =  
       (DESCRIPTION =  
       (ADDRESS_LIST =  
       (ADDRESS = (PROTOCOL = TCP)(HOST =A2服务器的IP)(PORT = 1521)) )     
       (CONNECT_DATA =  
       (SERVICE_NAME = B数据库的服务名))) 

          然后建立相应dblink,容易犯的错误是:

          在自已的客户端的tnsname.ora中建立连接,而没有在A数据库所有的

          服务器A1的tnsname.ora中建立连接。

      9.查看锁表进程和解锁

         (1)方式一:

     select sess.sid,  
       sess.serial#,  
       lo.oracle_username,  
       lo.os_user_name,  
       ao.object_name,  
       lo.locked_mode  
       from v$locked_object lo,  
       dba_objects ao,  
       v$session sess  
       where ao.object_id = lo.object_id and lo.session_id = sess.sid;

         (2)方式二:

     select * from v$session t1, v$locked_object t2 
       where t1.sid = t2.SESSION_ID;

         (3)进程解锁  

         如有记录则表示有锁,记录下SID和serial# ,将记录的ID替換下面的SID, serial,即可解除LOCK

       alter system kill session 'SID,serial';

    以上所述是小编给大家介绍的oracle中dblink应用小结,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • oracle跨库查询dblink的用法实例详解
    • Oracle10g通过DBLink访问MySQL示例
    • Oracle DATABASE LINK(DBLINK)创建与删除方法
    • oracle数据库在客户端建立dblink语法
    • Oracle中dblink的实际应用示例详解
    上一篇:oracle表被锁定的完美解决方法
    下一篇:详解Oracle隐式游标和显式游标
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Oracle中建立了dblink怎么使用 Oracle,中,建立,了,dblink,怎么,