不同用戶下使用tnsping+客戶端服務名,結果不同

問題描述;

suse10sp2下安裝oracle11g客戶端,新建aipcti用戶,tnsping vsm(vsm爲客戶端下服務名)失敗,報錯:
TNS-03505: Failed to resolve name ,Used parameter files:
/opt/oracle/product/11g/db/network/admin/sqlnet.ora。
而在oracle用戶下直接執行此命令則沒有問題。
 

問題處理:
1,使用aipcti用戶直接tnsping +數據庫IP則沒有問題,但顯示是通過
Used EZCONNECT adapter to resolve the alias 來解析的。

2,打開客戶端下sqlnet.ora,裏面有通過客戶端訪問數據庫服務器順序。可以看到該文件中訪問順序是先訪問tnsnames,如果該文件下沒有相關內容或訪問失敗,再通過EZCONNECT訪問。

oracle@urp1vsmdb2:/opt/oracle/product/11g/db/network/admin> more sqlnet.ora
# sqlnet.ora Network Configuration File: /opt/oracle/product/11g/db/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)


3,顯示tnsname.ora的權限:
oracle@urp1vsmdb2:/opt/oracle/product/11g/db/network/admin> ll -al tnsnames.ora
-rw-r----- 1 oracle oinstall 493 2011-09-23 16:09 tnsnames.ora

發現aipcti用戶對該文件沒有執行權限導致訪問失敗。
修改tnsnames.ora權限
oracle@urp1vsmdb2:/opt/oracle/product/11g/db/network/admin> chmod 644 tnsnames.ora
oracle@urp1vsmdb2:/opt/oracle/product/11g/db/network/admin> ls -al tnsnames.ora
-rw-r--r-- 1 oracle oinstall 493 2011-09-23 16:09 tnsnames.ora

4,修改後再次在aipcti下執行已經可以正常tnsping 客戶端
</home/aipcti/icddir/bin>tnsping vsm

TNS Ping Utility for Linux: Version 11.1.0.7.0 - Production on 26-9?? -2011 14:38:04

Copyright (c) 1997, 2008, Oracle.  All rights reserved.

Used parameter files:
/opt/oracle/product/11g/db/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.110.153.64)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = uivr)))
OK (0 msec)

 

以下爲兩種方式下輸出結果對比:
1,aipcti用戶下使用tnsping+數據庫IP
</home/aipcti/icddir/bin>tnsping 10.110.153.64

TNS Ping Utility for Linux: Version 11.1.0.7.0 - Production on 26-9?? -2011 14:05:27

Copyright (c) 1997, 2008, Oracle.  All rights reserved.

Used parameter files:
/opt/oracle/product/11g/db/network/admin/sqlnet.ora

Used EZCONNECT adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=10.110.153.64)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)

(HOST=10.110.153.64)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.110.153.64)(PORT=1521)))
OK (0 msec)

2,aipcti用戶下使用tnsping+服務名,正常的:
oracle@urp1vsmdb2:/opt/oracle/product/11g/db/network/admin> tnsping vsm

TNS Ping Utility for Linux: Version 11.1.0.7.0 - Production on 26-SEP-2011 14:28:37

Copyright (c) 1997, 2008, Oracle.  All rights reserved.

Used parameter files:
/opt/oracle/product/11g/db/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.110.153.64)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = uivr)))
OK (10 msec)
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章