ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ORA-03137: TTC protocol internal error : [12333] [4] [195] [2] [] [] [] []
    ORACLE/Trouble shooting 2015.12.21 10:35

    ORA-03137: TTC protocol internal error : [12333] [4] [195] [2] [] [] [] []


    _optim_peek_user_binds Parameter 변경

    1. 에러현상

    ▶ Forms 화면 쿼리 시 Ora-03114 not connected to oracle 에러 발생.

     

    2. 체크사항

    2.1 DB 서버 alert 파일 확인

    ▶ 파일

    alert.log

    ▶ 에러

     ORA-03137: TTC protocol internal error

    2.2 DB 서버 trace 파일 확인

    ▶ora_9896_i184522.trc

    ▶ 내용 생략.

    2.3  메타링크

         ▶ 오라클 메타링크에서 ORA-03137를 검색하니 다음과 같은 버그가 알려져 있음.

    Bug 9703463  ORA-3137 [12333] or ORA-600 [kpobav-1] When Using Bind Peeking

    This note gives a brief overview of bug 9703463.
    The content was last updated on: 17-SEP-2011
    Click here for details of each of the sections below.

    Affects:
    Product (Component)
       
    Oracle Server (Rdbms)
    Range of versions believed to be affected
       
    Versions >= 11.1 but BELOW 12.1
    Versions confirmed as being affected

        11.2.0.1
        11.1.0.7

    Platforms affected
       

    Generic (all / most platforms affected)

    Fixed:

    This issue is fixed in
       

        12.1 (Future Release)
        11.2.0.2 (Server Patch Set)
        11.2.0.1 Bundle Patch 12 for Exadata Database
        11.1.0.7.8 Patch Set Update
        11.2.0.1 Patch 8 on Windows Platforms
        11.1.0.7 Patch 37 on Windows Platforms

    Symptoms:
    ·         
    ·         Error May Occur
    ·         Internal Error May Occur (ORA-600)
    ·         ORA-3137
    ·         ORA-600 [kpobav-1]
    ·         Stack is likely to include kxsPeekBind

    Description
                   Frequent errors like ORA-3137 [12333] are raised. If the patch for bug:9243912
                   has been applied, you will see ORA-600 [kpobav-1] errors.
     
                   Rediscovery Notes:
                  Optimizer bind peeking in use
                  The call stack includes "kpobav opibvg kxsPeekBinds kkscsCompareBinds"

                  See note:1243836.1 for a detailed description of the diagnostics

         Workaround

                  Disable bind peeking by setting:
                  SQL> alter system set "_optim_peek_user_binds"=false;

    3. 조치사항

    11.2.0.2 (Server Patch Set) 또는 11.2.0.1 Patch 6 on Windows Platforms 버전으로
    패치를 해야 하나 할 수 없는 상황이므로 권고한 바 대로 옵티마이저 히든 파라매터 변경 함.
    ALTER SYSTEM SET _optim_peek_user_binds=FALSE

    4. 조치이후
      현재까지 alert파일에 에러가 기록되지 않았으며, forms 조회시에도 에러 없음.

    5. 참고사항 
    http://wiki.ex-em.com/index.php/OPTIM_PEEK_USER_BINDS
    파라매터명 : _OPTIM_PEEK_USER_BINDS
    기본값    :  TRUE
    출시버전  :  9.0.1
    Scope    :  Instance/Session

    Bind Variable Peeking (이하 BVP. 바인드 변수 엿보기) 기능을 활성화할지의 여부를 결정한다.
    BVP란 Bind 변수를 포함한 SQL 문장에 대한 최적화 작업을 수행할 때, Bind 변수가 가리키는 값을
    참조하는 것을 의미한다.
    Oracle은 BVP를 통해 SQL 문장이 실행될 당시의 Bind 값을 이용하기 때문에 최적의 실행 계획을
    수립할 수 있다.
    BVP를 사용할 경우 Explain Plan 명령문을 통해서 확인한 실행 계획(Execution Plan)이 실제 운영
    환경에서는 적용되지 않을 수 있다. Explain Plan 명령문에서는 BVP가 적용되지 않기 때문에 BVP가
    적용된 런타임의 실행 계획과는 다른 실행 계획을 보고할 가능성이 있다.

    만일 테스트 환경에서 성공적으로 수행된 SQL 문장이 런타임에 느린 성공을 보인다면 일차적으로
    BVP에 의한 사이드 이펙트가 아닌지 검증해보아야 한다. 런타임의 실행 계획은 V$SQL_PLAN 뷰를 통해 확인 가능하다.



    댓글 0

Designed by black7375.

티스토리 툴바