oracle11g中创建dblink怎么名字变了且不可用?
Create public database link mydblink1 Connect to myuser identified by myuserpassword using 'mylinkdb';
已配置好网络服务名mylinkdb确保可用的
结束创建后,本来名字是mydblink1,
却变成了mydblink1.fc.rtfgj.net
然后查询时
select * from myuser.mytbl@mydblink1
select * from myuser.mytbl@mydblink1.fc.rtfgj.net
都提示ora-12154无法解析指定的连接标识符,为什么呢?
急,急! 请大家帮忙!
------解决方案--------------------数据链名字好像根据操作系统类型自动添加成新名字。
------解决方案--------------------select * from myuser.mytbl@mydblink1
改成如下:
select * from mytbl@mydblink1
或者
select * from mydblink1.mytbl
。。。。。
------解决方案--------------------本来名字是mydblink1,却变成了mydblink1.fc.rtfgj.net
--名字会自动加后缀,哪个都能用
但是'mylinkdb'是确保可用的
--你认为的确保可用不是数据库认为的确保可用
------解决方案--------------------SQL> show parameter global_names
NAME TYPE VALUE
------------------------------------ -----------
global_names boolean FALSE
global_names参数并不是用来控制global_name的,而是用来限制dblink的使用.global_names参数的作用,简单得说来就是:当global_names参数设置为TRUE时,使用dblink的名称必须与被连接库的GLOBAL_NAME一致
所以,你检查一下这个参数试试