ORA-07445&ORA-00108错误案例

由于需要ORACLE的UAT测试环境,克隆了虚拟机后,修改IP地址后,启动实例遇到了ORA-07445 &ORA-00108错误.

案例环境:

 

SQL> select * from v$version;

 

BANNER

----------------------------------------------------------------

Oracle Database 10g Release 10.2.0.4.0 - 64bit Production

PL/SQL Release 10.2.0.4.0 - Production

CORE    10.2.0.4.0      Production

TNS for Linux: Version 10.2.0.4.0 - Production

NLSRTL Version 10.2.0.4.0 - Production

告警日志文件alert里面出现如下错误信息:

Thu Jun 11 13:45:51 2015

Errors in file /u01/app/oracle/admin/epps/bdump/epps_ora_5109.trc:

ORA-07445: exception encountered: core dump [kslgetl()+120] [SIGSEGV] [Address not mapped to object] [0x000000208] [] []

ORA-00108: failed to set up dispatcher to accept connection asynchronously

Thu Jun 11 13:45:54 2015

found dead dispatcher 'D000', pid = (16, 4)

Thu Jun 11 13:45:54 2015

dispatcher 'D000' encountered error getting listening address

Thu Jun 11 13:45:54 2015

Errors in file /u01/app/oracle/admin/epps/bdump/epps_ora_5113.trc:

ORA-07445: exception encountered: core dump [kslgetl()+120] [SIGSEGV] [Address not mapped to object] [0x000000208] [] []

ORA-00108: failed to set up dispatcher to accept connection asynchronously

Thu Jun 11 13:45:57 2015

found dead dispatcher 'D000', pid = (16, 5)

Thu Jun 11 13:45:58 2015

dispatcher 'D000' encountered error getting listening address

Thu Jun 11 13:45:58 2015

Errors in file /u01/app/oracle/admin/epps/bdump/epps_ora_5115.trc:

ORA-07445: exception encountered: core dump [kslgetl()+120] [SIGSEGV] [Address not mapped to object] [0x000000208] [] []

ORA-00108: failed to set up dispatcher to accept connection asynchronously

Thu Jun 11 13:46:00 2015

found dead dispatcher 'D000', pid = (16, 6)

Thu Jun 11 13:46:01 2015

dispatcher 'D000' encountered error getting listening address

Thu Jun 11 13:46:01 2015

Errors in file /u01/app/oracle/admin/epps/bdump/epps_ora_5117.trc:

ORA-07445: exception encountered: core dump [kslgetl()+120] [SIGSEGV] [Address not mapped to object] [0x000000208] [] []

ORA-00108: failed to set up dispatcher to accept connection asynchronously

ORA-07445&ORA-00108错误案例

[oracle@getlnx01uat ~]$ more /u01/app/oracle/admin/epps/bdump/epps_ora_5109.trc

/u01/app/oracle/admin/epps/bdump/epps_ora_5109.trc

Oracle Database 10g Release 10.2.0.4.0 - 64bit Production

ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1

System name:    Linux

Node name:      getlnx01uat.esquel.com

Release:        2.6.32-200.13.1.el5uek

Version:        #1 SMP Wed Jul 27 21:02:33 EDT 2011

Machine:        x86_64

Instance name: epps

Redo thread mounted by this instance: 1

Oracle process number: 16

Unix process pid: 5109, image: oracle@getlnx01uat.esquel.com (D000)

 

Warning: keltnfy call to ldmInit failed with error 46

*** 2015-06-11 13:45:51.950

network error encountered getting listening address:

  NS Primary Error: TNS-12533: TNS:illegal ADDRESS parameters

  NS Secondary Error: TNS-12560: TNS:protocol adapter error

  NT Generic Error: TNS-00503: Illegal ADDRESS parameters

OPIRIP: Uncaught error 108. Error stack:

ORA-00108: failed to set up dispatcher to accept connection asynchronously

Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0x208, PC: [0x75f178, kslgetl()+120]

*** 2015-06-11 13:45:51.954

ksedmp: internal or fatal error

ORA-07445: exception encountered: core dump [kslgetl()+120] [SIGSEGV] [Address not mapped to object] [0x000000208] [] []

ORA-00108: failed to set up dispatcher to accept connection asynchronously

Current SQL information unavailable - no session.

............................................

解决方法:

 

ORA-07445[kslgetl()+120]/ORA-00108错误解决这篇文章了解到可能是主机名不能被正常访问导致,于是从下面验证后,发现是自己不小心编辑/etc/hosts

ORA-07445&ORA-00108错误案例

[oracle@getlnx01uat ~]$ hostname

getlnx01uat.esquel.com

[oracle@getlnx01uat ~]$ ping getlnx01uat.esquel.com

PING getlnx01uat.esquel.com (192.168.xxx.xxx) 56(84) bytes of data.

64 bytes from getlnx01uat.esquel.com (192.168.xxx.xxx): icmp_seq=1 ttl=64 time=0.032 ms

64 bytes from getlnx01uat.esquel.com (192.168.xxx.xxx): icmp_seq=2 ttl=64 time=0.039 ms

64 bytes from getlnx01uat.esquel.com (192.168.xxx.xxx): icmp_seq=3 ttl=64 time=0.049 ms

^C

--- getlnx01uat.esquel.com ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 1999ms

rtt min/avg/max/mdev = 0.032/0.040/0.049/0.007 ms

[oracle@getlnx01uat ~]$ 

[oracle@getlnx01uat bdump]$ ls -l /etc/hosts

-rw-r--r-- 1 root root 260 Jun 11 13:52 /etc/hosts

[oracle@getlnx01uat bdump]$ hostname

getlnx01uat.esquel.com

[oracle@getlnx01uat bdump]$ ping getlnx01uat.esquel.com

ping: unknown host getlnx01uat.esquel.com

[oracle@getlnx01uat bdump]$ more /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1               localhost.localdomain  localhost

xxxx           getlnx01uat.com  getlnx01uat

如上所示,hostname为getlnx01uat.com,这个可能是我编辑/etc/hosts时,不小心误删除了一些hostname一些字符。编辑修改hostname后,重启数据库问题解决

[root@getlnx01uat ~]# more /etc/hosts

 

# Do not remove the following line, or various programs

 

# that require network functionality will fail.

 

127.0.0.1 localhost.localdomain localhost 

 

xxx.xxx.xxx.xxx getlnx01uat.esquel.com getlnx01uat

 

参考资料:

http://www.xifenfei.com/2271.html

上一篇:解决打不开jar包


下一篇:家里蹲大学数学杂志 Charleton University Mathematics Journal 官方目录[共七卷493期,6055页]