2.1. 개요
2.2. 프로시저
2.2.1. READ_CLIENT_INFO
2.2.2. READ_MODULE
2.2.3. SET_ACTION
2.2.4. SET_CLIENT_INFO
2.2.5. SET_MODULE
2.2.6. SET_SESSION_LONGOPS
DBMS_APPLICATION_INFO는 V$SESSION, SYS._VT_SESSION_LONGOPS 뷰의 값을 변경하는 패키지이다.
본 절에서는 DBMS_DBMS_APPLICATION_INFO 패키지에서 제공하는 프로시저를 알파n">
현재 세션의 client_info 값을 읽는다.
READ_CLIENT_INFO 프로시저의 세부 내용은 다음과 같다.
현재 세션의 모듈 정보와 액션 정보를 읽는 프로시저이다.
READ_MODULE 프로시저의 세부 내용은 다음과 같다.
- 프로토타입
DBMS_APPLICATION_INFO.READ_MODULE(
module_name OUT VARCHAR2,
action_name OUT VARCHAR2)
- 파라미터
- 예제
DECLARE
module_name VARCHAR(64);
action_name VARCHAR(64);
BEGIN
DBMS_APPLICATION_INFO.READ_MODULE(module_name, action_name);
DBMS_OUTPUT.PUT_LINE(module_name);
DBMS_OUTPUT.PUT_LINE(action_name);
END;
/
현재 세션의 액션 이름을 지정한다.
SET_ACTION 프로시저의 세부 내용은 다음과 같다.
- 프로토타입
DBMS_APPLICATION_INFO.SET_ACTION(action_name IN VARCHAR2)
- 파라미터
- 예제
CREATE TABLE NEW_DATA_TBL(DATA NUMBER)
/
BEGIN
DBMS_APPLICATION_INFO.SET_ACTION('데이터 추가');
INSERT INTO NEW_DATA_TBL VALUES(1);
INSERT INTO NEW_DATA_TBL VALUES(2);
COMMIT;
DBMS_APPLICATION_INFO.SET_ACTION(NULL);
END;
/
현재 세션의 클라이언트 정보를 지정한다.
SET_CLIENT_INFO 프로시저의 세부 내용은 다음과 같다.
- 프로토타입
DBMS_APPLICATION_INFO.SET_CLIENT_INFO(client_info IN VARCHAR2)
- 파라미터
- 예제
BEGIN
DBMS_APPLICATION_INFO.SET_CLIENT_INFO('my_client_info');
END;
/
SELECT sid, client_info FROM V$SESSION WHERE client_info = 'my_client_info';
현재 세션의 모듈 이름을 지정한다.
SET_MODULE 프로시저의 세부 내용은 다음과 같다.
- 프로토타입
DBMS_APPLICATION_INFO.SET_MODULE(
module_name IN VARCHAR2,
action_name IN VARCHAR2)
- 파라미터
- 예제
CREATE TABLE NEW_DATA_TBL(DATA NUMBER)
/
BEGIN
DBMS_APPLICATION_INFO.SET_MODULE('데이터 추가', '새로운 데이터 인서트');
INSERT INTO NEW_DATA_TBL VALUES(1);
INSERT INTO NEW_DATA_TBL VALUES(2);
COMMIT;
DBMS_APPLICATION_INFO.SET_MODULE(NULL, NULL);
END;
/
2.2.6. SET_SESSION_LONGOPS
SYS._VT_SESSION_LONGOPS 뷰의 값을 변경한다.
SET_SESSION_LONGOPS 프로시저의 세부 내용은 다음과 같다.
- 프로토타입
DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS(
id IN OUT PLS_INTEGER,
op_name IN VARCHAR DEFAULT NULL,
sofar IN NUMBER DEFAULT 0,
totalwork IN NUMBER DEFAULT 0,
target_desc IN VARCHAR2 DEFAULT 'unknown target',
units IN VARCHAR2 DEFAULT NULL)
- 파라미터
- 예제
DECLARE
idx PLS_INTERGER := -1;
BEGIN
DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS(idx);
END;
/
SELECT * FROM SYS._VT_SESSION_LONGOPS;