클라이언트 최적화를 위해 아카이브에서 바인드하기 위한 구문

이 명령을 사용하여, 사용자 응용프로그램을 포함하는 아카이브에 대해 StaticBinder 유틸리티를 실행할 수 있습니다. 아카이브에는 확장자가 .bindProps이며 StaticBinder 유틸리티에 제공할 pureQueryXML 파일을 나열하는 옵션 파일이 있어야 합니다.
구문 도표 읽기시각적 구문 도표 생략
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

    (2)                                                                 
>-------- -url--jdbc--:--db2--:--//--server--+---------+--/--database-->
                                             '-:--port-'                

>-- -username--user-ID-- -password--password-------------------->

>-- -archive-- -filename--+-.ear-+------------------------------>
                          +-.jar-+   
                          +-.war-+   
                          '-.zip-'   

>--+------------------------------------------------------------------------+-->
   |                  (3)                                                   |   
   +-| DBRM options |-------------------------------------------------------+   
   +- -bindOptions-- -"--bind-options--"--+-------------------------------+-+   
   |                                      '- -verifyPackages--+-DETAIL--+-' |   
   |                                                          '-SUMMARY-'   |   
   '- -verifyPackages--+-DETAIL--+------------------------------------------'   
                       '-SUMMARY-'                                              

>--+-----------------------------+--+----------------+---------->
   |                   .-FALSE-. |  |            (4) |   
   '- -differenceOnly--+-TRUE--+-'  '-| -grant |-----'   

>--+--------------------------+--+-----------------------+------>
   '- -isolationLevel--+-CS-+-'  |                   (5) |   
                       +-RR-+    '-| Trace options |-----'   
                       +-RS-+                                
                       '-UR-'                                

>--+--------------------------+--------------------------------><
   |                .-FALSE-. |   
   '- -showDetails--+-TRUE--+-'   

주:
  1. 임의의 순서로 옵션을 지정할 수 있습니다.
  2. DBRM 파일만을 생성하려는 경우 -url, -username- 및 -password 옵션을 사용하지 않아도 됩니다.
  3. 구문의 경우 해당 옵션의 설명을 참조하십시오.
  4. 구문의 경우 해당 옵션의 설명을 참조하십시오.
  5. 구문의 경우 해당 옵션의 설명을 참조하십시오.

옵션에 대한 설명

-archive
아카이브 파일에서 응용프로그램을 DB2® 서버에 전개하고 해당 서버에서 StaticBinder를 실행하여 SQL문을 바인드하려면 이 옵션을 사용하십시오. 지원되는 아카이브 유형은 EAR, JAR, WAR 및 ZIP입니다.
-bindOptions "string-of-bind-options"
해당 옵션의 기능은 같은 이름으로 지정된 DB2 프리컴파일 및 바인드 옵션의 기능과 같습니다. 문자열 구문은 "option_1 value_1 option_2 value_2"입니다.

해당 옵션의 목록 및 설명은 BIND command를 참조하십시오.

CONCURRENTACCESSRESOLUTION 바인드 옵션을 Linux®, UNIX® 및 Windows®용 DB2 버전 9.7에서 사용하는 경우, 해당 옵션이 CS 및 RR 분리 레벨에서 바인드된 패키지에 있는 모든 명령문에 적용됩니다. 이들 두 분리 레벨에만 적용되는 이 옵션으로 응용프로그램은 다른 응용프로그램에서 잠근 행에서 마지막으로 커미트된 값을 찾습니다.
DBRM options
패키지를 작성하지 않고 DBRM 파일을 생성하려면 이 옵션을 사용하십시오. 이 옵션은 z/OS®용 DB2를 사용하는 경우에만 적용됩니다.

StaticBinder 유틸리티가 DBRM 파일을 생성한 후 해당 파일을 데이터 세트에 복사해야 합니다. 디폴트 DBRM 데이터 세트 이름은 prefix.DBRMLIB.DATA이며 여기서 prefix는 사용자에 대해 TSO 프로파일에 지정된 상위 레벨 규정자입니다. prefix는 일반적으로 TSO에서의 사용자 ID입니다.

