场景:
出现ORA-02085: database link %s connects to %s 的错误,
具体案例报错如下:ORA-02085:数据库链接ARPDB_41连接到ARPDB41
错误原因:
使用的dblink名称与要连接的数据库名字不相同
解决方法:
第一种:创建与对方数据库名字相同的dblink。
第二种:调整数据库参数global_names值为false。
第一种实践操作:
1)获取远程数据库名字
SQL> select * from global_name;
GLOBAL_NAME
-----------------------------
ARPDB41
2)创建与上述名字相同的dblink
create public database link ARPDB41
connect to 数据库用户
using '(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=ip地址)(PORT=1521))
(CONNECT_DATA=
(SID=arpdb)
)
)';
第二种实践操作:
1)调整数据库参数global_names值为false
SQL> alter system set global_names=FALSE;
System altered.
SQL> show parameter global_name
NAME TYPE VALUE
------------------------------------ ----------- ----------
global_names boolean FALSE
以上两种方法均能解决上述dblink的问题,看系统需求制定相应的解决方法。
出现ORA-02085: database link %s connects to %s 的错误,
具体案例报错如下:ORA-02085:数据库链接ARPDB_41连接到ARPDB41
错误原因:
使用的dblink名称与要连接的数据库名字不相同
解决方法:
第一种:创建与对方数据库名字相同的dblink。
第二种:调整数据库参数global_names值为false。
第一种实践操作:
1)获取远程数据库名字
SQL> select * from global_name;
GLOBAL_NAME
-----------------------------
ARPDB41
2)创建与上述名字相同的dblink
create public database link ARPDB41
connect to 数据库用户
using '(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=ip地址)(PORT=1521))
(CONNECT_DATA=
(SID=arpdb)
)
)';
第二种实践操作:
1)调整数据库参数global_names值为false
SQL> alter system set global_names=FALSE;
System altered.
SQL> show parameter global_name
NAME TYPE VALUE
------------------------------------ ----------- ----------
global_names boolean FALSE
以上两种方法均能解决上述dblink的问题,看系统需求制定相应的解决方法。