• ORA-02085: database link string connect to string


    ORA-02085: database link string connects to string

    • Cause: a database link connected to a database with a different name. The connection is rejected.
    • Action: create a database link with the same name as the database it connects to, or set global_names=false.

    当数据库GLOBAL_NAMES参数设置为TRUE时,使用DB LINK连接其他库,DB LINK的名称必须与被连接库的GLOBAL_NAME一致,否则就会报这个错误。

    测试:

    ORCL 连接 DB11G数据库:

    查看orcl库的global_names参数:

    SQL> show parameter global_names
    
    NAME                      TYPE       VALUE
    ------------------------------------ ----------- ---------
    global_names                 boolean     FALSE
    
    
    SQL> select * from global_name;;
    
    
    GLOBAL_NAME
    ----------------------------------------------------------
    ORCL
    

      查看db11g库的参数设置:

    SQL> show parameter global_names
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- -------
    global_names                         boolean     FALSE
    SQL> select * from global_name;
    
    GLOBAL_NAME
    --------------------------------------------------------
    DB11G
    

      创建db_link,并查询,查询无问题:

    SQL> create public database link testlk1 connect to scott identified by tiger using 'db11g';
    
    Database link created.
    
    SQL> 
    SQL> select * from dual@testlk1;
    
    D
    -
    X
    

      将db11g数据库的global_names参数修改为true后,查询依然不会报错,也可以继续创建新的dblink。但是将orcl库的global_names参数修改为true时,查询将报如下错误:

    SQL> alter system set global_names=true;
    
    System altered.
    
    SQL> select * from dual@testlk1;
    select * from dual@testlk1
                       *
    ERROR at line 1:
    ORA-02085: database link TESTLK1 connects to DB11G
    

      而创建一个与db11g同名的dblink时,查询正常:

    SQL> create public database link db11g connect to scott identified by tiger using 'db11g';
    
    Database link created.
    
    SQL> select * from dual@db11g;
    
    D
    -
    X
    

      因此,global_names参数设置为TRUE时,将导致本库创建db_link时受限。也就是说,如果一个库(实例)的global_names参数设值为TRUE,该数据库使用dblink连接其他库是,dblink名称必须要与被连接的库的global_name相同。

  • 相关阅读:
    sql语句中的通配符
    Q&A 20090922
    Web大文件上传
    作别2010, 迎来2011的第一个工作日
    .Net 中 获取当前应用程序启动目录的几个方法
    asp.net身份验证和使用Silverlight的问题
    常用正则表达式
    最完美的xslt数值函数与字符串函数
    SQL2005的分页存储过程,支持多表多关联,亲测高效绝对可用
    处理大并发下的dropdownlist数据关联
  • 原文地址:https://www.cnblogs.com/zx3212/p/7404712.html
Copyright © 2020-2023  润新知