Kksfbc child completion

EXEM Knowledge Base

Jump to: navigation, 찾기

목차

[편집] Basic Info

SQL Cursor 객체는 Parent/Child의 관계로 이루어져 있다. 하나의 Parent Cursor 객체가 여러 개의 Child Cursor 객체를 거느린다. Server Process가 현재 생성(Built) 중인 Child Cursor를 사용하려면 Cursor 생성이 완료될 때까지 기다려야 한다. 이때 보고되는 이벤트가 kksfbc child completion 이벤트이다.

Parent/Child Cursor의 관계에 대한 자세한 정보는 Library Cache 문서를 참조한다.

[편집] Parameter & Wait Time

[편집] Wait Parameters

  • P1: 없음
  • P2: 없음
  • P3: 없음

[편집] Wait Time

[편집] Check Point & Solution

[편집] Hard Parse

과도한 Hard Parsekksfbc child completion 대기이벤트의 가장 중요한 원인이다. 다음과 같은 상황에서 주로 발생하는 것으로 보고되고 있다

  1. Hard Parse가 많은 경우. parse count (hard) 통계값 및, V$SQLAREA.VERSION_COUNT 값을 참조한다.
  2. Parse Failure가 많은 경우. parse count(failures) 통계값을 참조한다.
  3. 병렬 실행이 발생하는 경우에도 Child Cursor를 공유하는 과정에서 대기가 발생하는 경우가 보고되어 있다.


kksfbc child completion 대기이벤트를 해소하는 가장 일반적인 방법은 Hard Parse를 최소화하는 것이다. 다음과 같은 사항을 확인할 필요가 있다.

  1. Dynamic SQLStatic SQL로 변환한다.
  2. Literal SQL 사용을 최소화하고 Bind Variable을 사용한다.
  3. Bind Mismatch에 의한 Hard Parse가 발생하는지 않는지 확인한다.

[편집] Oracle Bug

Oracle Bug로 인해 비정상적인 kksfbc child completion 이벤트 대기와 높은 CPU 사용률을 보이는 현상이 보고되고 있다. 이 경우 현재 공식적인 Workaround는 없으며, 다음과 같은 작업을 시도해볼 수 있다.

  1. _KKS_USE_MUTEX_PIN 파라미터 값을 False로 변경한다.

현재까지 알려진 버그에 대해서는 아래 Metalink 문서를 참조한다.

  1. Metalink Doc. 430555.1
  2. Metalink Doc. 5500044.8

[편집] Event Tip

[편집] Analysis Case