'Oracle SQL Performance Analyzer'에 해당되는 글 1건



1.EM을 이용한 Oracle SQL Performance Analyzer

   

  • TEST환경 11.2.0.3 (SID=test) / 11.2.0.3 (SID=orcl) - 성공,
  • 11.2.0.3(SID=test) 9.2.0.8(SID=orcl) - 실패
  • Hr 유저에게 dba 권한을 부여하여 TEST진행.

       

2.문제가 되었던 오라클 패키지

  • SYS.DBMS_ADVISOR

    SYS>cd {ORACLE_HOME}/rdbms/admin/@dbmsadv.sql

       

  • SYS.DBMS_SQLPA

    SYS>cd {ORACLE_HOME}/rdbms/admin/dbmsspa.sql

       

    -해당 패키지가 존재 해야 된다. 10.2.0.4부터 DBMS_SQLPA가 존재하는 것으로 예상 됨.

 

  • 9i 같은 경우 위의 해당 DBMS 패키지가 존재하지 않아서 EM으로 동작할 경우 해당 패키지에러가 발생합니다 그래서 일단은 SPA의 전반적인 과정을 확인해 보기 위해서 두 개의 11G TEST 서버에서 진행 하였습니다.

       

   

  • EM에서 로그인하게 되면 성능 TAB에서 해당 SQL문 검색 및 튜닝집합 생성 후, SQL 성능분석기를 통하여 2개의 DB에 각각 SQL문을 돌린 실행계획을 확인할 수 있습니다.

       


       

3.SQL 검색을 통하여 해당 쿼리문을 추출하여 SQL튜닝 집합을 만듭니다.

  • 데이터 소스 및 필터 조건을 조절하여, 해당 쿼리문을 검색한합니다.
  • 검색 후, SQL 튜닝 집합에 저장 부분에서 새 SQL튜닝 집합 이름지정 후 저장합니다.

     

   

   

4.SQL 튜닝 집합 확인

  • SQL 튜닝 집합으로 만들어진 해당 이름과 스키마 쿼리문을 확인할 수 있다.

       

   

   

5.SQL 성능 분석기(SQL Performance Analyzer)

  • 다양한 형태의 성능 분석 방법들이 준비되어 있습니다.
  • 대략적인 TEST 순서는 아래와 같습니다.
    • 환경설정
    • SQL 튜닝 집합에 준하는 SQL Performance Analyzer 작업생성
    • 초기 환경에서 SQL Tuning Set 재생
    • 변경된 환경에서 SQL Tuning Set 재생(DB link를 이용하여 원격 DB에 접속)
    • 단계 2와 단계 3비교
    • 비교 보고서 보기

         

         

     

  • 여러가지 형식 중하나인 안내식 워크플로우를 보게 되면 단계별로 SQL 성능 분석기를 TEST할 수 있습니다.

       

   

  • TEST 완료 후 각 서버에서 SQL을 실행하여 얻은 결과보고서를 한눈에 볼 수 있습니다.
  • 아래쪽 비교 보고서를 보게 되면 SQL set으로 만들어 놓았던 쿼리문들에 대해서 자세하게 비교하여 볼 수 있습니다.

       

   

   

  • 하나의 쿼리문에 대하여 수집된 실행 계획을 확인할 수 있습니다.

       

   

  • 다른 옵션의 창인데, 수행 과정은 위와 동일하게 진행됩니다.

       

   

   

   

4.9.2.0.8i와 11.2.0.3를 가지고 위와 동일한 TEST를 하였지만 실패.

  • 그 원인 중에 하나는 9i에서는 oracle DBMS 패키지 중에 SYS.DBMS_ADVISOR, SYS.DBMS_SQLPA가 존재하지 않아서 스크립트가 돌아갈 때 아래와 같은 에러가 발생합니다.

       

  • 그래서 해당 패키지를 11G에서 설치 SQL문을 가지고 와서 패키지를 생성해 보았지만, 버전 차이로 인한 새로운 기능이라 추가적으로 다른 패키지 부족에러가 발생하였습니다.

       

  • EM만으로는 9i->11g test는 할 수 없고, 스크립트를 이용하여 진행할 경우 가능할 것으로 예상됩니다.

https://support.oracle.com/epmos/faces/ui/km/DocumentDisplay.jspx?_afrLoop=415397735012079&id=560977.1&_afrWindowMode=0&_adf.ctrl-state=y509e7up1_40

   

   

ORA-06512: "SYS.PRVT_ADVISOR", 2735행 ORA-06512: "SYS.DBMS_ADVISOR", 241행 ORA-06512: "SYS.DBMS_SQLPA", 342행 ORA-06512: "SYS.DBMS_SQLPA", 359행 ORA-06512: 1행

  

   

   

   

<참고문서>

https://support.oracle.com/epmos/faces/ui/km/DocumentDisplay.jspx?_afrLoop=415397735012079&id=560977.1&_afrWindowMode=0&_adf.ctrl-state=y509e7up1_40

   

http://docs.oracle.com/cd/E14072_01/server.112/e10822/tdppt_sqltune.htm#TDPPT160

   

https://support.oracle.com/epmos/faces/ui/km/DocumentDisplay.jspx?_afrLoop=403659916853090&id=562899.1&_afrWindowMode=0&_adf.ctrl-state=7b5uqhddb_177

   

https://support.oracle.com/epmos/faces/ui/km/DocumentDisplay.jspx?_afrLoop=403933301039403&id=742644.1&_afrWindowMode=0&_adf.ctrl-state=7b5uqhddb_186

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,