DBRM 데이터 세트가 존재하지 않는 경우 이를 작성해야 합니다. DBRM 데이터 세트에는 모든 SQL문을 보관하기 위한 스페이스 및 각 호스트 변수 이름과 일부 헤더 정보를 위한 추가 스페이스가 필요합니다. 헤더 정보에는 대략 각 DBRM에 대해 두 개의 레코드, 각 SQL 레코드용으로 20바이트 및 각 호스트 변수용으로 6바이트가 필요합니다. DBRM의 정확한 형식은 prefix.SDSNMACS 라이브러리에서 DBRM 맵핑 매크로인 DSNXDBRM을 참조하십시오.

다음 구문 다이어그램은 DBRM 파일 생성 옵션을 설명합니다.

구문 도표 읽기시각적 구문 도표 생략
                   .-FALSE-.                           
>>- -generateDBRM--+-TRUE--+-- -outputDBRMPath--path-----------><

-generateDBRM TRUE|FALSE
패키지를 작성하는 대신에 DBRM 파일을 생성하는지 여부를 지정합니다. generateDBRMTRUE인 경우 디폴트로 StaticBinder 유틸리티가 4개의 DBRM 파일(분리 레벨 CS, RR, RS, UR 각각에 대해 하나씩)을 생성합니다. 그러나 -isolationLevel 옵션을 지정하는 경우 하나의 DBRM 파일만 생성할 수 있습니다.

생성된 DBRM 파일의 루트 이름은 Configure 유틸리티를 실행할 때 지정한 루트 패키지 이름입니다.

디폴트는 FALSE입니다.

-outputDBRMPath path
생성된 DBRM 파일을 저장하기 위한 디렉토리를 지정합니다. 디폴트값은 StaticBinder 유틸리티를 실행한 디렉토리입니다.
-differenceOnlyTRUE|FALSE
pureQueryXML 파일 내에서 StaticBinder 유틸리티를 실행하는 해당 명령문 세트에 대한 콜렉션 이름, 패키지 이름 및 일관성 토큰 값과 일치하는 콜렉션 이름, 패키지 이름 및 일관성 토큰을 가지고 있는 DB2 패키지를 바꾸지 않도록 지정합니다.

예를 들어, capture.pdqxml이라고 하는 pureQueryXML 파일에 대해 StaticBinder 유틸리티를 실행했다고 가정하겠습니다. 유틸리티는 패키지 MYPKGA, MYPKGB 및 MYPKGC를 작성합니다. 그러면 사용자는 capture.pdqxml에서 명령문 세트 MYPKGA를 수정하고 디폴트값 FALSE로 -cleanConfigure 옵션을 사용하여 이 파일에 대해 Configure 유틸리티를 실행합니다. Configure 유틸리티는 새 일관성 토큰을 명령문 세트에 지정합니다. 이 세트가 변경되었기 때문입니다. MYPKGA의 새 버전을 바인드하기 위해 다시 capture.pdqxml에서 StaticBinder 유틸리티를 실행하는 경우 -differenceOnly TRUE를 지정합니다. 유틸리티는 MYPKGA만 리바인드하고 다른 두 패키지는 리바인드하지 않습니다.

디폴트값은 FALSE입니다.
-grant "grantees(firstID,secondID,...)"
StaticBinder 유틸리티가 작성하는 패키지에 EXECUTE 특권을 부여할 사용자에게 쉼표로 구분되는 권한 받은 사용자 목록(괄호로 표시된)을 지정합니다. 이 옵션을 지정하지 않으면 StaticBinder 유틸리티는 이 특권을 권한 부여하지 않습니다.
구문 도표 읽기시각적 구문 도표 생략
                             .-,--------------------.          
                             V                      |          
>>- -grant-- "--grantees--(----+-authorization-ID-+-+--) - "---><
                               '-PUBLIC-----------'            

