이 글을 클릭하셨다면 log4sql 이 뭔지는 다들 알고 들어 오셨을겁니다.
만약 모르신다면 제가 일전에 소개한 포스트 'System.out.println()은 잊어라 log4sql이 온다.'를 보고오시면 됩니다.

※ 이 글은 제우스에서 DataSource를 사용할 경우에만 해당되는 사항입니다.

log4sql은 직접적으로 DataSource를 지원하지 않습니다. 그리고 제우스에서도 직접적으로 드라이버 클래스를 지정할 수 없습니다.
따라서 제우스에서는 원하는 드라이버 클래스를 지정하려면 BlackboxConnectionPoolDataSource를 사용해야 합니다.

지정하는 방법은 다음 순서대로 따라하시면 됩니다.
  1. 먼저 log4sql.jar를 $JEUS_HOME/lib/application 경로에 넣어 주세요.
  2. $JEUS_HOME/호스트명/JEUSMain.xml 파일을 열어 다음과 같이 수정하세요

    <database>
    <vendor>oracle</vendor>
    <export-name>oracledb</export-name>
    <data-source-class-name>jeus.jdbc.driver.blackbox.BlackboxConnectionPoolDataSource</data-source-class-name>
    <data-source-type>ConnectionPoolDataSource</data-source-type>
    <property>
    <name>DriverClassName</name>
    <type>java.lang.String</type>
    <value>core.log.jdbc.driver.OracleDriver</value>
    </property>
    <property>
    <name>URL</name>
    <type>java.lang.String</type>
    <value>jdbc:oracle:thin:@192.169.30.244:1521:ora9i</value>
    </property>
    <property>
    <name>User</name>
    <type>java.lang.String</type>
    <value>scott</value>
    </property>
    <property>
    <name>Password</name>
    <type>java.lang.String</type>
    <value>tiger</value>
    </property>
    </database>
  3. 이제 제우스를 실행시켜서 적용이 되었는지 확인하면 됩니다.
생각보다 간단하게 끝났습니다.^^

저는 BlackboxConnectionPoolDataSource을 몰라서 약 3일간 삽질을 하다가 티맥스 테크넷의 'Spy를 사용하여 SQL 로그 보기' 를 보고 알았습니다. 그리고 나중에 찾아보니 테크넷에 저보다 먼저 log4sql 적용 방법을 문의하신 분도 계시더군요.

테크넷은 회원가입을 해야하고 쉽게 찾기가 어려워 이렇게 따로 포스팅을 올립니다.
이렇게 포스트로 작성하면 구글링으로 쉽게 찾을 수 있을꺼에요.^^

※ 제우스 적용법을 몰라서 송인섭님께 문의 메일을 드렸는데 빠쁘신 와중에도 답장 주셔서 감사했습니다.^^
크리에이티브 커먼즈 라이센스
Creative Commons License
2009/07/29 10:54 2009/07/29 10:54
서영아빠 이 작성.

당신의 의견을 작성해 주세요.

  1. Comment RSS : http://westzero.net/rss/comment/40
  2. 2009/08/04 13:56  편집/삭제  댓글 작성  댓글 주소

    수고하셨습니다.
    많은 다른 분들에게 큰 도움이 될 듯 합니다.

  3. MC02 2009/11/10 11:26  편집/삭제  댓글 작성  댓글 주소

    log4j로 쿼리를 확인 하는데..
    log4sql를 겸용해서 사용 할 수도 있나요? (쿼리는 log4sql을 통해서 기록되게끔..)

    • 서영아빠 2009/11/15 09:59  편집/삭제  댓글 주소

      불행히도 MC02님이 원하는 기능은 없습니다. 기본적으로 log4sql이 파일로 저장되는 기능을 아직 지원하지 않습니다. 다음 버전에 지원하신다고 하셨는데 다음버전이 언제 나올지...^^;;

      하지만 차선책은 있죠. 다음 글을 참조하시기 바랍니다.
      http://westzero.net/45

※ 이 글은 "실전 SQL 튜닝" 강의를 듣고 개인적인 의견과 함께 정리한 내용입니다.

 실행계획이란 DB가 SQL문을 어떻게 실행할 것인가에 대한 계획입니다. 말 그대로 계획이기 때문에 실제로 SQL문이 실행되었을 때 실행계획과 다른게 실행될 수도 있습니다. 하지만 이런 경우는 거의 보기 힘듭니다. 만약 실행계획과 실행이 다른 것 같다면 Trace를 사용해서 확인 하셔야 합니다.

사전 준비

 만약 한번도 실행계획을 실행해보지 않으셨다면 먼저 plan_table을 먼저 생성해야 합니다. plan_table이란 실행계획의 결과를 저장하는 테이블입니다. 보통 별도로 테이블을 생성하신 적이 없다면 직접 만들어줘야 합니다.
 어렵진 않으니 걱정하지 마세요. 다음 순서대로 따라하시면 됩니다.
  1. sqlplus에  접속합니다.
  2. '@utlxplan.sql'을 입력하고 엔터~
  3. 만약 기존의 객체가 이름을 사용하고 있다(ORA-00955)고 나온다면 'drop table plan_table;'을 입력하고 엔터~
  4. 다시 2번을 실행하세요.
 plan_table이 생성되었다면 이제 실행계획을 실행할 수 있는 준비가 되었습니다.
 만약 sqlplus에 접속하는게 어려우시다면 아래 경로를 찾아서 sql문을 복사해 와서 툴에서 실행시키셔도 됩니다.

오라클이 설치되어 있는 폴더/rdbms/admin/utlxplan.sql

만약 파일을 찾지 못했거나 찾기가 힘들면 그냥 아래 sql을 실행하세요.

more..





크리에이티브 커먼즈 라이센스
Creative Commons License
2009/07/13 20:18 2009/07/13 20:18
서영아빠 이 작성.

당신의 의견을 작성해 주세요.