oracle pga使用情況常用指令碼:
1.Look at trends of individual processes growing in size: (檢視某個程式pga增長的趨勢)
select p.spid, s.sid, substr(n.name,1,25) memory, s.value as Bytes from v$sesstat s, v$statname n, v$process p, v$session vs
where s.statistic# = n.statistic#
/* this query currently looks at both uga and pga, if only one of these is desired modify the like clause to pga or uga */
and n.name like '%ga memory%'
and s.sid=vs.sid
and vs.paddr=p.addr
/* --remove comment delimiters to view only certain sizes, i.e. over 10Mbytes
and s.value > 10000000 */
order by s.value asc;
2.列出佔用pga最大的程式
select pid,spid,substr(username,1,20) "USER" ,program,PGA_USED_MEM,PGA_ALLOC_MEM,PGA_FREEABLE_MEM,PGA_MAX_MEM
from v$process
where pga_alloc_mem=(select max(pga_alloc_mem) from v$process
where program not like '%LGWR%');
3.在v$process中pga的總和
select sum(pga_alloc_mem)/1024/1024 as "Mbytes allocated", sum(PGA_USED_MEM)/1024/1024 as "Mbytes used" from v$process;
4.基於 v$sesstat 中pga的總和
select sum(value)/1024/1024 as Mbytes from v$sesstat s, v$statname n
where
n.STATISTIC# = s.STATISTIC# and
n.name = 'session pga memory';
5.檢視pga的詳細情況
select substr(name,1,30), value, unit from v$pgastat;
6.檢視資料庫會話所有sid佔用pga的的詳細情況
set linesize 120
set pagesize 120
column spid heading 'OSpid' format a8
column pid heading 'Orapid' format 999999
column sid heading 'Sess id' format 99999
column serial# heading 'Serial#' format 999999
column status heading 'Status' format a8
column pga_alloc_mem heading 'PGA alloc' format 99,999,999,999
column pga_used_mem heading 'PGA used' format 99,999,999,999
column username heading 'oracleuser' format a12
column osuser heading 'OS user' format a12
column program heading 'Program' format a20
SELECT
p.spid,
p.pid,
s.sid,
s.serial#,
s.status,
p.pga_alloc_mem,
p.PGA_USED_MEM,
s.username,
s.osuser,
s.program
FROM
v$process p,
v$session s
WHERE s.paddr ( + ) = p.addr
and p.BACKGROUND is null /* Remove if need to monitor background processes */
Order by p.pga_alloc_mem desc;
7.pga和sga 在oracle例項的使用的總和
select sum(bytes)/1024/1024 as Mbytes from
(select value as bytes from v$sga
union all
select value as bytes from
v$sesstat s,
v$statname n
where
n.STATISTIC# = s.STATISTIC# and
n.name = 'session pga memory'
);
參考:http://blog.itpub.net/23135684/viewspace-712768/
select p.spid, s.sid, substr(n.name,1,25) memory, s.value as Bytes from v$sesstat s, v$statname n, v$process p, v$session vs
where s.statistic# = n.statistic#
/* this query currently looks at both uga and pga, if only one of these is desired modify the like clause to pga or uga */
and n.name like '%ga memory%'
and s.sid=vs.sid
and vs.paddr=p.addr
/* --remove comment delimiters to view only certain sizes, i.e. over 10Mbytes
and s.value > 10000000 */
order by s.value asc;
2.列出佔用pga最大的程式
select pid,spid,substr(username,1,20) "USER" ,program,PGA_USED_MEM,PGA_ALLOC_MEM,PGA_FREEABLE_MEM,PGA_MAX_MEM
from v$process
where pga_alloc_mem=(select max(pga_alloc_mem) from v$process
where program not like '%LGWR%');
3.在v$process中pga的總和
select sum(pga_alloc_mem)/1024/1024 as "Mbytes allocated", sum(PGA_USED_MEM)/1024/1024 as "Mbytes used" from v$process;
4.基於 v$sesstat 中pga的總和
select sum(value)/1024/1024 as Mbytes from v$sesstat s, v$statname n
where
n.STATISTIC# = s.STATISTIC# and
n.name = 'session pga memory';
5.檢視pga的詳細情況
select substr(name,1,30), value, unit from v$pgastat;
6.檢視資料庫會話所有sid佔用pga的的詳細情況
set linesize 120
set pagesize 120
column spid heading 'OSpid' format a8
column pid heading 'Orapid' format 999999
column sid heading 'Sess id' format 99999
column serial# heading 'Serial#' format 999999
column status heading 'Status' format a8
column pga_alloc_mem heading 'PGA alloc' format 99,999,999,999
column pga_used_mem heading 'PGA used' format 99,999,999,999
column username heading 'oracleuser' format a12
column osuser heading 'OS user' format a12
column program heading 'Program' format a20
SELECT
p.spid,
p.pid,
s.sid,
s.serial#,
s.status,
p.pga_alloc_mem,
p.PGA_USED_MEM,
s.username,
s.osuser,
s.program
FROM
v$process p,
v$session s
WHERE s.paddr ( + ) = p.addr
and p.BACKGROUND is null /* Remove if need to monitor background processes */
Order by p.pga_alloc_mem desc;
7.pga和sga 在oracle例項的使用的總和
select sum(bytes)/1024/1024 as Mbytes from
(select value as bytes from v$sga
union all
select value as bytes from
v$sesstat s,
v$statname n
where
n.STATISTIC# = s.STATISTIC# and
n.name = 'session pga memory'
);
參考:http://blog.itpub.net/23135684/viewspace-712768/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2123370/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 巧用shell指令碼統計磁碟使用情況指令碼
- 檢視空間使用情況的指令碼指令碼
- 監控系統使用情況shell指令碼指令碼
- 查詢表空間使用情況的指令碼指令碼
- 指令碼實現檢視錶空間使用情況指令碼
- 獲取指定pid的session的pga/uga使用情況Session
- 監控某個目錄使用情況的shell指令碼指令碼
- Oracle 歸檔使用情況分析Oracle
- Oracle Undo使用情況監控Oracle
- 用於自動監控磁碟使用情況的 Shell 指令碼指令碼
- ORACLE常用SQL指令碼2OracleSQL指令碼
- PowerShell 指令碼來監控 CPU、記憶體和磁碟使用情況:指令碼記憶體
- Oracle 檢查表空間使用情況Oracle
- Oracle 索引的使用情況檢視Oracle索引
- 監控Oracle索引的使用情況Oracle索引
- 用 Bash 指令碼監控 Linux 上的記憶體使用情況指令碼Linux記憶體
- 通過shell指令碼檢視資料庫表空間使用情況指令碼資料庫
- 透過shell指令碼檢視資料庫表空間使用情況指令碼資料庫
- Oracle DBA常用監控指令碼Oracle指令碼
- 常用的Oracle指令碼參考Oracle指令碼
- 在oracle中監視索引的使用情況Oracle索引
- oracle 檢視錶空間使用情況Oracle
- Oracle undo 表空間使用情況分析Oracle
- Oracle查詢表空間使用情況Oracle
- oracle表及表空間使用情況Oracle
- 檢視oracle表空間使用情況Oracle
- 檢查表空間、資料檔案、OS空間使用情況的指令碼指令碼
- 更改後的監控某個目錄的使用情況的shell指令碼指令碼
- ORACLE常用定時備份指令碼Oracle指令碼
- Oracle 效能相關常用指令碼(SQL)Oracle指令碼SQL
- ORACLE DBA常用語句和指令碼Oracle指令碼
- ORACLE查詢所有表空間使用情況Oracle
- 用 Linux Shell 指令碼來監控磁碟使用情況併傳送郵件Linux指令碼
- 常用指令碼指令碼
- 檢查資料檔案使用情況和能夠resize到高水位值指令碼指令碼
- oracle DBA 常用監控指令碼1(轉)Oracle指令碼
- ORACLE一些不常用的指令碼Oracle指令碼
- 【管理】Oracle 常用的V$ 檢視指令碼Oracle指令碼