테스트 등의 이유로 현재 shared pool 에 등록되어 있는 sql_id 를 삭제 하고자 할 때 운영 시스템에서 shared pool 의 모든 SQL을 flush 할 수는 없는 경우 사용 |
flush 대상 조회
shared pool에서 제거하기 위한 커서의 address, hash_value 값을 확인합니다
-- flush 대상 SQL 조회
SQL> SELECT substr(sql_text,1,30) sql_text, sql_id, address, hash_value, executions, object_status, LAST_ACTIVE_TIME
FROM v$sqlarea
WHERE 1=1
--AND sql_text LIKE 'SELECT /* SPK */%'
AND sql_id = 'brsj9n8w4vgqx'
;
SQL_TEXT SQL_ID ADDRESS HASH_VALUE EXECUTIONS OBJECT_STATUS LAST_ACTIVE_TIME
------------------------------ ------------- ---------------- ---------- ---------- ------------------- ------------------
SELECT /* SPK */ count(*) FROM brsj9n8w4vgqx 000000006337E198 944619229 1 VALID 05-SEP-22
LCO(library cache object) 제거
'address,hash_value' 값을 넣어 dbms_shared_pool.purge를 실행합니다
-- ADDRESS, HASH_VALUE 값을 넣어준다
SQL> exec dbms_shared_pool.purge ('000000006337E198,944619229','C');
PL/SQL procedure successfully completed.
-- 해당 커서 제거됨
SQL> SELECT substr(sql_text,1,30) sql_text, sql_id, address, hash_value, executions, object_status, LAST_ACTIVE_TIME
FROM v$sqlarea
WHERE 1=1
--AND sql_text LIKE 'SELECT /* SPK */%'
AND sql_id = 'brsj9n8w4vgqx'
;
no rows selected
-- 동일한 SQL 수행
SQL> SELECT /* SPK */ count(*) FROM sk.tab1 ;
COUNT(*)
----------
72709
-- 새로 파싱된 SQL이 v$sql에 등록됨
SQL> SELECT substr(sql_text,1,30) sql_text, sql_id, address, hash_value, executions, object_status, LAST_ACTIVE_TIME
FROM v$sqlarea
WHERE 1=1
AND sql_text LIKE 'SELECT /* SPK */%'
--AND sql_id = 'brsj9n8w4vgqx'
;
SQL_TEXT SQL_ID ADDRESS HASH_VALUE EXECUTIONS OBJECT_STATUS LAST_ACTIVE_TIME
------------------------------ ------------- ---------------- ---------- ---------- ------------------- ------------------
SELECT /* SPK */ count(*) FROM brsj9n8w4vgqx 000000006337E198 944619229 1 VALID 05-SEP-22
SQL>
'DBMS > ORACLE' 카테고리의 다른 글
NCHAR(national character set) 테스트 (0) | 2022.10.07 |
---|---|
ORACLE 통계정보 백업/복구 (0) | 2022.09.06 |
OPTIMIZER_DYNAMIC_SAMPLING (0) | 2022.07.06 |
WITH 문 사용(임시테이블, 프로시저, 펑션) 및 동작방식 (0) | 2022.07.01 |
TTS (Transportable Tablespaces) (0) | 2022.06.24 |
댓글