Oracle show sga產生的結果研究

來源:互聯網
上載者:User

用show sga可以查看SGA的大小,show sga的結果都有如下的格式:

Total System Global Area AAAAA bytes

Fixed Size BBBBB bytes

Variable Size CCCCC bytes

Database Buffers DDDDD bytes

Redo Buffers EEEEE bytes

這裡給出一台測試上Oracle執行個體的sga資訊:

Total System Global Area  369098752 bytes
Fixed Size                  1219496 bytes
Variable Size             171967576 bytes
Database Buffers          188743680 bytes
Redo Buffers                7168000 bytes

其中各部分的含義如下:

Fixed Size: 這部分是Oracle內部使用的一個區,Oracle通過這個區找到SGA其他區,類似一個SGA各個組件的索引,不同平台和不同版本下這部分的大小可能不一樣。

Variable Size: 包括 shared pool ,java pool ,large pool, 管理db_block_buffers 的記憶體、管理控制檔案資訊的記憶體等等,其他管理和控制Oracle 內部結構的記憶體[這部分通常被稱為Overhead],也就有了如下的公式:

Variable Component(Show SGA) = Shared Pool + Large Pool + Java Pool + Overhead + Free Memory(9i 之前的版本)

Overhead的大小受如下初始化參數的影響:db_files, open_cursors ,processes ,具體演算法未知。

Database Buffers: 為db_cache_size、db_keep_cache_size、db_recycle_cache_size、 db_nk_cache_size的總大小,當然這是sga_target為0的情況,也就是手動SGA管理員模式下,如果是自動SGA管理(sga_target>0),則這個值根據sga的分配情況自動進行調整。

Redo Buffers:這部分是實際分配的Redo log buffer的大小,由初始化參數log_buffer根據SGA的最小分配單位granule 向上取整得到。

這裡給出一個測試資料庫執行個體的log_buffer參數大小:

SQL> show parameter log_buffer;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_buffer                           integer     7057408

實際的Redo log buffer大小也可以通過v$sgastat視圖查看,和show sga命令是同樣的結果:

SQL> select * from v$sgastat where name='log_buffer';

POOL         NAME                            BYTES
------------ -------------------------- ----------
 log_buffer                    7168000

因為這裡sga為352MB<1G,所以granule為4MB,也可以通過以下命令查詢獲得:

SQL> select * from v$sgainfo where name = 'Granule Size';

NAME                                  BYTES RES
-------------------------------- ---------- ---
Granule Size                        4194304 No

預設的SGA中的Fixed Size將和log_buffer共用整數倍的granule:

SQL> select (1219496 +7168000)/4194304 from dual;

(1219496+7168000)/4194304
-------------------------
1.99973488

因為精確度也只到位元組,所以比值也有可能有誤差。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.