- 论坛徽章:
- 0
|
楼上
由于壶中原因 很久灭接触这个
不知道哦tnsping是什么意思 如何使用
Oracle linux client 下解决tnsping不能正常使用的办法
最近因为一些事情需要在linux下连接oracle server,所以就跟ray老大学了1点点oracle的小知识。
后来用tnsping想测试ora的连接,结果发现有如下的问题:
引用:
Message 3511 not found; No message file for product=network, facility=TNSTNS-03505: Message 3505 not found; No message file for product=network, facility=TNS
查了网上的帖子,大多数人都说是环境变量没对,而测试机里,其实只装了这些东西:
引用:
oracle-instantclient-basic-10.2.0.3-1
oracle-instantclient-sqlplus-10.2.0.3-1
根本没装巨大的oracle linux client,那是否意味着必须装这个大东西才能用?后来经过琢磨,发现以下方法可以让tnsping正确的使用。这里权当一个记录吧。
1)设置动态库的路径
echo "/usr/lib/oracle/10.2.0.3/client/lib" > /etc/ld.so.conf.d/oracle10.conf
然后执行ldconfig 更新cache
2)设置环境变量
export ORACLE_HOME=/usr/lib/oracle/10.2.0.3/client/
export TNS_ADMIN=$ORACLE_HOME
3)正确设置/usr/lib/oracle/10.2.0.3/client/tnsnames.ora
引用:
oratest =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oratest)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
4)拷贝tnsping需要的msg文件
从其他安装了oracle linux client这个大家伙的目录里,拷贝出来。例如:
将/home/oracle/oracle/product/10.2.0/client_1/network/ 目录拷贝到本机的:
/usr/lib/oracle/10.2.0.3/client 下
此时这个目录下就有:ls /usr/lib/oracle/10.2.0.3/client
bin lib network tnsnames.ora
5)执行测试
./tnsping oratest
结果:
引用:
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 07-JUL-2008 20:25:10
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oratest)))
OK (50 msec)
希望这个小帖子能给 |
|