Calculate PGA and UGA Memory Consumption
CREATE OR REPLACE PACKAGE plsql_memory AUTHID DEFINER
/*
Dependencies:
SELECT privileges required on:
v$mystat
v$statname
Here are the statements you should run:
GRANT SELECT ON v$mystat TO schema;
GRANT SELECT ON v$statname TO schema;
Example of use:
CREATE OR REPLACE PACKAGE plsql_memory_globals
IS
TYPE strings_aat
IS
TABLE OF varchar2 (10000)
INDEX BY pls_integer;
g_list_of_strings strings_aat;
END plsql_memory_globals;
DECLARE
l_strings plsql_memory_globals.strings_aat;
PROCEDURE run_my_application
IS
BEGIN
FOR i IN 1 .. 10000
LOOP
FOR j IN 1 .. 10
LOOP
l_strings (i + j * 100000 - 1) := TO_CHAR (i);
plsql_memory_globals.g_list_of_strings (i + j * 100000 - 1) := TO_CHAR (i);
END LOOP;
END LOOP;
END run_my_application;
BEGIN
plsql_memory.start_analysis;
run_my_application;
plsql_memory.show_memory_usage;
plsql_memory_globals.g_list_of_strings.delete;
END plsql_memory_demo;
*** End example
*/
IS
PROCEDURE start_analysis;
PROCEDURE show_usage;
END;
/
CREATE OR REPLACE PACKAGE BODY plsql_memory
IS
g_pga_start PLS_INTEGER;
FUNCTION statval ( statname_in IN VARCHAR2 )
RETURN NUMBER
IS
l_memory PLS_INTEGER;
BEGIN
SELECT s.VALUE
INTO l_memory
FROM v$mystat s,
v$statname n
WHERE s. statistic# = n. statistic#
AND n.name = statname_in;
RETURN l_memory;
END statval;
PROCEDURE start_analysis
IS
BEGIN
DBMS_SESSION.free_unused_user_memory ;
g_pga_start := statval ( 'session pga memory max');
END start_analysis ;
FUNCTION memory_usage
RETURN INTEGER
IS
l_pga_usage PLS_INTEGER;
BEGIN
l_pga_usage := statval ( 'session pga memory max');
RETURN l_pga_usage - g_pga_start;
END;
PROCEDURE show_usage
IS
BEGIN
DBMS_OUTPUT.put_line ( 'PGA=' || memory_usage ());
END;
END plsql_memory;
/
카테고리 | 제목 | 작성자 | 추천수 | 조회수 | 작성 | |
---|---|---|---|---|---|---|
미분류 | V$SQL_MONITOR 활용 방안 구상을 위한 자료 조사 | 명품관 | 0 | 42 | 2020-02-12 | V$SQL_MONITOR 활용 방안 구상을 위한 자료 조사 |
링크 | 20190416 | 명품관 | 0 | 39 | 2020-02-12 | 20190416 |
미분류 | Calculate PGA and UGA Memory Consumption | 명품관 | 0 | 38 | 2020-02-12 | Calculate PGA and UGA Memory Consumption |
미분류 | Oracle DB PatchSet Upgrade 11.2.0.2 -> 11.2.0.4 관련 내용 | 명품관 | 0 | 36 | 2020-02-12 | Oracle DB PatchSet Upgrade 11.2.0.2 -> 11.2.0.4 관련 내용 |
미분류 | dbms_sql_monitor 사용법 | 명품관 | 0 | 36 | 2020-02-12 | dbms_sql_monitor 사용법 |
미분류 | awk 를 이용해 value 값이 없는 항목은 표시하지 않는 방법 | 명품관 | 0 | 39 | 2020-02-12 | awk 를 이용해 value 값이 없는 항목은 표시하지 않는 방법 |
링크 | 20190207 링크 | 명품관 | 0 | 37 | 2020-02-12 | 20190207 링크 |
링크 | 20190201 링크 | 명품관 | 0 | 39 | 2020-02-12 | 20190201 링크 |
링크 | 20190118 링크 | 명품관 | 0 | 39 | 2020-02-12 | 20190118 링크 |
미분류 | HP-UX 프로세스별 메모리 사용양 체크 방안 | 명품관 | 0 | 38 | 2020-02-12 | HP-UX 프로세스별 메모리 사용양 체크 방안 |
0개 댓글