ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一个斜线引起的客户端连接异常

一个斜线引起的客户端连接异常

原创 Linux操作系统 作者:lxjweb 时间:2012-11-23 15:06:09 0 删除 编辑
1. 概述
客户反映一套单机10G库,启动异常,经过处理,启动正常,但是在启动侦听后,发现客户端连接异常,从库所在主机通过侦听连接提示连接到一个空实例。
在检查了相关的配置文件后,最终发现是一个多余的斜线导致的。
.
2. 处理过程
2.1. 客户端错误现象
客户端错误提示:
 
 ORA-01034:ORACLE not available
 ORA-27101:shared memory realm does not exist
 IBM AIX RISC System/6000 Error: 2: No such file or directory
本机通过侦听连接异常提示:
SQL> conn sys/pass@xxx as sysdba
Connected to an idle instance.
本机通过OS认证方式连接,没有问题:
SQL>
SQL> conn sys/pass as sysdba
Connected.
2.2. 分析各种配置文件
2.2.1. Oracle用户.profile文件配置.
export PATH
if [ -s "$MAIL" ]           # This is at Shell startup.  In normal
then echo "$MAILMSG"        # operation, the Shell checks
fi                          # periodically.
export readonly TMOUT TIMEOUT
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/10.2.0
export ORACLE_SID=SidName
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:.
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH:/usr/local/bin
umask 022
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
export TEMP=/tmp
export TMPDIR=/tmp
alias h="cd $ORACLE_HOME"
经过确认,没有发现异常。
2.2.2. 主机hosts文件配置
127.0.0.1               loopback localhost      # loopback (lo0) name/address
xxx.xxx.xxx.11   HostA  HostA
xxx.xxx.xxx.20   Ccpa4aemerg       Ccpa4aemerg
xxx.xxx.xxx.11   Cc-pb-4a-sv01     Cc-pb-4a-sv01
#xxx.xxx.xxx.12  Hostb 
xxx.xxx.xxx.11   pb4a_1_per

xxx.xxx.xxx.13   db_svc
xxx.xxx.xxx.14   ldap_svc  bj_pb_4a_sv02
xxx.xxx.xxx.12   Hostb Cc-pb-4a-sv02  Hostb

虽然有点乱,但是也没啥异常
2.2.3. 侦听配置
# listener.ora Network Configuration File: /opt/oracle/product/10.2.0//network/admin/listener.ora
# Generated by Oracle configuration tools.
#INBOUND_CONNECT_TIMEOUT_ = 110
#SUBSCRIBE_FOR_NODE_DOWN_EVENT_=OFF
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = Hosta )(PORT = 1521))
      )
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (ORACLE_HOME = /opt/oracle/product/10.2.0/)
      (SID_NAME = SidName)
    )
  )
3. Tnsnames.ora
# tnsnames.ora Network Configuration File: /opt/oracle/product/10.2.0/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
SidName =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.12)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = SidName)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
2.3. 分析过程
2.3.1. Tnsping 测试
bash-3.2$ tnsping xxx
TNS Ping Utility for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production on 20-NOV-2012 10:57:36
Copyright (c) 1997,  2007, Oracle.  All rights reserved.
Used parameter files:
/opt/oracle/product/10.2.0/network/admin/sqlnet.ora

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ipaddress)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = SidName)))
OK (0 msec)
Tnsping 显示均正常
2.3.2. 重启侦听、查看侦听状态及服务状态
bash-3.2$ lsnrctl status
LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production on 20-NOV-2012 09:27:32
Copyright (c) 1991, 2007, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Hostb)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production
Start Date                16-NOV-2012 12:49:36
Uptime                    3 days 20 hr. 37 min. 56 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/10.2.0/network/admin/listener.ora
Listener Log File         /opt/oracle/product/10.2.0/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Hosta)(PORT=1521)))
Services Summary...
Service "SidName" has 1 instance(s).
  Instance "SidName", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
 

bash-3.2$ lsnrctl service
LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production on 20-NOV-2012 09:28:29
Copyright (c) 1991, 2007, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ipaddress)(PORT=1521)))
Services Summary...
Service "SidName" has 1 instance(s).
  Instance "SidName", status UNKNOWN, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:10 refused:0
         LOCAL SERVER
The command completed successfully
如上所示,显示侦听运行着,且实例也已经在里面进行了注册。
4. 结论
在侦听配置文件里的如下部分:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (ORACLE_HOME = /opt/oracle/product/10.2.0/)
      (SID_NAME = SidName)
    )
  )
这个黄色背景行的/,就是本次异常的罪魁祸首,去掉此/,重启侦听后,客户端连接正常。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/388619/viewspace-749843/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-06-08

  • 博文量
    14
  • 访问量
    51474