1. 程式人生 > >Oracle 記憶體一 手動記憶體管理,自動記憶體管理

Oracle 記憶體一 手動記憶體管理,自動記憶體管理

oracle的記憶體分為兩個部分。一個是SGA(system global area),一個是PGA(program global area)。所謂的記憶體管理,就是對這兩部分割槽域進行管理。oracle的記憶體管理經理了如下發展:

oracle 9i   PGA自動管理,SGA手動管理

oracle10gPGA自動管理,SGA自動管理

oracle11gPGA,SGA統一自動管理

先看9i時期的PGA自動管理,SGA手動管理

這時期PGA管理有兩個選擇,手動和自動。

手動時,設定WORKAREA_SIZE_POLICY為MANUAL, 設定各種*_AREA_SIZE的值比如SORT_AREA_SIZE_HASH_AREA_SIZE就可以實現手動PGA管理。

自動時,設定WORKAREA_SIZE_POLICY為AUTO,設定PGA_AGGREAGATE_TARGET的值,則為自動PGA管理。

這時期SGA的管理只可以手動管理,但是相比之前有了進步,可以動態的管理。

再看10g時期的PGA自動管理,SGA自動管理

這時期PGA和9i一樣,都可以手動和自動。

這時期的SGA則有了進步,可以手動管理,也增加了自動管理的選擇。

設定SGA_TARGET,就可以實現自動SGA管理。

現在看11g時期的PGA,SGA統一自動管理

這時期的記憶體管理向前相容。

PGA可以手動,自動管理

SGAK也可以手動,自動管理

但是有了一個更方便的特性,就是把PGA,SGA的自動整合到一起,通過MEMORY_TARGET來管理。 這時有了兩個引數MEMORY_TARGET,MEMORY_MAX_TARGET.有了這兩個引數,就可以把PGA,SGA作為一個整體管理。

有一些要注意的地方是

1.如果設定了MEMORY_TARGET的同時還設定了SGA_TARGET,PGA_TARGET 怎麼辦呢?這時候,SGA_TARGET和PGA_TARGET的值如果小於MEMORY_TARGET,那麼oracle就會把他們作為SGA,和PGA的最小值,如果他們比MEMORY_TARGET還大,那麼oracle就會報錯。

2.PGA是跟每一個oracle server 程序相關的,所以WORKAREA_SIZE_POLICY應該是可以設定在session級別,也可以設定在system級別。

3. 幾個檢視比較有用,V$MEMORY_DYNAMIC_COMPONENTS會展示動態調整的記憶體元件大小。 V$MEMORY_RESIZE_OPS展示了最近的800條SGA調整記錄。

相關推薦

Oracle 記憶體 手動記憶體管理自動記憶體管理

oracle的記憶體分為兩個部分。一個是SGA(system global area),一個是PGA(program global area)。所謂的記憶體管理,就是對這兩部分割槽域進行管理。oracle的記憶體管理經理了如下發展: oracle 9i   PGA自動管理,

Oracle)常用命令與使用者管理

常用命令 進入登陸  sqlplus (1)   給使用者鎖定 alter user scott account look; 給使用者解鎖 alter user scott account unlook; (2)   show user 顯示當前使用者名稱是什麼 (3)  

disconf實踐(三)基於XML的分布式配置文件管理自動reload

blog exce conf redis 信息 exceptio res pan ram 上一篇介紹了基於xml的非自動reload的分布式配置文件管理,這一篇介紹自動reload的方式(基於disconf實踐二)。 1. 修改RedisConfig.java 1 pa

1107_Linux系統下如何安裝Nexus(使用Nexus搭建Maven私服)-2.Nexus倉庫設定手動更新索引自動更新索引

