今天在自己的数据库alert_log日志中发现大量的ORA-07445与ORA-00108错误,下面做一些说明:
Oracle:10.2.0.4
OS:REDHET 5.4 32bit
现象:alert_zwh.log日志中不停的有错误日志写入,bdump/文件夹下不断的有trc文件写入
解决方法:把参数文件里的下面的一句删掉就好了(Oracle automatically sets up this XDB service and it uses shared server config. If you don't use XDB or related technology, it's safe to disable it.)
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
以下是ITPUB上有位兄弟对该参数的描述:
对于*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'这个语句,我对照了多个10G生产库的参数文件,发现有的有,有的没有。而我这次遇到这个问题(ORA-07445和ORA-00108),在我改变了安装配置软件的顺序后,参数文件里仍然有*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'这个语句,但不报错了。
我是这样重新安装配置的,先在一台SUN 主机安装10G,并建库,一切正常,然后在安装SUN CLUSTER软件,配置CLUSTER ,配置10G的HA。 前头报错的时候,我是先安装配置完 SUN CLUSTER软件后,在建库,就会出现问题(ORA-07445和ORA-00108)。为什么会这样,我想和网络方面有关系,但具体什么原因造成,我没想明白,请教版主 ,*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'这句的具体含义和作用是什么。删掉它也没影响,但建库后参数文件里就会自动产生。
下面是一些分析过程记录:
[oracle@zaki bdump]$ tail -100 alert_zwh.log
Wed Jul 20 16:18:43 2011
found dead dispatcher 'D000', pid = (13, 137)
Wed Jul 20 16:18:43 2011
dispatcher 'D000' encountered error getting listening address
Wed Jul 20 16:18:43 2011
Errors in file /home/oracle/app/oracle/admin/zwh/bdump/zwh_ora_27982.trc:
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Wed Jul 20 16:18:46 2011
found dead dispatcher 'D000', pid = (13, 138)
Wed Jul 20 16:18:46 2011
dispatcher 'D000' encountered error getting listening address
Wed Jul 20 16:18:46 2011
Errors in file /home/oracle/app/oracle/admin/zwh/bdump/zwh_ora_27984.trc:
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Wed Jul 20 16:18:49 2011
found dead dispatcher 'D000', pid = (13, 139)
Wed Jul 20 16:18:49 2011
dispatcher 'D000' encountered error getting listening address
Wed Jul 20 16:18:49 2011
Errors in file /home/oracle/app/oracle/admin/zwh/bdump/zwh_ora_27986.trc:
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Wed Jul 20 16:18:52 2011
found dead dispatcher 'D000', pid = (13, 140)
Wed Jul 20 16:18:52 2011
dispatcher 'D000' encountered error getting listening address
Wed Jul 20 16:18:52 2011
Errors in file /home/oracle/app/oracle/admin/zwh/bdump/zwh_ora_27988.trc:
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Wed Jul 20 16:18:55 2011
found dead dispatcher 'D000', pid = (13, 141)
Wed Jul 20 16:18:55 2011
dispatcher 'D000' encountered error getting listening address
Wed Jul 20 16:18:55 2011
Errors in file /home/oracle/app/oracle/admin/zwh/bdump/zwh_ora_28003.trc:
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Wed Jul 20 16:18:58 2011
found dead dispatcher 'D000', pid = (13, 142)
Wed Jul 20 16:18:58 2011
dispatcher 'D000' encountered error getting listening address
Wed Jul 20 16:18:59 2011
Errors in file /home/oracle/app/oracle/admin/zwh/bdump/zwh_ora_28005.trc:
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Wed Jul 20 16:19:01 2011
found dead dispatcher 'D000', pid = (13, 143)
Wed Jul 20 16:19:02 2011
dispatcher 'D000' encountered error getting listening address
Wed Jul 20 16:19:02 2011
Errors in file /home/oracle/app/oracle/admin/zwh/bdump/zwh_ora_28007.trc:
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Wed Jul 20 16:19:05 2011
found dead dispatcher 'D000', pid = (13, 144)
Wed Jul 20 16:19:05 2011
dispatcher 'D000' encountered error getting listening address
Wed Jul 20 16:19:05 2011
Errors in file /home/oracle/app/oracle/admin/zwh/bdump/zwh_ora_28009.trc:
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Wed Jul 20 16:19:08 2011
found dead dispatcher 'D000', pid = (13, 145)
Wed Jul 20 16:19:08 2011
dispatcher 'D000' encountered error getting listening address
Wed Jul 20 16:19:08 2011
Errors in file /home/oracle/app/oracle/admin/zwh/bdump/zwh_ora_28011.trc:
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Wed Jul 20 16:19:11 2011
found dead dispatcher 'D000', pid = (13, 146)
Wed Jul 20 16:19:11 2011
dispatcher 'D000' encountered error getting listening address
Wed Jul 20 16:19:11 2011
Errors in file /home/oracle/app/oracle/admin/zwh/bdump/zwh_ora_28014.trc:
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Wed Jul 20 16:19:14 2011
found dead dispatcher 'D000', pid = (13, 147)
Wed Jul 20 16:19:15 2011
[oracle@zaki ~]$ oerr ora 7445
07445, 00000, "exception encountered: core dump [%s] [%s] [%s] [%s] [%s] [%s]"
// *Cause: An OS exception occurred which should result in the creation of a
// core file. This is an internal error.
// *Action: Contact your customer support representative.
启动前修改pfile文件,注释掉dispatchers这个参数
SQL> startup pfile='/home/oracle/app/oracle/product/10.2.0/db_1/dbs/initzwh.ora' nomount;
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1267092 bytes
Variable Size 264243820 bytes
Database Buffers 16777216 bytes
Redo Buffers 2924544 bytes
SQL> alter database mount;
Database altered.
SQL> alter database open;
Database altered.
SQL> create spfile from pfile;
File created.
启动后系统恢复正常!