由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - 【已解决】oracle db link
相关主题
Oracle database link problemOracle-Client connect to Server Database problem
connect to an oracle server on anoter machinefound a way to corrupt oracle on NT
newbie's question about oracle Error Code 01034?
我的oracle 怎么了?question on JOIN on Oracle
如何在Unbuntu下启动oracleHow to creat user in Oracle?
Sql developer connection issue这几天Oracle 92I经常出现ORA-00600的错误
SQL Developer ORA-01017 错误servlet调用sql 访问oracle的问题
help! oracle8i client installation on Windows2000/NT4question about ORACLE 10g Express on Fedora
相关话题的讨论汇总
话题: tns话题: db话题: link话题: sql话题: admin
进入Database版参与讨论
1 (共1页)
c*****d
发帖数: 6045
1
碰到这么一个db link的问题
我有2个db server,比如说是db_a, db_b
然后我在db_a的user_a里创建了一个db_link_a_to_b
create database link db_link_a_to_b
connect to "user_b"
identified by "password_b"
using 'tns_a_to_b'
然后在db_a上创建了tns_a_to_b
tnsping tns_a_to_b成功
SQL> select * from dual@db_link_a_to_b
成功
现在我的laptop上用sqlplus连接db_a
tns_laptop_to_a
sqlplus user_a/password_a@tns_laptop_to_a
SQL> select * from dual@db_link_a_to_b
出错
ERROR at line 1:
ORA-12154: TNS:could not resolve the connect identifier specified
这个是啥情况?
不需要在laptop上创建tns_a_to_b
第一不需要,第二我试过了,还是一样的问题
m****d
发帖数: 372
2
listener启动的时候TNS_ADMIN设置不同于当前的TNS_ADMIN?
db_a server上:
sqlplus user/pwd@db_a
select * from db_link? 有问题吗?
如果没问题,db_a是不是设置了shared_server?

【在 c*****d 的大作中提到】
: 碰到这么一个db link的问题
: 我有2个db server,比如说是db_a, db_b
: 然后我在db_a的user_a里创建了一个db_link_a_to_b
: create database link db_link_a_to_b
: connect to "user_b"
: identified by "password_b"
: using 'tns_a_to_b'
: 然后在db_a上创建了tns_a_to_b
: tnsping tns_a_to_b成功
: SQL> select * from dual@db_link_a_to_b

c*****d
发帖数: 6045
3
呵呵,大牛出山了
可以看到这个dblink_a_to_b
B*****g
发帖数: 34098
4
鄙视你这种不贴解决方案的

【在 c*****d 的大作中提到】
: 碰到这么一个db link的问题
: 我有2个db server,比如说是db_a, db_b
: 然后我在db_a的user_a里创建了一个db_link_a_to_b
: create database link db_link_a_to_b
: connect to "user_b"
: identified by "password_b"
: using 'tns_a_to_b'
: 然后在db_a上创建了tns_a_to_b
: tnsping tns_a_to_b成功
: SQL> select * from dual@db_link_a_to_b

c*****d
发帖数: 6045
5
下午贴解决方法
c*****d
发帖数: 6045
6
我在网上找了很久,结果在一个论坛上找到一篇回文
和我的情况一模一样
解决方法很简单,但是原理未知
删除原来的db link
重新创建db link,但是在using 'tns_a_to_b'
换成tnsname.ora中tns_a_to_b的描述
using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host =
server_b)(Port = 1521))) (CONNECT_DATA = (SID=sid_b))) '
问题就神奇的解决了
c*****d
发帖数: 6045
7
究其原因,肯定是因为tns_a_to_b无法解析
现在把tns的描述直接放到db link里问题就解决了
但是为什么找不到tnsnames,
应该是因为tnsname.ora不在缺省位置
但是server_a上的oracle用户的profile里设置了TNS_ADMIN
m****d
发帖数: 372
8
如果db_a没有设置shared server,那应该是TNS_ADMIN的设置问题.listner启动时的TNS
_ADMIN与当前不同。
登陆到db_a server,
sqlplus user/pwd
select * from dual@db_link -> OK
sqlplus user/pwd@db_a
select * from dual@db_link -> get error.
你可以用下面的方法验证一下上面两种情况下TNS_ADMIN返回值是否一样。
SQL> var tmp_str varchar2(255);
SQL> exec dbms_system.get_env('TNS_ADMIN',:tmp_str);
SQL> print tmp_str
我遇到过shared server的问题,前段时间想去弄明白怎么回事的,但一直没空。

【在 c*****d 的大作中提到】
: 究其原因,肯定是因为tns_a_to_b无法解析
: 现在把tns的描述直接放到db link里问题就解决了
: 但是为什么找不到tnsnames,
: 应该是因为tnsname.ora不在缺省位置
: 但是server_a上的oracle用户的profile里设置了TNS_ADMIN

c*****d
发帖数: 6045
9
原因真是启动时TNS_ADMIN与当前的TNS_ADMIN不同!!!
ps -ef | grep tns | awk '{print $2}' | xargs pargs -e | grep TNS
TNS_ADMIN=$ORACLE_HOME/network/admin/$ORACLE_SID
SQL> CONN user/password@tns_laptop_to_a
SQL> var tmp varchar2(255)
SQL> exec dbms_system.GET_ENV('ORACLE_SID',:tmp);
SQL> print tmp
return NULL,这样就是在缺省的目录/var/opt/oracle下找
组里有ID在我前面troubleshooting的时候建议过把$ORACLE_HOME/network/admin/$
ORACLE_SID下的tnsnames.ora拷贝到$ORACLE_HOME/network/admin下试试
没有解决问题
其实我应该想到拷贝到/var/opt/oracle下试试的,晕

TNS

【在 m****d 的大作中提到】
: 如果db_a没有设置shared server,那应该是TNS_ADMIN的设置问题.listner启动时的TNS
: _ADMIN与当前不同。
: 登陆到db_a server,
: sqlplus user/pwd
: select * from dual@db_link -> OK
: sqlplus user/pwd@db_a
: select * from dual@db_link -> get error.
: 你可以用下面的方法验证一下上面两种情况下TNS_ADMIN返回值是否一样。
: SQL> var tmp_str varchar2(255);
: SQL> exec dbms_system.get_env('TNS_ADMIN',:tmp_str);

1 (共1页)
进入Database版参与讨论
相关主题
question about ORACLE 10g Express on Fedora如何在Unbuntu下启动oracle
问一下oracle高手Sql developer connection issue
Help!!!!我的tora为什么连不上oracle呀?SQL Developer ORA-01017 错误
editting .sql file problemhelp! oracle8i client installation on Windows2000/NT4
Oracle database link problemOracle-Client connect to Server Database problem
connect to an oracle server on anoter machinefound a way to corrupt oracle on NT
newbie's question about oracle Error Code 01034?
我的oracle 怎么了?question on JOIN on Oracle
相关话题的讨论汇总
话题: tns话题: db话题: link话题: sql话题: admin