DBMS 2
DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!
WLM은 다양한 워크로드별로 서비스 클래스를 정의하여 자원 할당에 우선순위를 부여할 수 있 게 합니다. WLM은 시스템 자원 분배 시 우선 순위를 고려하여 서비스 클래스를 분리합니다. WLM의 구축 절차 는 아래와 같습니다 Step1: 서비스 클래스를 생성합니다. Step2: 서비스 서브클래스를 생성합니다. Step3: Workload를 생성합니다. Step4: Threshold를 생성합니다. Step5: Work Class set를 생성합니다. Step6: Work Action set를 생성합니다. -- LOAD 작업이 시도될 경우 수행될 ACTION을 정의합니다. Workload에 대한 권한을 부여합니다. Workload에 대한 권한을 제거 합니다. Workload에 대한 비활성화 SERVICE CLASS 또는 SERVICE SUBCLASS 비활성화 WLM 현재 상태와 누적 모니터링을 하기 위해서는 db2pd 명령에서 wlm 옵션을 사용하거 나 또는 wlm_get_service_superclass_stats같은 WLM 상태조회 테이블 함수를 사용 할 수 있습니다.워크로드 매니저
워크로드 매니저
WLM 개요
WLM 정의
Step2 : 서비스 서브클래스 생성
Step3 : Workload 생성
Step4 : Threshold 생성
Step5 : Work Class set 생성
Step6 : Work Action set 생성
UNDER ACT_CNTL_SC ? 클래스 명
COLLECT ACTIVITY DATA WITH DETAILS; -- 데이터 모음 옵션
1) 사용자명을 통한 DB 사용 제한을 위한 WORKLOAD 정의합니다.
2) 응용 프로그램 명을 통한 DB 사용 제한을 위한 WORKLOAD를 정의합니다.
SYSTEM_USER ('SELUSR')
SERVICE CLASS ACT_CNTL_SC;
CREATE WORKLOAD TOAD_AP_WL
APPLNAME ('Toad.exe')
SERVICE CLASS ACT_CNTL_SC;
WLM 정의
-- 수행 시 지정된 시간 이상 수행되는 SQL문을 수집 후 해당 연결을 강제 종료시킵니다.
-- Threshold-domain을 DB 전체로 정의하며, 임계 값 초과시에도 계속 수행하고 해당 SQL문을 수집합니다
FOR DATABASE ACTIVITIES
ENFORCEMENT DATABASE
WHEN ACTIVITYTOTALTIME > 1 HOURS
COLLECT ACTIVITY DATA WITH DETAILS
CONTINUE;
-- LOAD 작업에 대한 WORK CLASS SET을 정의합니다.
(WORK CLASS LOAD_WC WORK TYPE LOAD);
FOR DATABASE
USING WORK CLASS SET LOAD_WCS
(WORK ACTION LOAD_WA ON WORK CLASS
LOAD_WC PREVENT EXECUTION);
WLM 관리
GRANT USAGE ON WORKLOAD WAS_AP_WL TO USER WASUSR;
GRANT USAGE ON SELECT_USER_WL TO USER SELUSR;
- 권한 제거 명령 수행 후 모든 연결에서 SQL문을 수행할 경우 다음 에러 발생합니다.
SQL4707N Workload "SYSDEFAULTUSERWORKLOAD" cannot service the request because it is not allowed to access the database or is disabled. SQLSTATE=5U020
REVOKE USAGE ON WORKLOAD SELECT_USER_WL FROM SELUSR;
- 해당 WORKLOAD가 비활성화된 후에 SQL문 수행 시 아래 에러 발생합니다.
SQL4707N Workload "SYSDEFAULTUSERWORKLOAD" cannot service the request because it is not allowed to access the database or is disabled. SQLSTATE=5U020
ALTER WORKLOAD SELECT_USER_WL DISABLE
- SERVICE CLASS 또는 SERVICE SUBCLASS를 비활성화할 경우 관련된 모든 WORKLOAD가 사용 불가능하게 되므로 주의해야 합니다.
SQL4714N The request cannot be executed because service class "ACT_CNTL_SC.SYSDEFAULTSUBCLASS" is disabled. SQLSTATE=5U028
SUBSTR(WORK_CLASS_NAME, 1, 12), LAST_RESET,
SUBSTR(CHAR(ACT_TOTAL), 1, 10)
FROM TABLE(WLM_GET_WORK_ACTION_SET_STATS('', -2))
ORDER BY WORK_ACTION_SET_NAME, WORK_CLASS_NAME ;