了解Maclean Liu|向Maclean Liu提问 Oracle ALLSTARS 全明星(群内有多位Oracle高级售后support,N位OCM和ACE) QQ群 # QQ群号:23549328 # 已经升级到 2000人群,空位多多。欢迎有一定基础的Oracle骨友加入,现在入群需要经过Maclean的技术面试,欢迎面试,请加QQ号:47079569 为好友参加面试 2群基础群 适合刚入门的同学,会共享最佳入门实践和资料 QQ群 # QQ群号:171092051 # 已经升级到 500人的超级群,空位多多,无需面试

Script To Monitor RDBMS Session UGA and PGA Current And Maximum Usage Over Time

Script

set echo off; set feedback off; set heading off; set linesize 128; set show off; set pagesize 55; set trimspool on; set verify off; column "SID AND SERIAL#" FORMAT A19 col SNAP_COLUMN new_value SNAP_TIME col SNAP_EOF_NAME new_value EOF_NAME col SNAP_HOST_NAME new_value THE_HOST_NAME col SNAP_INSTANCE_NAME new_value THE_NAME_OF_THE_INSTANCE col SNAP_RDBMS_VERSION new_value THE_RDBMS_VERSION set term off; select to_char(sysdate,'YYYYMMDD_HH24MISS') "SNAP_COLUMN" from dual; select trim(host_name) "SNAP_HOST_NAME" from v$instance; select trim(instance_name) "SNAP_INSTANCE_NAME" from v$instance; select trim(version) "SNAP_RDBMS_VERSION" from v$instance; select '&THE_NAME_OF_THE_INSTANCE'||'_'||'&SNAP_TIME'||'.LST' "SNAP_EOF_NAME" from dual; drop table maxpgauga; create table maxpgauga as select s.sid, s2.serial#, n.name, s.value, decode(s2.username,null,s2.program,s2.username) "USERNAME", s2.logon_time from   v$statname n, v$sesstat s, v$session s2 where  n.statistic# = s.statistic# and (s.sid = s2.sid) and name like 'session%memory max%'; drop table curpgauga; create table curpgauga as select s.sid, s2.serial#, n.name, s.value, decode(s2.username,null,s2.program,s2.username) "USERNAME", s2.logon_time from   v$statname n, v$sesstat s, v$session s2 where  n.statistic# = s.statistic# and (s.sid = s2.sid) and name like 'session%memory' and name not like 'session%memory max%';set term on; spool ORACLE_MEMORY_USAGE_SNAPSHOT_&EOF_NAME select 'Oracle Memory Usage Report: PGA And UGA Memory Usage Per Session' from dual; select 'Host........: '||'&THE_HOST_NAME' from dual; select 'Name........: '||'&THE_NAME_OF_THE_INSTANCE' from dual; select 'Version.....: '||'&THE_RDBMS_VERSION' from dual; select 'Startup Time: '||to_char(min(logon_time),'YYYY-MM-DD HH24:MI:SS') from curpgauga; select 'Current Time: '||to_char(sysdate,'YYYY.MM.DD-HH24:MI:SS') from dual; select 'Worst possible value of concurrent PGA + UGA memory usage per session:' from dual; set heading on select   trim(to_char(sid))||','||trim(to_char(serial#)) "SID AND SERIAL#", username "USERNAME OR PROGRAM", sum(value), to_char(logon_time,'YYYY-MM-DD HH24:MI:SS') "SESSION START TIME" from     maxpgauga group by sid, serial#, username, logon_time order by sum(value) desc; set heading off select 'Worst possible total and average values of concurrent PGA + UGA memory usage:' from dual; select sum(value)||' bytes (total) and ~'||trunc(avg(value))||' bytes (average), for ~'||trunc(count(*)/2)||' sessions.' from maxpgauga; select 'Approximate value of current PGA + UGA memory usage per session:' from dual; set heading on select   trim(to_char(sid))||','||trim(to_char(serial#)) "SID AND SERIAL#", username "USERNAME OR PROGRAM", sum(value), to_char(logon_time,'YYYY-MM-DD HH24:MI:SS') "SESSION START TIME" from     curpgauga group by sid, serial#, username, logon_time order by sum(value) desc; set heading off select 'Current total and average values of concurrent PGA + UGA memory usage:' from dual; select sum(value)||' bytes (total) and ~'||trunc(avg(value))||' bytes (average), for ~'||trunc(count(*)/2)||' sessions.' from curpgauga; select 'Maximum value of PGA memory usage per session:' from dual; set heading on select   trim(to_char(sid))||','||trim(to_char(serial#)) "SID AND SERIAL#", username "USERNAME OR PROGRAM", value, to_char(logon_time,'YYYY-MM-DD HH24:MI:SS') "SESSION START TIME" from     maxpgauga where    name like 'session pga memory max%' order by value desc, sid desc; set heading off select 'Worst possible total and average values of concurrent PGA memory usage:' from dual; select sum(value)||' bytes (total) and ~'||trunc(avg(value))||' bytes (average), for ~'||count(*)||' sessions.' from maxpgauga where name like 'session pga memory max%'; select 'Maximum value of UGA memory usage per session:' from dual; set heading on select   trim(to_char(sid))||','||trim(to_char(serial#)) "SID AND SERIAL#", username "USERNAME OR PROGRAM", value, to_char(logon_time,'YYYY-MM-DD HH24:MI:SS') "SESSION START TIME" from     maxpgauga where    name like 'session uga memory max%' order by value desc, sid desc; set heading off select 'Worst possible total and average values of concurrent UGA memory usage:'  from dual; select sum(value)||' bytes (total) and ~'||trunc(avg(value))||' bytes (average), for ~'||count(*)||' sessions.' from maxpgauga where name like 'session uga memory max%'; select 'Current value of PGA memory usage per session:' from dual; set heading on select   trim(to_char(sid))||','||trim(to_char(serial#)) "SID AND SERIAL#", username "USERNAME OR PROGRAM", value, to_char(logon_time,'YYYY-MM-DD HH24:MI:SS') "SESSION START TIME" from     curpgauga where    name like 'session pga memory%' order by value desc, sid desc; set heading off select 'Current total and average values of concurrent PGA memory usage:' from dual; select sum(value)||' bytes (total) and ~'||trunc(avg(value))||' bytes (average), for ~'||count(*)||' sessions.' from curpgauga where name like 'session pga memory%'; select 'Current value of UGA memory usage per session:' from dual; set heading on select   trim(to_char(sid))||','||trim(to_char(serial#)) "SID AND SERIAL#", username "USERNAME OR PROGRAM", value, to_char(logon_time,'YYYY-MM-DD HH24:MI:SS') "SESSION START TIME" from     curpgauga where    name like 'session uga memory%' order by value desc, sid desc; set heading off select 'Current total and average values of concurrent UGA memory usage:' from dual; select sum(value)||' bytes (total) and ~'||trunc(avg(value))||' bytes (average), for ~'||count(*)||' sessions.' from curpgauga where name like 'session uga memory%'; select 'Current SGA structure sizings:' from dual; show sga select 'Some initialization parameter values at instance startup:' from dual; select trim(name)||'='||value from v$parameter where name in ('__shared_pool_size', 'large_pool_size', 'pga_aggregate_target', 'sga_target', 'shared_pool_size', 'sort_area_size', 'streams_pool_size') order by name; select 'Current Time: '||TO_CHAR(sysdate,'YYYY.MM.DD-HH24:MI:SS') from dual; spool off set feedback on; set heading on; set linesize 80; set pagesize 14; set verify on; set echo on;
Oracle Memory Usage Report: PGA And UGA Memory Usage Per Session  

posted on 2010-06-11 03:08  Oracle和MySQL  阅读(245)  评论(0编辑  收藏  举报

导航