因为只是简单的jdbc连接远端的oracle数据库,基本都没有安装oracle客户端.
但是服务报错提示连接失败,网络策略已开通,Telnet ip 端口是有反馈的.
想安装下client排查下原因.
oracle client的安装比较简单,直接下载zip格式进行解压缩
下载地址参考:https://www.oracle.com/database/technologies/instant-client/downloads.html
下了客户端发现一个问题,没有tnsping指令.
随即在oracle的服务端 copy了一个tnsping,具体参考如下:
scp $ORACLE_HOME/bin/tnsping oracle@ip_client:$ORACLE_HOME/tnsping
copy完后,也提示报错如下:
tnsping: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory
但是这个so是有的.查看配置才知道,没有lib目录,但是初始化环境变量的时候,执行了
export ORACLE_HOME=/opt/app/oracle/instantclient_11_2
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG='simplified chinese_china'.ZHS16GBK
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME:$PATH
也就是设置了LD_LIBRARY_PATH路径在lib下,随即建立了lib目录,且把所有的so文件copy到了lib下,再次执行tnsping
可以执行
期间:客户端解压好后:需要手动创建tnsnames.ora
路径: $ORACLE_HOME/network/admin