v$sga 和v$sgainfo的相關細節有哪些,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
09:20:47 sys@cgidb1(cgidb1)> select * from v$sga;
NAME VALUE
------------------------------------------------------------ --------------
Fixed Size 2284104==>固定大小,比如oracle軟件的運行代碼等
Redo Buffers 12124160
Database Buffers 50331648
Variable Size 8489338296
09:20:53 sys@cgidb1(cgidb1)> select * from v$sgainfo;
NAME BYTES RES
------------------------------------------------------------ ---------- ---
Fixed SGA Size 2284104 No
Redo Buffers 12124160 No
Buffer Cache Size 50331648 Yes
Shared Pool Size 973078528 Yes
Large Pool Size 0 Yes
Java Pool Size 16777216 Yes
Streams Pool Size 0 Yes
Shared IO Pool Size 0 Yes
Granule Size 16777216 No ==>shared pool顆粒度為16M,這里redo buffers和fixed sga size不一致。
Maximum SGA Size 8554078208 No
Startup overhead in Shared Pool 701807000 No ==>啟動共享池的開銷
Free SGA Memory Available 7499415552
如上,可見如下公式:
Maximum SGA Size =Variable Size+Database Buffers+Redo Buffers+Fixed Size
Variable Size=Free SGA Memory Available+Shared Pool Size+Large Pool Size+Java Pool Size+Streams Pool Size+Shared IO Pool Size
如果memory_target=0 且 sga_target=0,則為手動sga管理,此時指定sga組件大小即為固定大小。比如shared_pool_size=928M(16M的倍數),則該組件一直為928M,不增不減。
如果memory_target!=0 或 sga_target!=0 ,則為自動內存管理或者自動sga管理,此時指定sga組件大小即為最小大小。比如shared_pool_size=928M(16M的倍數),則該組件最小為928M。
可通過如下視圖查看某個組件,至實例啟動以來的最大值和最小值和當前值。
10:27:53 sys@cgidb1(cgidb1)> select COMPONENT,CURRENT_SIZE,MIN_SIZE,MAX_SIZE from V$SGA_DYNAMIC_COMPONENTS;
COMPONENT CURRENT_SIZE MIN_SIZE MAX_SIZE
---------------------------------------------------------------- ------------ ---------- ----------
shared pool 973078528 973078528 973078528
java pool 16777216 16777216 16777216
DEFAULT buffer cache 50331648 50331648 50331648
另外,alter system set shared pool=928M,這條sql只是修改當前實例的動態內存,并未寫進spfile或pfile中。
可以通過sid和scope參數調整實例和對象。
關于v$sga 和v$sgainfo的相關細節有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。