DBMS 1
DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!
16.1. 개요 16.2. 프로시저와 함수 16.2.1. BYPASS 16.2.2. FLUSH 16.2.3. INVALIDATE 16.2.4. INVALIDATE_OBJECT 16.2.5. MEMORY_REPORT 16.2.6. STATUSDBMS_RESULT_CACHE
DBMS_RESULT_CACHE는 DBA가 데이터베이스의 공유 메모리에 존재하는 Result Cache를 제어할 수 있도록 인터페이스를 제공한다.다음은 DBMS_RESULT_CACHE 패키지 내에 정의된 상수이다.
STATUS_BYPS CONSTANT VARCHAR(10) := 'BYPASS'
STATUS_DISA CONSTANT VARCHAR(10) := 'DISABLED'
STATUS_ENAB CONSTANT VARCHAR(10) := 'ENABLED'
본 절에서는 DBMS_RESULT_CACHE 패키지에서 제공하는 프로시저와 함수를 알파벳순으로 설명한다.
Result Cache의 BYPASS 모드를 설정하는 프로시저이다.BYPASS 모드가 켜지면 저장된 결과를 더 이상 사용할 수 없고, 새로운 결과도 저장되지 않는다. 반대로 BYPASS 모드가 꺼지면 Result Cache를 정상적으로 사용할 수 있다.
BYPASS 프로시저의 세부 내용은 다음과 같다.
DBMS_RESULT_CACHE.BYPASS (
bypass_mode IN BOOLEAN
);
파라미터
설명
bypass_mode
BEGIN
DBMS_RESULT_CACHE.BYPASS(TRUE);
DBMS_RESULT_CACHE.FLUSH;
END;
/
Result Cache에 저장된 모든 객체들을 지우려고 시도한다. 단, 항상 모든 객체가 지워지지는 않는다.
FLUSH 프로시저와 함수의 세부 내용은 다음과 같다.
DBMS_RESULT_CACHE.FLUSH (
retain_mem IN BOOLEAN DEFAULT FALSE,
retain_stat IN BOOLEAN DEFAULT FALSE
) RETURN BOOLEAN;
DBMS_RESULT_CACHE.FLUSH (
retain_mem IN BOOLEAN DEFAULT FALSE,
retain_stat IN BOOLEAN DEFAULT FALSE
)
파라미터
설명
retain_mem
retain_stat
반환값
설명
BOOLEAN
모든 객체가 지워진 경우 TRUE를 반환한다.
BEGIN
DBMS_RESULT_CACHE.FLUSH;
END;
/
사용자가 지정한 객체에 종속된 모든 결과를 무효화시킨다.
INVALIDATE 프로시저와 함수의 세부 내용은 다음과 같다.
DBMS_RESULT_CACHE.INVALIDATE (
owner IN VARCHAR2,
name IN VARCHAR2
) RETURN NUMBER;
DBMS_RESULT_CACHE.INVALIDATE (
owner IN VARCHAR2,
name IN VARCHAR2
);
DBMS_RESULT_CACHE.INVALIDATE (
obj_id IN NUMBER
) RETURN NUMBER;
DBMS_RESULT_CACHE.INVALIDATE (
obj_id IN NUMBER
);
파라미터
설명
owner
스키마 이름이다.
name
객체 이름이다.
obj_id
데이터 사전 번호이다.
반환값
설명
NUMBER
무효화시킨 객체 수를 반환한다.
BEGIN
DBMS_RESULT_CACHE.INVALIDATE('TIBERO', 'EMP');
END;
/
사용자가 지정한 결과를 무효화시킨다.
INVALIDATE_OBJECT 프로시저의 세부 내용은 다음과 같다.
DBMS_RESULT_CACHE.INVALIDATE_OBJECT (
id IN BINARY_INTEGER
) RETURN NUMBER;
DBMS_RESULT_CACHE.INVALIDATE_OBJECT (
id IN BINARY_INTEGER
);
DBMS_RESULT_CACHE.INVALIDATE_OBJECT (
cache_id IN VARCHAR2
) RETURN NUMBER;
DBMS_RESULT_CACHE.INVALIDATE_OBJECT (
cache_id IN VARCHAR2
);
파라미터
설명
id
결과 객체의 주소이다.
cache_id
결과 객체의 고유번호이다.
반환값
설명
NUMBER
무효화시킨 객체수를 반환한다.
BEGIN
DBMS_RESULT_CACHE.INVALIDATE_OBJECT(3);
END;
/
Result Cache의 메모리 사용량 정보를 화면에 출력해 준다. 단, tbSQL의 serveroutput 옵션이 켜져있어야 한다.MEMORY_REPORT 프로시저의 세부 내용은 다음과 같다.
DBMS_RESULT_CACHE.MEMORY_REPORT (
detailed IN BOOLEAN DEFAULT FALSE
);
파라미터
설명
detailed
BEGIN
DBMS_RESULT_CACHE.MEMORY_REPORT;
END;
/
Result Cache의 현재 상태를 반환한다.
STATUS 함수의 세부 내용은 다음과 같다.
DBMS_RESULT_CACHE.STATUS
RETURN VARCHAR2;
반환값
설명
VARCHAR2
BEGIN
DBMS_OUTPUT.PUT_LINE(DBMS_RESULT_CACHE.STATUS);
END;
/
?4"