GES Processes
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 Name |
Variable Name |
| ges process parent latch |
kjptfl_ |
| ges process hash list |
kjplat_ |
| ges process table freelist |
kjphsh_ |
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
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:
|
|