DBMS 2
DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!
필요한 모니터링 정보를 얻기 위해서는 다양한 방법들이 있다. 이 방법들은 DB2 유틸리티, 즉 Explain 유틸리티, 스냅샷 모니터, 이벤트 모니터를 사용하는 것을 포함한다. 다음은 Explain 유틸리티와 데이터베이스 모니터가 제공하는 정보에 대한 설명이다. 여기서는 Explain 유틸리티, 스냅샷 모니터, 이벤트 모니터, 그래픽 성능 모니터를 사용하여 데이터를 수집하는 방법과 수집된 정보를 해석하는 방법에 대해 살펴본다. DB2 모니터는 자원 사용의 자세한 정보를 수집하기 위해 사용된다. 모니터링 활동은 DB2 클라이언트 또는 DB2 서버에서 수행되어질 수 있다. 모니터 인터페이스는 CLP 명령어, 그래픽 성능 모니터, 모니터링 API를 이용하여 호출된다. 또한 DB2는 다른 종류의 모니터링을 제공한다. 즉 모니터링 데이터를 수집하는 방법이 다르다. 스냅샷 모니터는 카운터의 형태로 누적 정보를 제공한다. 이 카운터는 재설정될 수 있다. 스냅샷 정보는 snapshot 명령어를 발행하는 응용프로그램에 의해서 조사될 수 있는 특별한 구조로 제공된다. 스냅샷 모니터에 의해 리턴되는 데이터의 양은 스위치에 따라 설정된다. 모니터 스위치들이 제공하는 정보는 다음과 같다. 모니터 스위치는 인스턴스 (DBM 구성) 레벨 또는 응용프로그램 레벨에서 온(On), 오프(Off)된다 (UPDATE MONITOR SWITCHES 명령어를 사용하여). 스냅샷 모니터는 모니터 스위치 설정값과 관계없이 수집되어 제공하는 기본 정보가 있다. 모니터 스위치에 대한 인스턴스 구성 매개변수를 설정하는 것은 인스턴스내에 있는 모든 데이터베이스에 영향을 미친다. 데이터베이스에 연결하는 모든 응용프로그램은 DBM 구성내에 설정된 기본 스위치값을 상속받는다. 예를 들어 DB2에서 수행하는 SQL 문장들에 대해 자세한 정보를 수집하기 위해서는 다음의 명령어를 수행해야 한다. UPDATE DBM CONFIGURATION USING DFT_MON_STMT ON 또는 선택적으로 이 명령어를 사용할 수 있다. UPDATE MONITOR SWITCHES USING STATEMENT ON UPDATE DBM CONFIGURATION 명령어는 데이터베이스 관리자 구성을 수정한다. 그러므로, SQL 문장 정보는 인스턴스내에 있는 모든 데이터베이스들을 액세스하는 응용프로그램들에 대해 수집된다. 그러나, UPDATE MONITOR SWITCHES 명령어는 스위치를 활성화한 응용프로그램에 대한 SQL 문장만을 수집한다 (예를 들어, 응용프로그램은 CLP일 수 있다). 1) 스냅샷 모니터 데이터 조회 모니터 스위치가 온(On) 될 때, 모니터 데이터는 수집되기 시작한다. 모니터 데이터를 조회하기 위해서는 스냅샷을 수행해야 한다. 스냅샷은 DB2 명령어 GET SNAPSHOT를 사용하여 요청한다. 이 명령어는 다른 방법으로 수행될 수 있다. 명령 센터 GUI 툴, 적당한 API를 사용한 응용프로그램내에서 수행될 수 있고, 명령 센터, CLP, 성능 모니터에 의해 수행될 수 있다. 그래픽 성능 모니터는 제어 센터 GUI 툴과 통합되어 있다. 스냅샷 모니터에 사용되는 모니터링 레벨은 다음과 같다. 스냅샷 모니터 스위치와 레벨은 스냅샷을 했을 때 다른 모니터링 정보를 제공하기 위해 조합된다. 스위치와 레벨은 매우 근접하게 관련되어 있다. 적당한 모니터 스위치가 온(On)되어 있지 않으면, 사용되는 스냅샷 레벨은 어떠한 데이터도 리턴하지 않는다. GET SNAPSHOT 명령어는 스냅샷 모니터 데이터를 조회하기 위해 사용된다. 데이터베이스에 대한 잠금 정보를 수집하기 위해서 다음의 DB2 명령어를 명령 센터에서 수행한다. GET SNAPSHOT FOR LOCKS ON sample 스냅샷의 출력은 명령 센터 결과 창에 보여진다. 분석 목적으로 결과의 출력을 파일로 저장하는 것도 좋은 방법이다. 만약 잠금에 대한 자세한 정보를 원한다면, 잠금 모니터 스위치를 온(On) 해야 한다. 스냅샷 모니터??는 자원이다. 잠금 모니터링 레벨은 데이터베이스 활동을 분석하는데 사용된다. 응용프로그램 스냅샷 모니터 레벨의 정보는 다음의 명령어를 사용하여 얻을 수 있다. GET SNAPSHOT FOR APPLICATIONS ON sample 스냅샷은 응용프로그램의 활동에 대한 자세한 정보를 제공한다. 스냅샷을 사용하면, 얼마나 많은 행들이 읽혀지고, 갱신되고, 삭제되었는지에 대한 응용프로그램 활동을 볼 수 있다. 따라서 데이터베이스 오브젝트들에 관한??의 명령어를 발행한다. GET SNAPSHOT FOR TABLES ON sample 테이블 스냅샷을 사용함으로써, 어느 테이블이 데이터베이스에 주요 활동을 했는지, 예를 들어 Select 또는 Update 빈도수 등을 알 수 있다. 카??한을 부여받았는지 확인하거나, 다른 유형을 사용했는지 조사하는 등의 다른 활동을 위해 DB2에 의해 사용된다. 스냅샷은 테이블, 잠금, 응용프로그램과 같은 DB2 논리적 오브젝트들과 관련된 데이터를 보여준다. 또한 디스크 활동과 메모리 사용과 같은 물리적인 데이터베이스 환경에 관련된 정보를 제공하는데 사용될 수 있다. 이런 유형의 정보는 다음의 명령어를 사용하여 테이블 공간 레벨 스냅샷을 사용하여 수집된다. GET SNAPSHOT FOR TABLESPACES ON sample 이 스냅샷 정보는 각 테이블 공간에 대한 I/O와 버퍼풀 활동에 대한 정보를 보여준다. 테이블 공간 정보와 함께, 이 모니터 레벨은 버퍼 풀 사용에 대한 정보를 보여준다. 버퍼 풀 정보는 BUFFERPOOL 스위치가 온(On) 인 경우에만 수집된다. I/O 프리페칭 활동은 비동기식 읽기로 보여지고, 버퍼 풀 비동기 페이지 정리는 비동기식 쓰기로 보여진다. 또한 직접 읽기/쓰기 개념은 동기식 읽기/쓰기와 대응된다. 2) 스냅샷 모니터 스위치 상태 조사 다음의 명령어를 발행하면 언제든지 데이터베이스 모니터 스위치의 현재 설정값을 결정할 수 있다. GET MONITOR SWITCHES 만약 모니터 스위치에 대한 인스턴스 설정값을 알고자 한다면, 다음의 명령어를 사용한다. GET DBM MONITOR SWITCHES 3) 스냅샷 모니터 스위치 재설정 스냅샷 모니터에 의해 리턴되는 데이터는 주로 카운터값을 기반으로 한다. 이들 카운터는 모니터 스위치와 관련되어 있다. 모니터 스위치는 다음중의 하나가 발생될 때 초기화되거나 재설정된다. 모니터 스위치는 다음의 명령어에 의해 언제든지 초기화될 수 있다. RESET MONITOR FOR DATABASE db명 모니터 스위치를 재설정하면, 모든 카운터의 값이 0에서 시작되어 스냅샷도 새로운 카운터 값을 기반으로 하여 모니터링된다. 인스턴스내의 모든 데이터베이스에 대해 모니터 스위치를 재설정하기 위해서는 RESET MONITOR ALL 명령어가 사용되어야 한다. 스냅샷 모니터링이 스냅샷을 취할 때 데이터베이스 활동의 상태를 기록하는 반면, 이벤트 모니터는 이벤트나 전이가 발생할 때 데이터베이스 활동을 기록한다. 모니터될 필요가 있는 데이터베이스 활동중의 몇가지들은 스냅샷 모니터를 사용하여 쉽게 수집되지 않는다. 이들 활동에는 교착상태(Deadlock) 시나리오를 포함한다. 교착상태가 발생할 때, DB2는 트랜잭션중의 하나에 대해 ROLLBACK을 발행함으로써 교착상태를 해결한다. 교착상태 이벤트에 대한 정보는 교착상태가 스냅샷을 하기전에 해결될 수 있기 때문에 스냅샷 모니터를 사용하여 쉽게 수집할 수 없다. 이벤트 모니터는 SQL DDL을 사용하여 생성된다. 이벤트 모니터는 스냅샷 모니터 스위치와 같이 온(On) 또는 오프(Off)될 수 있다. 이벤트 모니터가 생성될 때, 모니터될 이벤트의 유형이 명시되어야 한다. 이벤트 모니터는 다음과 같은 이벤트를 모니터할 수 있다. 많은 유형의 이벤트 모니터들은 마지막 응용프로그램이 연결을 끊을 때 이벤트 레코드를 생성한다. 하지만 특정 이벤트 모니터와 연관된 모든 활동중인 모니터 유형들에 대한 현재의 데이터베이스 모니터 값들을 기록하기 위해서 FLUSH EVENT MONITOR 명령어를 사용할 수 있다. FLUSH EVENT MONITOR evmon_name 이 명령어에 의해 작성된 이벤트 레코드들은 부분 레코드 식별자(Partial Record Identifier)와 함께 이벤트 모니터 로그에 기록된다. 그러나 이것은 이벤트 모니터 값을 재설정하지는 않는다. 이벤트 모니터의 출력은 디렉토리 또는 Named Pipe에 저장된다. 파이프나 파일의 존재에 대한 확인은 이벤트 모니터가 활성화될 때 이루어진다. 이벤트 모니터의 타겟 위치가 Named Pipe라면, 파이프에서 직접 데이터를 읽는니터의 타겟 위치??들로 기록된다. 파일들은 일련번호가 매겨지고, evt (00000000.evt, 00000001.evt 등과 같이)라는 파일의 확장자를 가진다. 이벤트 모니터 파일들의 최대 크기와 최소 크기는 모니터가 정의될 때 지정된다. 1) 이벤트 모니터 생성 이벤트 모니터는 SQL DDL 문장을 사용하여 생성된 데이타베이스 오브젝트이다. 또한 db2emcrt GUI 툴로 이벤트 모니터를 생성할 수 있다. 예를 들어, 교착상태 이벤트 모니터를 '/eventmonitors/deadlock/evmon1' 디렉토리에 이벤트 레코드들을 저장하기 위해 생성하고자 하는 경우, 다음과 같은 SQL 문장이 사용된다. 이벤트 모니터 출력물 디렉토리는 DB2에 의해 생성되지 않기 때문에, 데이타베이스 관리자는 해당 디렉토리를 미리 생성해야 하고, 그 디렉토리를 인스턴스 소유자가 기록할 수 있어야 한다. 위의 예제에서 생성된 이벤트 모니터는 각 파일의 크기는 4MB, 3개의 파일까지, 즉 전체 모니터 저장영역은 12MB 할당될 수 있다. 다른 이(BLOCKED) 기록, 비동기(UNBLOCKED) 기록, 이벤트 모니터 데이타를 기존의 레코드에 APPEND 또는 디렉토리의 이벤트 모니터 데이타를 REPLACE하는 것을 포함한다. 다음의 2가지 시스템 카탈로그 테이블들은 이벤트 모니터 정의들을 저장하기위해 사용되어진다. 이벤트 모니터는 많은 다른 유형의 데이타베이스 활동들을 모니터하기 위해 정의될 수 있다. 또한 필터는 이벤트 모니터에 대해 지정할 수 있다. 필터는 APPL_ID, AUTH_ID, APPL_NAME을 기반으로 한다. (예를 들어 AUTH_ID='DB2INST1', APPL_NAME='TEST1') 이벤트 모니터를 정의하는 데 있어 갯수에는 제한이 없다. 그러나 한번에 DB2 인스턴스당 32개의 이벤트 모니터까지 활동시킬 수 있다. 2) 이벤트 모니터 시작과 중지 이벤트 모니터는 모니터링 데이타를 수집하기 위해 활성화된다. 이벤트 모니터가 CREATE EVENT MONITOR 문장을 사용하여 정의하면, 활성화된다. 이벤트 모니터를 활성화하는데 사용되는 문장은 다음과 같다. SET EVENT MONITOR evmon1 STATE=1 이벤트 모니터가 활성화될 때, 정의된 디렉토리나 파이프 (예를 들어, /eventmonitors/deadlocks/evmon1)에 있는 파일에 이벤트 모니터 레코드들이 기록된다. 이벤트 모니터는 AUTOSTART 옵션을 사용하면, 데이터베이스가 시작될 때마다 자동적으로 시작할 수 있다. 옵션은 생성시에 지정된다. 이벤트 모니터를 오프(Off)하기 위해, SET EVENT MONITOR STATE 문장이 사용된다. SET EVENT MONITOR evmon1 STATE=0 이벤트 모니터를 오프하면 모든 이벤트 레코드들의 내용들이 기록된다. 이벤트 모니터가 오프되면, 시스템 카탈로그 테이블에 여전히 정의되어 있으나, 모니터 정보는 기록하지 않는다. 만약 이벤트 모니터가 활동 또는 비활동인 것을 결정하기 위해서, SQL 함수 EVENT_MON_STATE나 db2emcrt의 GUI 판넬에서 상태를 조회할 수 있다. 만약 이벤트 모니터가 활동중이라면, EVENT_MON_STATE 함수는 1의 값을 리턴하고, 비활동중이면, 0의 값을 리턴한다. evmon1 이벤트 모니터의 상태를 조회하기 위해 EVENT_MON_STATE 함수를 사용한 SQL 문장의 예는 다음과 같다. 3) 이벤트 모니터 제거 다른 데이타베이스 오브젝트와 같이, 이벤트 모니터는 데이타베이스에서 삭제될 수 있다. 정의를 제거하는 것은 SYSCAT.EVENTMONITORS, SYSCAT.EVENTS 시스템 카탈로그 뷰에서 관련된 행들을 제거하는 것을 말한다. evmon1 이벤트 모니터를 제거하는 예는 다음과 같다. DROP EVENT MONITOR evmon1 4) 이벤트 모니터 레코드 이벤트 모니터 파일들은 직접 분석할 수 없다. 응용프로그램이 사용되어져야 한다. 이벤트 모니터 데이타를 분석하기 위해 DB2가 제공하는 몇가지 툴들이 있다. 모든 이벤트 레코드들이 디스크에 기록되는지(몇몇은 버퍼에 보관될 수 있슴)를 보장하기 위해, 단순히 이벤트 모니터를 오프하거나 FLUSH EVENT MONITOR 명령어의 BUFFER 옵션을 사용할 수 있다. FLUSH EVENT MONITOR evmon1 BUFFER 이벤트 모니터 버퍼들을 강제로 기록한다. BUFFER 옵션과 함께 사용된 FLUSH EVENT MONITOR 명령어는 부분 레코드를 생성하지 않는다. 이벤트 모니터 버퍼에 있는 데이타만이 기록된다. 이벤트 모니터링은 각 이벤트가 발생되는 대로 기록되고, 이벤트 레코드 로그 파일들에 추가되므로, 추적(Tracing)과 유사하다. 이벤트 모니터 파일은 다음과 같은 이벤트 유형들을 포함하여 많은 수의 이벤트 레코드들을 포함한다. 만약 이벤트 모니터가 데이타베이스, 테이블 공간, 테이블 이벤트들을 모니터링한다면, 데이타베이스를 사용하는 마지막 응용프로그램이 연결을 끊을 때 완벽히 이벤트 레코드들을 기록한다. 이미 설명한대로, 부분 이벤트 레코드들을 얻기 위해서는 FLUSH EVENT MONITOR 명령어를 사용할 수 있다. 5) 이벤트 모니터 출력물 분석 이벤트 모니터 데이터를 분석하는 데에는 3가지 유틸리티가 있다. 이벤트 모니터를 설명하기 위해서 교착상태 상황을 임의로 만들 수 있는데, 이것을 위해서는 AUTOCOMMIT 특성이 오프된 두 개의 DB2 명령 센터 창이 필요하다. DEADLOCKS에 대한 이벤트 모니터를 생성하고, 이를 활성화시킨다. 교착상태 상황을 생성하는 단계는 다음과 같다. 교착상태 이벤트 모니터 evmon1에서 수집된 데이터를 분석하기 위해서는 evmon1 모니터에 대한 이벤트 모니터 보고서를 생성해야 한다. 이벤트 모니터 파일들이 위치한 곳에서 다음의 명령어를 발행한다. db2evmon 명령어의 -path 옵션은 이벤트 모니터 파일들이 위치한 패스를 가리키는데 사용된다. 그림 2-1에서는 교착상태 이벤트 레코드와 두개의 교착상태 연결 이벤트 레코드를 볼 수 있다. 이 정보는 교착상태에는 두개의 응용프로그램이 포함되어 있고, 또한 교착상태의 이유를 식별케 준다. 예에서는 교착상태가 두개의 공유 모드의 잠금을 포함하는 것을 볼 수 있다. 또한 이벤트 모니터는 롤 백(Rollback)된 응용프로그램의 ID와 교착상태가 발생된 시간을 알려준다. DB2는 스냅샷과 이벤트 모니터 데이터를 수집하고 분석하기 위한 그래픽 인터페이스들을 제공한다. 1) 이벤트 분석기/모니터 이벤트 분석기는 db2evmon 툴과 동일한 그래픽 툴이다. 이벤트 분석기는 이전에 수집한 이벤트 모니터 레코드들을 보여준다. 이벤트 분석기를 호출하기 위해서는 db2eva 명령어를 수행하거나, Windows나 OS/2 머신인 경우, DB2 폴더에서 이벤트 분석기 아이콘을 선택한다. 그림 3-1은 이벤트 분석기 초기 창이다. 여기서는 이벤트 모니터 파일들이 위치한 패스를 입력하고, 데이터베이스를 선택한다. 패스와 데이터베이스 이름을 입력한 후에 OK 버튼을 클릭한다. 모니터된 기간 뷰 창에서는 이벤트 모니터가 활동중일 때 특정 시간 프레임에 대한 이벤트 레코드들을 분석할 수 있다. 팝업 메뉴를 부르기 위해 원하는 시간 기간에 오른쪽 클릭을 한다. 팝업 메뉴에서 분석하고자 하는 이벤트를 선택한다. 교착상태 뷰 창에서는 교착상태가 감지되었음을 가리킨다. 선택된 항목에 오른쪽 클릭을 하여, 교착상태의 연결 열기를 선택하면 교착상태를 발생시킨 두개의 연결을 보여준다. 연결에 대한 추가적인 정보를 원한다면, 대기중인 연결이나 보유 연결 메뉴에서 '형식지정 열기 -> 자료 요소' 옵션을 선택한다. 그림 3-6은 교착상태의 대기중인 연결에서 이용가능한 데이터를 보여준다. 이벤트 분석기는 이전에 수집된 데이터만을 보여준다. 그러므로, 스냅샷 모니터와 같이 이벤트 모니터를 사용하는 데 있어 오버헤드는 없다. 이벤트 분석기는 이전에 수집된 이벤트 레코드만을 보여주기 때문에 원하는 정보를 포함하지 않을 수도 있다. 예를 들어, '형식지정 열기 -> 명령문' 옵션을 선택하고, 이벤트 분석기에 명령문에 대한 정보가 정의되어 있지 않는 경우, 화면에는 SQL 명령문 정보가 포함되어 있지 않다. 이벤트 모니터를 시작하기 위해, DB2 폴더에서 이벤트 모니터 아이콘을 선택한다. 그림 3-7은 데이터베이스에 정의된 모든 이벤트 모니터들을 보여준다. 오른쪽 클릭을 하고 이벤트 모니터 파일 보기를 선택하면 그림 3-2와 동일한 창이 나타난다. 2) 성능 모니터 성능 모니터는 미리 정의한 간격(기본 간격 : 30초)으로 스냅샷 정보를 보여주기 위해 사용되는 그래픽 유틸리티이다. 인스턴스, 데이터베이스, 테이블 공간, 테이블, 연결 등과 같은 DB2 오브젝트들을 모니터할 수 있다. 성능 모니터에서의 정보는 다음의 경우에 사용된다. 성능 모니터는 제어 센터 인터페이스에서 초기화된다. 오브젝트가 모니터될 때, 아이콘의 색깔은 모니터의 상태를 가리키기 위해, 녹색, 황색, 적색으로 나타난다. 색깔은 설정한 임계값에 따라 문제의 심각도를 의미한다. 녹색은 모니터가 수행되고, 모든 것이 좋다는 것을 나타낸다. 황색은 모니터가 설정한 임계값에 도달하고 있다는 경고를 나타낸다. 적색은 모니터가 임계값에 도달했다는 경보를 나타낸다. 성능 모니터는 기존 문제를 모니터할 필요가 있을 때 또는 시스템의 성능을 관찰하고자 할 때 사용한다. 특정 시점에서 데이터베이스 활동과 성능 데이터의 스냅샷을 수행한다. 이 스냅샷은 시간 경과에 따른 비교시에 사용된다. 성능 그래프에서의 각 점은 데이터 값을 표현한다. DB2에서의 성능 모니터링은 DB2가 설치될 때 제공한 미리 정의된 모니터들을 사용하여 이루어지거나, 미리 정의된 모니터들을 복사, 수정하여 수행된다. DB2와 함께 제공되는 미리 정의된 모니터들은 다음과 같다. 이용가능한 모니터의 목록을 보기위해서는 제어 센터에서 시스템 폴더에 오른쪽 마우스 버튼을 클릭하고 팝업 메뉴에서 모니터 목록을 선택한다. 모니터 목록 창은 다음과 같다. 그림 3-8은 미리 정의된 모니터들을 보여준다. 창의 오른쪽에는 모니터에 대한 다양이 창에서 모니터들을 작성, 변경, 제거, 복사, 이름 바꾸기를 할 수 있다. 하지만, 미리 정?? 변경할 수 없다. 미리 정의된 모니터에 대해 할 수 있는 것은 임계값는 것이다. 모니터 목록 창에서 모니터를 선택하고, 복사 버튼을 클릭한 다음, 복사 창에서 새로운 모니터 이름을 입력한다. 모니터 목록 창에서는 새로운 모니터 이름을 볼 수 있다. 그리고 나서 새로운 모니터를 선택하고 변경 버튼을 클릭한다. 그림 3-9는 모니터 변경 창을 보여준다. 예에서의 새로운 모니터는 미리 정의된 모니터중의 하나인 Default_for_database_level 모니터에서 복사하고, Database_New 모니터라는 이름으로 저장한다. 이 창에서는 모니터가 포함한 성능 변수들을 보여준다. 더 많은 성능 변수들을 이 모니터에 추가하기 원한다면, 추가 버튼을 클릭한다. 이용가능한 모든 성능 변수들이 화면에 보여지고, 그 중에서 선택할 수 있다 (그림 3-10). 그림 3-9의 하단은 그래프 설정값을 보여준다. 또한 각 성능 변수에 대한 임계값을 설정할 수 있다. 선택된 성능 변수들에 대한 경고와 경보 지대 경계들을 정의할 수 있다. 임계값을 정의할 때, 값이 이 임계값을 초과할 때 DB2가 응답하는 방법을 설정할 수 있다. 가능한 응답으로는 다음과 같다. 데이터베이스 오브젝트 SAMPLE은 미리 정의된 Default_for_database_level 모?니터된다. SAMPLE 데이터베이스 아이콘에 오른쪽 클릭하고나서, 성능 모니터링과 모니터 시작을 선택한다. 그림 3-11은 모니터 시작 창을 보여준다. 시작하고자 하는 모니터(예에서는 Database_New)를 선택하고, 확인 버튼을 클릭한다. 제어 센터 창에서, 모니터되는 데이터베이스 오브젝트 SAMPLE 아이콘이 녹색으로 변한다. 인스턴스 레벨, 데이터베이스 레벨, 테이블 공간 레벨, 테이블 레벨, 연결 레벨에 대해 기본 모니터로써 어느 모니터를 사용할 지를 지정할 수 있다. 예를 들어, 만약 데이터베이스 레벨을 기본 모니터로 변경하고자 한다면, 제어 센터에서 데이터베이스 폴더에 오른쪽 클릭을 하고 성능 모니터링, 기본 모니터 변경을 선택한 후, 화면이 보여지는 모니터들 중에서 기본 모니터로 지정하기를 원하는 모니터를 선택한다. 성능 모니터를 시작할 때에는 그림 3-11에서 보듯이 시작 모니터 창에서 모니터를 선택할 수 있을 뿐만 아니라, 미리 기본 모니터를 정의하여 시작할 수 있다. 데이터베이스 레벨의 기본 모니터를 시작하기 위해서는 데이터베이스 오브젝트에 오른쪽 클릭을 한 후 성능 모니터링, 시작 기본 모니터를 선택한다. 모니터링이 시작되면, 성능 모니터가 수집하는 정보들이 화면에 보여진다. Database_New 모니터가 수집하는 정보들을 보기 위해서는 SAMPLE 데이터베이스 아이콘에 오른쪽 클릭을 하고, 성능 모니터링, 모니터 활동 표시를 선택한다. 그림 3-12는 모든 성능 변수들의 값이 모니터되는 것이 보여진다. 그림 3-12에서는 창의 상단은? 데이터베이스 요약이나 정보를 클릭하면, 성능 변수의 요약 데이터나 각 성능 변수의 설명을 볼 수 있다. 창의 하단의 그래프는 정의한 임계값을 기준으로 그려진다. 만약 성능 변수의 값이 상위 경고 값과 하위 경고 값 사이라면, 그래프는 녹색 밴드에서 그려진다. 3) DB2 조정자 (Governor) DB2를 모니터링할 때, 병목현상이 시스템의 어디에서 발생하는지, 데이터베이스 활동의 어떤 유형이 발생되는지 등을 감지할 수 있다. 만약 어떤 응용프로그램이 많은 자원들을 필요로 하는지 등을 알기 위해서는 데이터베이스 응용프로그램의 행동방식을 분석해야 한다. 따라서DBA는 먼저 모니터링 기술을 사용하여 응용프로그램을 감지하고 나서 응용프로그램의 행동방식을 변경하거나, 시스템에서 응용프로그램을 중지해야 한다. DB2 조정자는 자동적으로 그러한 확인을 수행하는 서버 응용프로그램이다. 또한 조정자는 서버에서 매우 많은 자원들을 사용한다고 생각되는 응용프로그램을 중지할 수 있다. (인스턴스에서 하나 또는 모든 응용프로그램을 중지하기 위해 DB2의 FORCE APPLICATION 명령어를 사용한다.) 조정자는 데이터베이스에 대해 수행하는 응용프로그램들에 대한 통계치를 수집한다. 그리고 나서 데이터베이스에 대해 지정한 규칙에 대해 이 통계치들을 확인한다. 지정한 규칙들의 예는 다음과 같다. 조정자는 지정한 응용프로그램들에 대해 매개변수들을 변경하거나 시스템에서 응용프로그램을 중지함으로써 이들 규칙들을 적용시킨다. DB2 모니터링의 시작과 중지하는 같은 방법으로 DB2 조정자를 시작, 중지한다. 예를 들어, mygov.cfg라 불리우는 조정자 운영체제 명령어 창에서 db2gov 유틸리티를 사용하여, SAMPLE 데이터베이스를 모니터링하는 조정자를 시작할 수 있다. db2gov START SAMPLE mygov.cfg mygov.log 지정한 파일 이름, mygov.log는 DB2 조정자가 수행하는 활동들을 로깅하는 파일이다. 또한 SAMPLE 데이터베이스에 대해 수행하는 조정자는 다음과 같이 중지할 수 있다. db2gov STOP SAMPLE 복수의 데이터베이스에 대해, 수행하는 DB2 조정자의 복수 인스턴스들을 가질 수 있다. DB2 조정자는 일정 간격으로 통계치를 수집하고 데이터베이스 응용프로그램의 활동을 모니터하기 때문에 수행시DB2 데이터베이스에 대해 성능에 영향을 줄 수 있다. db2govlg 툴을 사용하여 DB2 조정자에 의해 생성되는 로그들을 조사할 수 있다.성능 분석 툴 (DB 모니터링)
성능 분석 툴 (데이터베이스 모니터링)
스냅샷 모니터링
이벤트 모니터링
WRITE TO FILE '/eventmonitors/deadlock/evmon1'
MAXFILES 3 MAXFILESIZE 1000
FROM SYSCAT.EVENTMONITORS WHERE evmonname = 'EVMON1'
db2evmon -db sample -evm evmon1
비쥬얼 성능 모니터
그림 3-2는 특정 패스를 사용하고 있는 이벤트 모니터가 활동중일 때의 시간 프레임을 보여준다.
윈도우 플랫폼에서는 DB2 성능 모니터는 윈도우 환경에서 DB2 활동을 모니터하는데 사용되어질 수 있도록 윈도우 성능 모니터와 밀접하게 통합되어 있다.