IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    dns解析导致opiodr aborting process unknown ospid (7266) as a result of ORA-609类似错误

    惜分飞发表于 2015-10-29 14:30:48
    love 0

    联系:手机(13429648788) QQ(107644445)QQ咨询惜分飞

    标题:dns解析导致opiodr aborting process unknown ospid (7266) as a result of ORA-609类似错误

    作者:惜分飞©版权所有[未经本人同意,请不得以任何形式转载,否则有进一步追究法律责任的权利.]

    数据库alert日志中出现大量类似opiodr aborting process unknown ospid (7266) as a result of ORA-609错误

    Tue Oct 27 07:51:10 2015
    opiodr aborting process unknown ospid (7266) as a result of ORA-609
    Tue Oct 27 08:16:56 2015
    opiodr aborting process unknown ospid (7660) as a result of ORA-609
    Tue Oct 27 08:17:16 2015
    opiodr aborting process unknown ospid (7666) as a result of ORA-609
    Tue Oct 27 08:21:50 2015
    opiodr aborting process unknown ospid (7725) as a result of ORA-609
    Tue Oct 27 08:37:43 2015
    opiodr aborting process unknown ospid (7940) as a result of ORA-609
    Tue Oct 27 08:51:25 2015
    opiodr aborting process unknown ospid (8126) as a result of ORA-609
    Tue Oct 27 09:07:16 2015
    opiodr aborting process unknown ospid (8359) as a result of ORA-609
    Tue Oct 27 09:26:09 2015
    opiodr aborting process unknown ospid (8600) as a result of ORA-609
    

    测试tnsping

    [oracle@Sql admin]$ tnsping orcl
    
    TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 28-OCT-2015 01:40:55
    
    Copyright (c) 1997, 2009, Oracle.  All rights reserved.
    
    Used parameter files:
    /opt/oracle/product/11.2.0/db_1/network/admin/sqlnet.ora
    
    
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.162)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.Sql.xifenfei.com)))
    OK (20120 msec)
    [oracle@Sql admin]$ tnsping orcl
    
    TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 28-OCT-2015 01:42:35
    
    Copyright (c) 1997, 2009, Oracle.  All rights reserved.
    
    Used parameter files:
    /opt/oracle/product/11.2.0/db_1/network/admin/sqlnet.ora
    
    
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.162)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.Sql.xifenfei.com)))
    OK (41600 msec)
    

    hosts文件配置

    [oracle@Sql admin]$ vi /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 
    192.168.2.162 Sql.xifenfei.com
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    

    同时测试lsnrctl start/stop/status都很慢,但是ping localhost非常快,证明问题在监听之上.search 关键字lsnrctl slow/tnsping slow关键字发现有相关文档:
    Bug 8307164 : TNSPING 11G USING DNS AND NOT HOSTS FILE
    Listener Startup or Connections Hang in 11g (Doc ID 803838.1)
    11g: Remote Connections Take Very Long to Establish (Doc ID 856820.1)
    通过这些文档,可以知道在oracle 10g中解析主机名使用gethostbyname()函数,11g中使用了使用getaddrinfo()函数.这个函数对于/etc/nsswitch.conf的调用和ethostbyname()不一样,从而出现此类问题.根据官方建议:

    Linux
    hosts: files [NOTFOUND=continue] dns OR  hosts:files/dns
    
    HPUX and Solaris
    ipnodes: files [NOTFOUND=continue] dns
    

    本次解决方法
    因为对于没有使用到dns服务器的数据库环境而言,没有必要配置这玩意,给自己埋雷,估计是当时安装yum之时没有清理掉

    vi /etc/nsswitch.conf
    hosts:      files nds  -->hosts:      files
    

    再次测试tnsping,lsnrctl等命令,速度ok

    [oracle@Sql"]$ tnsping orcl
    
    TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 28-OCT-2015 01:58:30
    
    Copyright (c) 1997, 2009, Oracle.  All rights reserved.
    
    Used parameter files:
    /opt/oracle/product/11.2.0/db_1/network/admin/sqlnet.ora
    
    
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.162)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.Sql.xifenfei.com)))
    OK (10 msec)
    

    对于此类监听慢的问题,可以通过对client/server端trace进一步跟踪

    TRACE_LEVEL_CLIENT = 16
    TRACE_FILE_CLIENT = client/server
    TRACE_DIRECTORY_CLIENT = [any valid directory path]
    TRACE_TIMESTAMP_CLIENT = ON
    DIAG_ADR_ENABLED=off
    
    • 因域名解析导致数据库连接延迟分析
    • ORA-609 TNS-12537 and TNS-12547 in 11g Alert.log
    • 远程访问ASM
    • hostname配置不切当导致TNS-12542错误
    • 记录一次ARC1: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned解决
    • 因IPC导致多个监听不能正常启动
    • IP=FIRST作用说明
    • RAC Failover三种方式
    • 在RAC中lsnrctl和srvctl操作监听区别
    • Oracle监听设置密码
    • 同台服务器多版本数据库监听配置
    • linux中不能ping通hostname可能存在问题


沪ICP备19023445号-2号
友情链接