eygle.com   eygle.com
eygle.com  
 

« Oracle DBA 入门、进阶学习路线图 | Blog首页 | 姥姥北京游之 - 北京动物园·海洋馆 »

10g QMON Architecture及AQ_TM_PROCESSES

作者:eygle |【转载时请以超链接形式标明文章和作者信息及本声明
链接:

在Oracle Database 10g中,如果你注意过,可能你已经发现AQ_TM_PROCESSES参数的设置已经发生了变化。

缺省的这个参数被设置为0,Oracle启动了自动调整:

SQL> show parameter aq

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

在某些版本升级之后,你可能发现告警日志中存在以下警告:
WARNING:AQ_TM_PROCESSES is set to 0

Metalink Note:305662.1 中有这样一段详细描述:

Beginning with release 10.1, the architecture of the QMON processes has been changed to an automatically controlled coordinator slave architecture. The Queue Monitor Coordinator, ora_qmnc_, dynamically spawns slaves named, ora_qXXX_, depending on the system load up to a maximum of 10 per instance.

For version 10.1 onwards it is no longer necessary to set AQ_TM_PROCESSES when Oracle Streams AQ or Streams is used. However, if you do specify a value, then that value is taken into account but the number of processes can still be auto-tuned and so the number of running qXXX processes can be different from what was specified by AQ_TM_PROCESSES. If AQ_TM_PROCESSES is not specified in versions 10.1 and above, QMNC only runs when you have AQ objects in your database.

If should be noted that if AQ_TM_PROCESSES is explicitly specified then the process(es) started will only maintain persistent messages. For example if aq_tm_processes=1 then at least one queue monitor slave process will be dedicated to maintaining persistent messages. Other process can still be automatically started to maintain buffered messages. If you explicitly set aq_tm_processes = 10 then there will be no processes available to maintain buffered messages. This should be borne in mind on 10g systems which use Streams replication and from 10.2 onwards user enqueued buffered messages.

不过最近发现在10g中,自动的高级队列调度会存在问题,QMNC的动态协同存在问题。这段文字收次备忘。


历史上的今天...
      >> 2007-10-31文章:
      >> 2006-10-31文章:
      >> 2005-10-31文章:
      >> 2004-10-31文章:
             关于shared pool的深入探讨(五)
             关于shared pool的深入探讨(四)
             关于shared pool的深入探讨(三)
             关于shared pool的深入探讨(二)
             关于shared pool的深入探讨(一)
             使用SQL_TRACE进行数据库诊断
------
这篇 【10g QMON Architecture及AQ_TM_PROCESSES】来自 www.eygle.com | CSDN技术网摘| del.icio.us|365Key

By eygle on 2008-10-31 14:44 | Comments (0) | Posted to Advanced | Edit |Pageviews:

相关文章 随机文章
  • MMNL进程与ORA-07445 ktsmg_get_threshold
  • Oracle进程:LMS 进程与Oracle RAC
  • Oracle进程:SMON的功能与作用
  • Oracle10g新进程 MMON 和 MMNL
  • 关于Oracle归档进程的运行机制
  • 美丽的樱花
    Oracle10gR2中的Mutex竞争的案例
    我的装修以及装修的生意
    如何使用普通文件来模拟测试ASM
    《深入浅出Oracle》一书序言
    搜索本站:

    留言 (0)

    发表留言:



    Remember Me?
    (输入验证码后方可评论,谢谢支持)



    CopyRight © 2004 eygle.com, All rights reserved.