프로덕션 환경의 SQL문 캡처를 지원하려면 pureQuery 사용 애플리케이션이나 데이터베이스의 저장소와 별도의 파일 시스템에 pureQuery 구성 정보를 저장하기 위해 pureQuery 클라이언트 최적화를 사용하는 애플리케이션을 구성할 수 있습니다. pureQuery Runtime은 SQL 데이터를 계속해서 캡처한 후 지정된 위치에 캡처한 SQL을 저장합니다. 데이터베이스 관리자는 이 위치에서 캡처한 SQL 데이터를 추출하고 pureQuery Merge, Configure 및 StaticBinder 유틸리티를 사용하여 애플리케이션을 다시 시작하지 않고도 트랜잭션 데이터베이스에서 SQL을 정적으로 실행하도록 갱신합니다.
다음 그림은 프로덕션 WebSphere® Application Server 환경의 연속 프로세스 표시를 보여줍니다.
그림에서, 각 애플리케이션 인스턴스는 pureQuery 클라이언트 최적화로 사용되며 SQL문을 정적으로 실행 중입니다. 각 애플리케이션은 트랜잭션 데이터베이스와 별도의 데이터베이스에 있는 저장소를 사용하여 pureQuery 특성와 pureQueryXML 데이터를 검색하고 있습니다. 저장소에는 pureQuery Runtime에 캡처된 SQL 데이터도 저장됩니다. 스크립트는 캡처한 SQL 데이터 및 pureQuery Runtime에 사용되는 pureQueryXML 데이터를 추출하고, 캡처한 SQL을 pureQueryXML 데이터와 병합하고, SQL을 정적으로 실행하도록 DB2® 패키지를 갱신하며, pureQueryXML 데이터를 저장소에 저장합니다. pureQuery 정보 및 DB2 패키지를 갱신할 때 애플리케이션 인스턴스를 다시 시작할 필요가 없으며 데이터베이스 관리자는 스크립트를 실행할 시기를 제어할 수 있습니다.
예를 들어, pureQuery 클라이언트 최적화에 사용 가능한 기존 프로덕션 웹 애플리케이션을 발행하는 SQL문에 영향을 주는 변경사항으로 갱신한다고 가정하십시오. pureQuery 클라이언트 최적화를 캡처 모드에서 실행하도록 구성하면 애플리케이션은 pureQueryXML 파일에 있는 SQL문을 정적으로 실행합니다. 이와 동시에, 애플리케이션 새 SQL문은 동적으로 실행되고, pureQuery Runtime에 캡처되며, 저장소에 저장됩니다. 갱신된 애플리케이션에서 캡처된 SQL 데이터에는 실행 계수 및 마지막 사용 날짜 같은 통계와 메타데이터, 새 스택 추적, 특수 레지스터 정보 및 일괄처리에 대한 정보가 포함됩니다(정보가 변경되는 경우).
pureQuery Merge 유틸리티는 캡처한 새 SQL 데이터를 처리해서 pureQuery Runtime에 사용되는 pureQueryXML 파일의 기존 명령문에 이를 적용할 수 있습니다. Merge 유틸리티는 장기간 실행되지 않은 명령문을 제거할 수도 있습니다.
데이터베이스 관리자는 저장소에서 캡처한 SQL 데이터를 추출하고, Merge 유틸리티를 실행하여 pureQuery Runtime에 웹 애플리케이션과 사용되는 pureQueryXML 파일과 데이터를 병합하고, 구성 및 바인드한 후 갱신한 pureQueryXML 파일을 저장소로 업로드할 수 있습니다.