一大早被电话吵醒,同事说一个数据库应用升级之后无法启动。 后台连续报错:
Sun Apr 30 10:48:41 2006 Restarting dead background process QMN0 QMN0 started with pid=9 Sun Apr 30 10:53:42 2006 Restarting dead background process QMN0 QMN0 started with pid=9
那么QMN0是什么进程呢?
Queue Monitor Processes (QMNn) 队列监视进程是一个可选的后台进程,为Oracle Streams Advanced Queuing所使用。 最多可以配置10个队列监视进程。和Job进程一样,该进程的异常不会导致数据库的Crash。
通常这个错误不会导致数据库无法启动,但是在某些平台上会存在Bug,可能会导致数据库无法启动。 假如没有用到Oracle Streams Advanced Queuing选件,就可以取消该进程,数据库自然就可以启动了:
SQL> show parameter aq
NAME TYPE VALUE ------------------------------------ ----------- ----------------- aq_tm_processes integer 1 SQL> alter system set aq_tm_processes=0 scope=both;
System altered.
SQL> alter database open;
Database altered.
此案例的数据库版本为9.2.0.3,平台为Sun Solaris:
SQL> select * from v$version;
BANNER ----------------------------------------------------------------
9i Enterprise Edition Release 9.2.0.3.0 - 64bit ProdUCtion PL/SQL Release 9.2.0.3.0 - Production CORE 9.2.0.3.0 Production TNS for Solaris: Version 9.2.0.3.0 - Production NLSRTL Version 9.2.0.3.0 - Production
SQL> exit Disconnected from Oracle9i Enterprise Edition Release 9.2.0.3.0 - 64bit Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.3.0 - Production
$ isainfo -v 64-bit sparcv9 applications 32-bit sparc applications
原文地址:http://www.eygle.com/archives/2006/04/restarting_dead_qmn0_process.Html
|