管理Oracle PGA的方法

來源:互聯網
上載者:User

PGA

PGA(Program Global Area程式全域區)是一塊包含一個服務進程的資料和控制資訊的記憶體地區。 它是Oracle在一個服務進程啟動是建立的,是非共用的。一個Oracle進程擁有一個PGA記憶體區。一個PGA 也只能被擁有它的那個服務進程所訪問,只有這個進程中的Oracle代碼才能讀寫它。因此,PGA中的結 構是不需要Latch保護的。

我們可以設定所有服務進程的PGA記憶體總數受到執行個體分配的總體PGA(Aggregated PGA)限制。

在專有伺服器(Dedicated Server)模式下,Oracle會為每個會話啟動一個Oracle進程;而在多線 程服務(Multi-Thread Server MTS)模式下,由多個會話共用通一個Oracle服務進程。

PGA中包含了關於進程使用到的作業系統資源的資訊,以及一些關於進程狀態的資訊。而關於進程使 用的Oracle共用資源的資訊則是在SGA中。這樣做可以使在進程以外中止時,能夠及時釋放和清除這些 資源。

·Stack Space是用來儲存使用者會話變數和數組的儲存地區;

·User Session Data是為使用者會話使用的附加儲存區。

|--Session Information

|--Sort Area

|--Cursor Information

注意Session information(使用者會話資訊)在獨佔伺服器中與在共用伺服器中所處的記憶體地區是不 同的。

2.1 PGA的組成

PGA由兩組地區組成:固定PGA和可變PGA(或者叫PGA堆,PGA Heap【堆——Heap就是一 個受管理的記憶體區】)。固定PGA和固定SGA類似,它的大小時固定的,包含了大量原子變數、小的資料 結構和指向可變PGA的指標。

可變PGA是一個記憶體堆。它的記憶體段可以通過視圖X$KSMPP(另外一個視圖X$KSMSP可以查到可變SGA 的記憶體段資訊,他們的結構相同)查到。PGA堆包含用於存放X$表的的記憶體(依賴與參數設定,包括 DB_FILES、CONTROL_FILES)。

總的來說,PGA的可變區中主要分為以下三部分內容:

1)私人SQL區;

2)遊標和SQL區

3)會話記憶體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.