CI Locks Causing System Hangs (Doc ID 120654.1)

Problem Description
-------------------
You see connections start to hang and CI locks that are hanging
the system.  You suspect that there is a locking problem. When you
check v$lock, you find sessions are waiting for a CI lock.

To find out the cause of the problem, you need:

 i) id1 and id2 from v$lock
ii) select sid, event from v$session_wait 
    where wait_time = 0

CI locks are used to invoke specific actions in background processes on a 
specific instance or all instances. Examples include 
checkpoint, log switch, shutting down, identifying or re-
identifying datafiles, etc. All in all, there are a small 
number (10's) of predefined cross-instance call types.

Oracle 8

                Id1     Meaning
                ~~~     ~~~~~~~
                0       Checkpoint block range
                1       Reuse (checkpoint and invalidate) block range
                2       LGWR Checkpointing and Hot Backup
                3       DBWR syncronization of SGA with control file
                4       Log file add/drop/rename notification
                5       Write buffer for CR read
                6       Test call
                7       Invalidate KCK cache in all instances
                8       Alter rollback segment optimal
                9       Signal Query Servers/coordinator
                10      Create Remote parallel query Server
                11      Set Global Partitions
                12      Stop Disk Writes
                13      Drop Sort Segments
                14      Release unused space from Sort Segments
                15      Instance Recovery for Parallel operation Group
                16      Validate parallel slave Lock Value
                17      Check transaction state objects
                18      Flush blocks in object
                19      Rolling release checks
                20      Propagate begin backup scn for a file
                21      Clear checkpoint progress record

id2     Meaning
                ~~~     ~~~~~~~
                1       Pass in Parameters
                2       Invoke the call in background process
                3       Foreground has not returned yet
                4       Used to allocate the CI call
                5       Used to queue up interested clients



[For Oracle7]
Your CI lock's id1 = 0, and id2 = 5

You are not using Parallel Server and the problem occurs intermittently.


Problem Explanation:
====================
One possibility is your applications or packages use dbms_pipe extensively
or your sorts are occurring on disk too often.

This lock could be used by any foreground and background
processes.

id1 = 0 means Flush buffers for reuse as new class
id2 = 5 means Used to queue up interested clients

Solution Description
--------------------

1)Increase the Sort_area_size and make sure your not doing sorts
  to disk.

  Sorts to disk cause the CI locks to hang connections.

2)Additionally, pipes can cause this problem  
  The pipes are named memory areas in Oracle's shared pool, 
  where messages are written to and read from.

  Increasing shared_pool_size
  and eliminating unused pipes may improve performance.




References
----------

Note:1020008.6 SCRIPT: FULLY DECODED LOCKING SCRIPT

Additional Search Words
------------------




 
 

Related

   
 
 

Products

   
 
  • Oracle Database Products > Oracle Database Suite > Oracle Database > Oracle Database - Enterprise Edition
  • Oracle Database Products > Oracle Database Suite > Oracle Database > Oracle Database - Enterprise Edition > RDBMS
 

Keywords

   
 
TROUBLESHOOT

你可能感兴趣的:(CI Locks Causing System Hangs (Doc ID 120654.1))