grantees
EXECUTE 특권을 권한 부여할 쉼표로 구분된 권한 부여 ID 목록입니다. 나열한 권한 부여 ID는 사용 중인 DB2 데이터베이스에 대해 유효해야 합니다.

Linux, UNIX 및 Windows용 DB2 데이터베이스: USER, GROUP 및 ROLE 키워드를 사용할 수 있습니다. 이들 키워드에 관한 정보는 GRANT(패키지 특권) 명령문을 참조하십시오.

z/OS용 DB2: ROLE 키워드를 사용할 수 있습니다. 이 키워드에 관한 정보는 GRANT(패키지 특권)를 참조하십시오.

제한사항:

  • -generateDBRM 옵션 값이 TRUE인 경우, -grant 옵션을 사용할 수 없습니다.
  • 옵션 파일에서, defaultOptions 행 또는 파일에서 하나 이상의 개별 엔트리에서 -grant 옵션을 사용할 수 있습니다. 단일 옵션 파일의 두 위치에서 -grant를 사용할 수 없습니다.
-isolationLevel CS | RR | RS | UR
4개의 분리 레벨 각각에 대해 DB2 패키지나 DBRM 파일을 하나씩 생성하지 않고 특정 분리 레벨에 대한 단일 DB2 패키지 또는 DBRM 파일을 생성하도록 지정합니다.

분리 레벨은 패키지에 있는 모든 SQL문에 적용됩니다. 분리 레벨을 JDBC 및 SQLJ용 IBM® 데이터 서버 드라이버의 Connection.setTransactionIsolation() 메소드를 통해 설정하면, pureQuery는 정적으로 실행된 명령문의 해당 분리 레벨을 무시합니다.

UR
언커미트 읽기를 분리 레벨로 지정합니다.
구성 유틸리티를 실행 시 -forceSingleIsolationLevel 옵션을 사용하지 않았다면 StaticBinder 유틸리티가 작성된 패키지 또는 DBRM 파일의 이름에 1을 추가합니다.
CS
커서 안정성을 분리 레벨로 지정합니다.
구성 유틸리티를 실행 시 -forceSingleIsolationLevel 옵션을 사용하지 않았다면 StaticBinder 유틸리티가 작성된 패키지 또는 DBRM 파일의 이름에 2를 추가합니다.
RS
읽기 안정성을 분리 레벨로 지정합니다. 읽기 안정성 레벨에서는 응용프로그램이 읽고 변경하는 행에 대한 다른 응용프로그램 프로세스와 별도로 패키지의 SQL문이 실행됩니다.
구성 유틸리티를 실행 시 -forceSingleIsolationLevel 옵션을 사용하지 않았다면 StaticBinder 유틸리티가 작성된 패키지 또는 DBRM 파일의 이름에 3을 추가합니다.
RR
반복 읽기를 분리 레벨로 지정합니다.
구성 유틸리티를 실행 시 -forceSingleIsolationLevel 옵션을 사용하지 않았다면 StaticBinder 유틸리티가 작성된 패키지 또는 DBRM 파일의 이름에 4를 추가합니다.
-password password
데이터 소스에 연결하는 데 사용하는 암호입니다.
-showDetails TRUE|FALSE
StaticBinder 유틸리티가 생성되는 DB2 패키지와 처리되는 pureQueryXML 파일에 있는 SQL문에 관한 요약 정보를 표시하는지 여부를 지정합니다.
디폴트값은 false입니다.
Trace options
메시지를 로그할 파일 및 로그할 정보 레벨을 지정할 수 있습니다.
구문 도표 읽기시각적 구문 도표 생략
>>-+------------------------+--+---------------------------+---><
   '- -traceFile--file-name-'  |               .-OFF-----. |   
                               '- -traceLevel--+-ALL-----+-'   
                                               +-SEVERE--+     
                                               +-WARNING-+     
                                               +-INFO----+     
                                               +-CONFIG--+     
                                               +-FINE----+     
                                               +-FINER---+     
                                               '-FINEST--'     

