서버에서 Optim Query Tuner 클라이언트에 대해 z/OS용 DB2 서브시스템 구성

이전 버전의 Optim™ Query Tuner 클라이언트에 대해 서브시스템이 구성되어 있지 않으면, z/OS®용 DB2® 서브시스템에서 AOCDDL JCL 작업을 실행하여 현재 버전의 Optim Query Tuner 클라이언트에 대해 서브시스템을 구성할 수 있습니다.

시작하기 전에

프로시저

서버에서 쿼리 튜닝을 위해 z/OS용 DB2 서브시스템을 구성하려면 다음을 수행하십시오.

  1. 서브시스템 구성을 위해 파일을 추출할 수 있도록 SMP/E 테이프 설치를 수행하지 않은 경우, 클라이언트 시스템에서 서브시스템으로 필수 DBRM 및 JCL 작업 파일을 업로드하십시오. 파일은 Optim Query Tuner 클라이언트와 함께 설치됩니다. 설치 디렉토리의 \serverconfig\ZOS\z/OS_version_number_and_mode 서브디렉토리에서 파일을 찾을 수 있습니다. 디폴트 설치 디렉토리는 C:\Program Files\IBM\OQT2.2.1입니다.
    주: 이러한 DBRM 파일을 서브시스템에 업로드할 때 2진 형식을 사용하십시오.
  2. 서브시스템에서 다음 테이블의 해당 AOCDDL JCL 작업 파일을 환경에 맞게 수정하고 작업을 제출하여 DBRM 파일을 설치하고 EXPLAIN 테이블 및 Query Tuner 테이블을 작성하십시오.
    서브시스템 JCL 작업 파일
    z/OS용 DB2 버전 10 새 기능 모드 AOCDDL10
    버전 9에서 z/OS용 DB2 버전 10 변환 모드 AOCDDLX9
    버전 8에서 z/OS용 DB2 버전 10 변환 모드 AOCDDLX8
    z/OS용 DB2 버전 9.1 AOCDDL9
    z/OS용 DB2 버전 8 새 기능 모드 AOCDDL8N
    z/OS용 DB2 버전 8 호환성 모드 AOCDDL8C
  3. 옵션: 서버에서 다음 워크로드 튜닝 태스크를 수행할 수 있도록 SYSPROC.OPT_EXECUTE_TASK 및 SYSPROC.OPT_RUNSQL 스토어드 프로시저를 사용할 수 있게 하십시오.
    • 명령문 캐시에서 워크로드 캡처
    • 워크로드에 대한 EXPLAIN 정보 수집
    • 워크로드에 대한 EXPLAIN 정보 통합
    • EXPLAIN 정보의 리터럴 값 통합
    1. Java™ 스토어드 프로시저 SYSPROC.OPT_EXECUTE_TASK를 사용하십시오.
      1. IBM® SDK for Java 2 Technology Edition, 버전 1.4가 JAVA_HOME 환경 변수에서 지정한 UNIX® 시스템 서비스 폴더에 설치되어 있는지 확인하십시오.
      2. JDBC 및 SQLJ용 IBM Data Server Driver가 설치되어 있는지 확인하십시오.
      3. JDBC 및 SQLJ용 IBM Data Server Driver 환경 변수가 올바로 설정되어 있는지 확인하십시오.
      4. JDBC 및 SQLJ용 IBM Data Server Driver 등록 정보가 올바로 구성되어 있는지 확인하십시오.
        다음 샘플에서 aocwccsp.jar는 Java 스토어드 프로시저 JAR 파일입니다. 이 파일은 제품의 두 위치에 설치됩니다. 어느 한 사본을 사용할 수 있습니다. 서로 동일합니다.
        • 이 파일의 한 사본은 Optim Query Tuner 클라이언트와 함께 설치됩니다. 설치 디렉토리의 \serverconfig\WCC 서브디렉토리에서 이 파일을 찾을 수 있습니다. 이 사본을 사용하는 경우, CLASSPATH가 지정한 위치에 사본을 업로드해야 합니다. 이 파일을 서브시스템에 업로드할 때 2진 형식을 사용하십시오.
        • 이 파일의 다른 사본은 SMP/E 설치 중에 서브시스템에 설치됩니다. HFS 경로는 /usr/lpp/oqt/v221/lib/IBM입니다. 이 사본을 사용하는 경우, CLASSPATH가 지정한 위치에 사본을 배치하십시오.
        JCC_HOME은 JDBC 드라이버의 홈 디렉토리이고 JAVA_HOME은 Java의 홈 디렉토리입니다. 런타임 환경 및 JDBC 드라이버 위치에 따라 JCC_HOMEJAVA_HOME 값을 변경해야 합니다. 시간대를 나타내는 TZ 값도 로컬 시간대로 변경해야 하는데, 예를 들면 다음과 같습니다.
        • 태평양 표준시의 경우 PST08
        • 산지 표준시의 경우 MST07
        • 중부 표준시의 경우 CST06
        • 중부 유럽시의 경우 CET-01
        ENVAR("CLASSPATH=/usr/lpp/db2910_base/classes/aocwccsp.jar",
        "TZ=PST08",                                                 
        "JCC_HOME=/usr/lpp/db2910_jdbc/",                           
        "JAVA_HOME=/usr/lpp/java140/J1.4"),                         
        MSGFILE(JSPDEBUG,,,,ENQ),                                   
        XPLINK(ON)
      5. WLM 환경이 Java 루틴에 대해 설정되어 있고 Java 스토어드 프로시저의 시작된 태스크 작업이 시스템 프로시저 라이브러리에 존재하는지 확인하십시오.
      6. 사용자에게 임시 z/OS UNIX 디렉토리에 쓸 수 있는 권한이 있는지 확인하십시오. SYSPROC.OPT_EXECUTE_TASK 스토어드 프로시저는 이 디렉토리에 로그 파일을 기록합니다.
    2. C 스토어드 프로시저 SYSPROC.OPT_RUNSQL을 사용할 수 있게 하십시오.

      SYSPROC.OPT_RUNSQL 스토어드 프로시저는 동적문 캐시에서 SQL문을 캡처하는 데 사용되며 DSN_STATEMENT_CACHE_TABLE 테이블에 이러한 명령문을 저장합니다.

      1. terse된 로드 모듈을 서브시스템에 업로드하십시오. 설치 디렉토리의 \serverconfig\ZOS\z/OS_version_number_and_mode\Load Module 서브디렉토리에서 로드 모듈을 찾을 수 있습니다. 다음 전송 규칙이 지정되었는지 확인하십시오.
        ftp> quote site blk=6144 lrecl=1024 recfm=fb tracks unit=sysallda primary=90
        200 SITE command was accepted
        ftp> binary
        200 Representation type is Image
      2. 다음 샘플 작업을 사용하여 로드 모듈을 파티션 데이터에 unterse하십시오.
        //***************************************************************
        //* Notes =
        //*  PRIOR TO RUNNING THIS JOB, 
        //*  locate and change the string "!!" to the following suffix
        //*  for the different versions of DB2 for z/OS:
        //*  For V8 and V10CM8, change to "J". 
        //*  For V9 and V10CM9, change to "K".
        //*  For V10NFM, change to "M".
        //***************************************************************
        //UNTERSE    JOB CLASS=A,MSGLEVEL=(1,1),                        
        //        NOTIFY=&SYSUID                                        
        //UNTERSE     EXEC PGM=TRSMAIN,PARM='UNPACK'                      
        //STEPLIB   DD DISP=SHR,DSN=IBMUSER.TERSE.LOADLIB               
        //SYSPRINT  DD SYSOUT=*,DCB=(LRECL=1024,BLKSIZE=6144,RECFM=FB)  
        //INFILE    DD DISP=SHR,DSN=USER.TERSED.AOCRNSQ!!                
        //OUTFILE   DD DSN=USER.UNTERSED,                                
        //  DISP=(SHR,CATLG,DELETE),                                    
        //  UNIT=3390,VOL=SER=DK8320,SPACE=(CYL,(5,5),RLSE)             
        /*   
      3. unterse된 로드 모듈을 사용자 EXIT 라이브러리에 복사하십시오.
      4. EXIT 라이브러리가 DB2 시작 태스크 STEPLIB에 병합되는지 확인하십시오.
  4. 옵션: 관리 스케줄러를 설정하십시오.

    관리 스케줄러를 사용하여 쿼리 워크로드에 대한 태스크(예: 워크로드 캡처 및 모니터링)를 수행할 수 있습니다. 관리 스케줄러 없이 태스크를 스케줄할 수는 있지만, 스케줄 시 조작을 실행하려면 클라이언트 응용프로그램이 워크스테이션에서 계속 실행되고 z/OS용 DB2 서브시스템에 연결되어 있어야 합니다. 스케줄된 태스크가 실행되는 동안 서브시스템 연결이 삭제되면, 해당 태스크를 완료할 수 없습니다.

    관리 스케줄러 구성 및 상호 작용 방법에 대해 자세히 알려면 다음 주제를 참조하십시오.

피드백