Linux系統下如何安裝Nexus(使用Nexus搭建Maven私服)-2.Nexus倉庫設定,手動更新索引,自動更新索引 2018年08月27日 17:30:53 weixin_42828741 閱讀數:64 還未安裝的可閱讀以下文章: Linux系統下如何安裝Nexus(使用Nexus搭

[C#原始碼]網路資料流讀寫封裝類支援多執行緒下同時讀和寫自動資源管理字串分隔符\r\n

using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; using Syst

Qt中實現滑鼠段時間不用自動隱藏

Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); this->setMouseTracking(true);

廣告banner:手動滑動切換自動切換點選跳轉非同步載入網路圖片

效果圖: 該banner功能有自動切換圖片,點選圖片可以自定義事件,手動滑動切換,非同步載入圖片 程式碼說話: 佈局檔案: <!-- 廣告位 --> <FrameLayout android:

堆外記憶體(off-heap)記憶體(on-heap)

原文:http://www.infoq.com/cn/news/2014/12/external-memory-heap-memory/ 一般情況下,Java中分配的非空物件都是由Java虛擬機器的垃圾收集器管理的,也稱為堆內記憶體(on-heap memory)。虛擬機器會定期對垃圾記憶體進行回收,在

springSecurity的學習筆記--使用spring-Security完成“記住我”單機session管理叢集session管理登出

   今天課外的大部分空餘時間都用來了整理springSecurity練習的筆記。 整理了一部分,還差一些這裡補上! 記住我功能要素:       springsecurity提供了一個記住我的功能。  它的大致原理是,攔截器檢測是

Oracle 自動共享記憶體管理(ASMM)與自動記憶體管理(AMM)

相關引數: MEMORY_MAX_TARGET:不可動態調整,代表記憶體(SGA+PGA)的最大值。 SQL>ALTER SYSTEM SET MEMORY_MAX_TARGET = 1000M SCOPE=SPFILE MEMORY_TARGET可被動

Oracle 11G啟動自動記憶體管理AMM

前言:下面主要介紹了11G的AMM特性,實現了對SGA,PGA,以及SGA下面的記憶體如share_pool的自動管理,因為10G的ASMM特性需要手動對SGA,PGA管理,所以11G引出來了AMM管理。 在一個oracle server可以分為兩部分,一部分是data

oracle 自動記憶體管理

oracle記憶體結構一般指的是SGA和PGA(當然還有UGA)。自動記憶體管理是指自動管理SGA和PGA 一、自動PGA記憶體管理 使用自動PGA記憶體管理,這種方法就不需要設定PGA內部其他記憶體大小,比如 SOR_AREA_SIZE ,B

OC--記憶體管理自動釋放[NSMutableArray array]生成的自動釋放陣列被自動釋放後引起的嚴重後果

在做一個TableView程式時,要在表格裡顯示一個資料夾內所有檔案的清單,程式在一開始顯示時正常,但是一滾動視窗時就崩潰,查詢這個錯誤整整花了我一天的時間,原來出在NSMutableArray初始化時用的方法不正確,都是因為Objective-C的基礎知識沒學好。 在

三、Java虛擬機器自動記憶體管理機制、物件建立及記憶體分配

  1、物件是如何建立: 步驟:    (1)、虛擬機器遇到new <類名>的指令---->根據new的引數是否在常量池中定位一個類的符號引用    (2)、檢測該符號引用代表的類是否已經被載入、解析、和初始化。(如果沒有則

建構函式C++記憶體管理,記憶體洩漏定位

建構函式 1.構造順序   虛基類建構函式,基類建構函式,類物件建構函式,自己的建構函式   2.必須使用初始化列表   (1) 引用成員,常量成員;   (2) 基類沒預設建構函式(自己過載覆蓋了),        (3)類物件成員沒預設建構函式(自己過

電腦開機記憶體(共8G)就用了70%以上工作管理員裡面檢視沒有佔用記憶體很高的程序原來是驅動問題

現象描述:        出現兩次這個問題,都是長時間開機後,出現記憶體佔用很高,重啟還是記憶體佔用很高,而且工作管理員裡面檢視,實際沒有程序佔用那麼高。 曾經試過很多種辦法,但是一樣的現象卻有不同的原因。 比如試過停掉superf

自動記憶體管理機制(5)- 虛擬機器效能監控

自動記憶體管理機制(5)- 虛擬機器效能監控 0. 概述 在我們日常開發的專案中,有時經常會碰到以下問題: OOM(OutOfMemoryError),記憶體不足 記憶體洩漏 執行緒死鎖 Lock Contention,鎖爭用 Java程序消耗CP

自動記憶體管理機制(4)- 記憶體分配和回收策略

自動記憶體管理機制(4)- 記憶體分配和回收策略 Java所承諾的自動記憶體管理主要是針對物件記憶體的回收和物件記憶體的分配。 在Java虛擬機器的五塊記憶體空間中,程式計數器、Java虛擬機器棧、本地方法棧記憶體的分配和回收都具有確定性,一般在編譯階段就能確定需要分配的記憶體大小,

自動記憶體管理機制(3)-HotSpot垃圾收集器

自動記憶體管理機制(3)-HotSpot垃圾收集器 如果說收集演算法是記憶體回收的方法論,那麼垃圾收集器就是記憶體回收的具體實現。 這裡討論的收集器都是JDK1.7(包含JDK1.7)以後的HotSpot虛擬機器: 上半部屬於新生代收集器,下半部屬於老年代收集器。如果兩個收集器

自動記憶體管理機制(2)- 記憶體回收和垃圾收集演算法

自動記憶體管理機制(2)- 記憶體回收和垃圾收集演算法 1. 概述 首先思考三個問題: 哪些記憶體需要回收 什麼時候回收 如何回收 程式計數器、虛擬機器棧、本地方法棧是執行緒私有的,因此這幾個區域的記憶體分配和回收都具有確定性(執行緒結束時執行垃圾回