-traceFile file-name
조작에 대한 정보를 로그하는데 사용하려는 절대 또는 상대 경로 및 파일 이름을 지정합니다.
파일이 이미 존재한다면 pureQuery는 새 메시지를 파일의 기존 컨텐츠에 추가합니다.디폴트로, 엔트리는 System.err에 기록됩니다.
-traceLevel OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|ALL
로그할 정보 유형을 지정합니다. 디폴트 레벨은 OFF입니다. 로그 엔트리를 기록할 파일을 지정하지 않고 이 옵션을 OFF가 아닌 다른 값으로 설정하는 경우, 엔트리는 System.err에 기록됩니다.
-url connection-URL
데이터베이스를 연결하기 위한 유형 4 JDBC URL입니다.
-username user ID
데이터 소스에 연결하는 데 사용하는 사용자 ID입니다.
-verifyPackages DETAIL|SUMMARY
StaticBinder 유틸리티가 pureQueryXML 파일과 연관된 SQL문으로 존재하거나 존재하지 않는 패키지의 보고서를 작성할 것인지 여부를 지정합니다. 이 옵션을 사용하면 StaticBinder 유틸리티가 패키지를 바인드하지 않습니다.

예를 들어, myApp.pdqxml이라는 pureQueryXML에서 구성 유틸리티를 실행했다고 가정합니다. 유틸리티를 실행했을 때 -collection, -pkgVersion 및 -rootPkgName 옵션에 대한 값이 제공되었으며 유틸리티는 이들 값을 pureQueryXML 파일에 저장했습니다. 이 파일의 이름을 지정하는 StaticBinder 유틸리티를 실행하면 유틸리티가 DB2 패키지를 작성합니다.

나중에 StaticBinder 유틸리티가 pureQueryXML 파일에서 작성한 패키지 목록을 볼 수 있습니다. 유틸리티를 실행 시, -verifyPackages 옵션을 사용하여 DETAIL 값을 지정하고 다시 파일 이름을 제공할 수 있습니다.

-collection, -pkgVersion 및 -rootPkgName 옵션 값이 StaticBinder 유틸리티를 이전에 실행했을 때와 같다면, 유틸리티가 해당 패키지를 찾아 나열합니다.

하지만 먼저 StaticBinder 유틸리티를 실행하고 -collection, -pkgName 및 -rootPkgName 값을 변경한 후 구성 유틸리티를 myApp.pdqxml에서 실행하면, StaticBinder 유틸리티가 이들 옵션의 새 값과 일치되는 패키지를 찾지 못합니다. 보고서에서 StaticBinder 유틸리티는 찾고 있는 패키지가 없다고 보고합니다.

구성 유틸리티를 pureQueryXML 파일에서 실행한 다음 StaticBinder 유틸리티를 실행한 후, 파일에서 다시 구성 유틸리티를 실행하지 않고 -collection, -pkgVersion 및 -rootPkgName에 대해 다른 값을 제공하지 않았다는 전제 하에서 -verifyPackages 옵션이 동작합니다.

이 옵션은 -bindOptions 옵션과 함께 지정할 수 있습니다. 하지만 StaticBinder 유틸리티는 패키지를 바인드하지 않습니다. 패키지를 작성할 때 이 옵션을 사용하여 콜렉션을 지정한 경우 -bindOptions만을 사용하여 검증할 패키지 콜렉션을 지정하십시오.

세부사항
-collection, -pkgVersion 및 -rootPkgName 값을 기본으로 하는 다음 정보를 설명하는 보고서를 작성합니다.
  • 존재하지 않는 패키지.
  • 존재하는 패키지. 각 패키지에 대해 보고서는 이름, 일관성 토큰, 시간소인 및 분리 레벨을 나열합니다.
  • 존재하거나 존재하지 않는 패키지 수.
요약
-collection, -pkgVersion, 및 -rootPkgName의 값을 부여하는 존재하거나 존재하지 않는 패키지를 나열하는 보고서를 작성합니다.

피드백