RAC GES Processes

本文详细介绍了Oracle RAC环境中GES进程结构的作用及其在系统全局区(SGA)内的实现细节,包括GES进程数组与哈希表的大小、初始化参数、锁机制等内容。

In RAC environments, GES process structures are used to record details about local and remote processes with an interest in global locks.


There must be one GES process for each process in each instance in the cluster. Therefore there will be more GES process structures in each instance than KSUPR (process) structures.

I think that the abbreviation for GES processes is kjp

In the SGA there are two main GES process structures:

  • ges process array
  • ges process hash table

In Oracle 10.2.0.1 (32-bit Linux) the ges process array occupies 256000 bytes

  • Each element is 800 bytes in length.
  • The number of elements is defined by the _LM_PROCS initialization parameter
  • The default value for _LM_PROCS is 320 (where PROCESSES = 150)

In Oracle 10.2.01 (32-bit Linux) the ges process hash table occupies 8640 bytes

GES process structures are covered by three latches:

Latch NameVariable Name
ges process parent latchkjptfl_
ges process hash listkjplat_
ges process table freelistkjphsh_

In Oracle 10.2.0.1 (32-bit Linux) :

  • The ges process table freelist does not have any children
  • The ges process parent latch has one child for each GES process
  • The ges process hash list does not have any children

Static kjp structures are also allocated for

  • kjplmon_
  • kjppmon_

A list of addresses of kjp structures can be obtained using

SQL> ORADEBUG LKDEBUG -a proc

For example

nproc = 30
proc 0 0x2f43a730
proc 1 0x2f435f50
proc 2 0x2f43a410
proc 3 0x2f4381b0
proc 4 0x2f43ad70
proc 5 0x2f436270

etc...

You can dump detailed information for each GES process using

SQL> ORADEBUG LKDEBUG -A proc

This command produces output in the following format for each GES process.

--------procp 0x2f43a730-----------------
proc version : 0
Local node : 0
pid : 6480
lkp_node : 0
svr_mode : 0
proc state : KJP_NORMAL
Last drm hb acked : 0
Total accesses : 69131
Imm. accesses : 69130
Locks on ASTQ : 0
Locks Pending AST : 0
Granted locks : 0

Possible values for the process state are probably KJP_NORMAL, KJP_FREEZE and KJP_UNFREEZE

The GES process structures also appear in the SYSTEMSTATE (level 10) dump:

SQL> ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME SYSTEMSTATE LEVEL 10';

SO: 0x2f43a730, type: 19, owner: 0x30222a18, flag: INIT/-/-/0x00
GES MSG BUFFERS: st=emp chunk=0x(nil) hdr=0x(nil) lnk=0x(nil) flags=0x0 inc=4
outq=0 sndq=0 opid=36 prmb=0x0
mbg[i]=(1 6) mbg[b]=(0 0) mbg[r]=(0 0)
fmq[i]=(4 1) fmq[b]=(0 0) fmq[r]=(0 0)
mop[s]=7 mop[q]=0 pendq=0 zmbq=0
------------process 0x0x2f43a730--------------------
proc version : 0
Local node : 0
pid : 6480
lkp_node : 0
svr_mode : 0
proc state : KJP_NORMAL
Last drm hb acked : 0
Total accesses : 76137
Imm. accesses : 76135
Locks on ASTQ : 0
Locks Pending AST : 0
Granted locks : 0
AST_Q:
PENDING_Q:
GRANTED_Q:

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-84419/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-84419/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值