dbms_session.free_unused_user_memory; 可以釋放 部分的PGA記憶體
--實驗步驟【經常看才知道 這些資料的含義】
--執行下面的程式很多次
select * from tbak where rownum select * from tbak where rownum select * from tbak where rownum ....
select * from tbak where rownum select * from tbak where rownum select * from tbak where rownum --回話關鍵資訊PGA
select *
from v$sesstat a, v$statname b
where a.statistic# = b.statistic#
and a.sid = 136
order by 3 desc;
120122964
120122964
119562592
119497128
--pga相關資訊
select * from v$pgastat
160690176
209377280
209377280
--process
select sum(pga_used_mem)/1024/1024,sum(pga_alloc_mem)/1024/1024 from v$process
153 199
--原來的回話執行
begin
dbms_session.free_unused_user_memory;
end;
--=========================================================================
--回話關鍵資訊PGA
select *
from v$sesstat a, v$statname b
where a.statistic# = b.statistic#
and a.sid = 136
order by 3 desc;
120122964
119562592
43839060
43493424
--pga相關資訊
select * from v$pgastat
85087232
133814272
209377280
--process
select sum(pga_used_mem)/1024/1024,sum(pga_alloc_mem)/1024/1024 from v$process
80 127
--===========dbms_session.free_unused_user_memory; 證明是可以釋放 部分的PGA記憶體
======================
select sum(work_area_size)/1024/1024 from v$sql_workarea_active
SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
FROM SYS.x$ksppi x, SYS.x$ksppcv y
WHERE x.inst_id = USERENV('Instance')
AND y.inst_id = USERENV('Instance')
AND x.indx = y.indx
AND x.ksppinm = '_smm_max_size' --v$sql_workarea_active workarea_size –增大後也不一定是
SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
FROM SYS.x$ksppi x, SYS.x$ksppcv y
WHERE x.inst_id = USERENV('Instance')
AND y.inst_id = USERENV('Instance')
AND x.indx = y.indx
AND x.ksppinm = '_pga_max_size'
--這個資料根本不能控制程式使用的記憶體
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9879835/viewspace-1050619/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- vector 的記憶體釋放記憶體
- 記憶體的分配與釋放,記憶體洩漏記憶體
- Linux釋放記憶體及手動釋放Oracle共享記憶體段Linux記憶體Oracle
- PGA 記憶體的管理 (zt)記憶體
- XCode釋放記憶體XCode記憶體
- linux釋放記憶體Linux記憶體
- vector 避免記憶體頻繁分配釋放與手動釋放vector記憶體記憶體
- 正確釋放Vector的記憶體記憶體
- dll內申請的記憶體可以由呼叫它的程式釋放嗎?記憶體
- 轉 linux 記憶體釋放Linux記憶體
- Linux釋放cache記憶體Linux記憶體
- linux 記憶體釋放命令Linux記憶體
- golang 釋放記憶體機制的探索Golang記憶體
- SGA和PGA記憶體管理記憶體
- Oracle PGA記憶體的配置和使用Oracle記憶體
- C# 垃圾回收釋放記憶體C#記憶體
- FireFox記憶體自動釋放Firefox記憶體
- 如何主動釋放 HeapIdle 的記憶體API記憶體
- .Net記憶體管理釋放的兩種方式記憶體
- vector clear() 方法 記憶體釋放問題記憶體
- C/C++記憶體分配以及釋放C++記憶體
- Linux之 手動釋放記憶體Linux記憶體
- mongodb釋放記憶體-切換日誌MongoDB記憶體
- Linux下如何釋放cache記憶體Linux記憶體
- Linux系統釋放cache記憶體Linux記憶體
- Vector() 記憶體釋放 不得不說的故事記憶體
- C++ vector 釋放記憶體的兩種方法C++記憶體
- 如何釋放linux cache佔用的記憶體Linux記憶體
- android釋放記憶體的一個辦法Android記憶體
- 記錄一下,linux釋放記憶體的方法Linux記憶體
- ORACLE記憶體管理 之一 ORACLE PGAOracle記憶體
- Oracle記憶體結構研究-PGA篇Oracle記憶體
- 【SGA】【PGA】普適的Oracle記憶體分配策略Oracle記憶體
- Linux手動釋放快取記憶體Linux快取記憶體
- C/C++記憶體釋放應注意的問題C++記憶體
- 高質量的C程式碼.釋放記憶體 薦記憶體
- 共享記憶體段未釋放導致資料庫記憶體被耗盡記憶體資料庫
- ORACLE 記憶體管理 之二 PGA v$pgastatOracle記憶體AST