Oracle X$ View:X$KJBL

The status of buffer locks can be checked through the table X$KJBL; it is not necessary to dump the locks with
the ORADEBUG command, in order to get to this information. The table contains the client and shadow locks.



Column name            Data type            Description
KJBLLOCKP              RAW,kjbl*            Lock pointer. Can be joined with X$LE.LE_KJBL.
KJBLGRANT              VARCHAR2 (9)         Current grant level, valid values are:
                                            KJUSERNL (0), KJUSERCR (1), KJUSERCW (2), KJUSERPR
                                            (3), KJUSERPW (4), KJUSEREX (5)
KJBLREQUEST            VARCHAR2 (9)         Request Level, valid values are:
                                            (See KJBLGRANT)
                                            KJBLROLE NUMBER Granted Role:
                                            KJBL_GRANT_N (0x00), KJBL_GRANT_S (0x01)
                                            KJBL_GRANT_X (0x02), KJBL_REQ_S (0x04),
                                            KJBL_REQ_X (0x08), KJBL_REQ_STL (0x10),
                                            KJBL_REQ_CR (0x10), KJBL_OACK (0x20),
                                            KJBL_ROLE_G (0x40), KJBL_HAS_PI (0x80)
KJBLRESP               RAW, kjbr*          Current Resource Info (Resource pointer)
KJBLNAME               VARCHAR2 (30)       Resource name in Hex notation ([id1], [id2], [Type])
KJBLNAME2              VARCHAR2 (30)       Resource name in Decimal notation (id1, id2, Type)
KJBLQUEUE              NUMBER              Grant / Convert queue:
                                           Grant Queue (0x00), Convert Queue 0x80
KJBLLOCKST             VARCHAR2 (64)       Lock state:
                                           KJUSERGRANTED (0x00), KJUSEROPENING (0x01),
                                           KJUSERCLOSING (0x02), KJUSERCANCELLING (0x04),
                                           KJUSERCVTING (0x08), KJUSERSTANDALONE (0x10),
                                           KJUSERASTDELAYED (0x20), KJUSERMSGPENDING(0x40),
                                           KJUSERFROZEN (0x80)
KJBLWRITING            NUMBER              Writing
                                           ·0, not writing; 1, writing
KJBLREQWRITE                               Write requested
                                           ·  0, no request; 1, write requested
KJBLOWNER              NUMBER              Owning instance – node id
KJBLMASTER             NUMBER              Master instance – node id
KJBLBLOCKED            NUMBER              Blocked lock? – Checks if there is a converting lock
KJBLBLOCKER            NUMBER              Blocking lock? - Checks if there is a lock held in an incompatible mode



The columns KJBLBLOCKER and KJBLBLOCKED in particular let you determine if you are waiting on
blocked lock or if you are blocking other sessions. With this table, it is also possible to determine where the
lock is mastered and the role of the lock.

Oracle X$ View:X$KJMSDP


The table X$KJMSDP has entries for each LMS process that is configured for the instance. The default
number of LMS processes is the number of CPU’s divided by 4, but 2 as a minimum. The LMS processes are
responsible for the delivery of the GCS messages and blocks to the other instances.



Column name          Data Type               Description
ADDR                 RAW(4)                  Identifier / Address
INDX                 NUMBER                  LMS id (starts with 0)
INST_ID              NUMBER                  Instance id
PID                  NUMBER                  LMS process id (starts with 0)
FLAG                 NUMBER                  Flags:
ACTUAL_RCV           NUMBER                  Actual Global Cache Service messages received
LOGICAL_RCV          NUMBER                  Logical Global Cache Service messages received
LOGICAL_PTIME        NUMBER                  Logical Global Cache Service messages process time (ms)
SBUF_TIME            NUMBER                  Time for flushing send buffer (ms)
FC_SENT              NUMBER                  Number of flow control messages sent
NULL_REQ             NUMBER                  Number of null requests send by this process
WAIT_TICKET          NUMBER                  Number of times waited for tickets
CRB_SENT             NUMBER                  Number of CR blocks sent
CRB_STIME            NUMBER                  CR block sent time (ms)
RCVQ_TIME            NUMBER                  Receive message queue time
ERRCHK_TIME          NUMBER                  Error check time
FMSGBUFS_TIME        NUMBER                  Flush message buffer time
RCFGFRZ_TIME         NUMBER                  Reconfiguration freeze time
RCFGSYNC_TIME        NUMBER                  Reconfiguration sync time
PBATFLUSH_TIME       NUMBER                  Process batch flush time
SQFLUSH_TIME         NUMBER                  Send queue flush time
DRMSYNC_TIME         NUMBER                  DRM sync time
RCVMSG_TIME          NUMBER                  Time to receive messages
BPMSG_TIME           NUMBER                  Batch message process time
PMSG_TIME            NUMBER                  Time to process message from receiver
SCANQ_TIME           NUMBER                  Scan queue time
PDCQ_TIME            NUMBER                  Time to check down-convert queue
PTOQ_TIME            NUMBER                  Time to check deferred ping queue
FSCH_TIME            NUMBER                  Time to flush the side-channel messages
IPBAT_TIME           NUMBER                  Time for embedded batch message processing
RETRYQ_TIME          NUMBER                  Retry queue time



As with the LMD process, it is important to check if there are waits for tickets. If this occurs, look at the
corresponding section at the description of the table X$KJMDDP for further explanation.


沪公网安备 31010802001379号