欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Oracle的內(nèi)存管理方式-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“Oracle的內(nèi)存管理方式”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Oracle的內(nèi)存管理方式”吧!

成都創(chuàng)新互聯(lián)公司是專業(yè)的臨淄網(wǎng)站建設(shè)公司,臨淄接單;提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行臨淄網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

Oracle 內(nèi)存管理方式

oracle11g新出參數(shù)MEMORY_MAX_TARGET 和  MEMORY_TARGET進(jìn)行自動(dòng)管理PGA 和SGA 稱之為 自動(dòng)化內(nèi)存管理(Automatic Memory Management,AMM。

MEMORY_MAX_TARGET  :MEMORY_TARGET所能設(shè)定的大值。非動(dòng)態(tài)可調(diào)。

MEMORY_TARGET :操作系統(tǒng)上 Oracle 所能使用的大內(nèi)存值。動(dòng)態(tài)參數(shù),MEMORY_TARGET 是PAG 和SGA的總和。memory_target 為 0 是手動(dòng)管理,非0為自動(dòng)管理。

如果指定了memory_target 而沒有指定memory_max_target 重啟后,memory_max_target 和memory_target 大小相等;

如果指定了memory_max_target 而沒有指定 memory_target重啟后memory_target 為0;

當(dāng)設(shè)置  memory_max_target < memory_target 時(shí),則重啟后報(bào)錯(cuò)(ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET)

sga_max_size : sga_max_size 是sga的大值 。

sga_target  :  sga_target   是自動(dòng)和手段管理; sga_target 為0 是手動(dòng)管理,非0 是自動(dòng)管理    

oracle 11g 引入?yún)?shù)mymory_max_target 和memory_target 就是oracle的新特性自動(dòng)內(nèi)存管理,AMM 的引入, 組合出來有 5 種內(nèi)存管理形式.如下:

自動(dòng)內(nèi)存管理(AMM): memory_target=非0,是自動(dòng)內(nèi)存管理  ,如果初始化參數(shù) LOCK_SGA = true ,則 AMM 是不可用的。

自動(dòng)共享內(nèi)存管理(ASMM): 在memory_target=0 and sga_target=非0 是自動(dòng)內(nèi)存管理

手工共享內(nèi)存管理: memory_target=0 and sga_target=0   指定 share_pool_size 、db_cache_size 等 sga 參數(shù)

自動(dòng) PGA 管理: memory_target=0 and workarea_size_policy=auto  and PGA_AGGREGATE_TARGET=值

手動(dòng) PGA 管理: memory_target=0 and workarea_size_policy=manal  然后指定 SORT_AREA_SIZE 等 PGA 參數(shù),一般不使用手動(dòng)管理PGA;

=========================================================================

racle的內(nèi)存分為兩個(gè)部分。一個(gè)是SGA(system global area),一個(gè)是PGA(program global area)。所謂的內(nèi)存管理,就是對這兩部分區(qū)域進(jìn)行管理。oracle的內(nèi)存管理經(jīng)理了如下發(fā)展:

oracle 9i   PGA自動(dòng)管理,SGA手動(dòng)管理

oracle10g PGA自動(dòng)管理,SGA自動(dòng)管理

oracle11g PGA,SGA統(tǒng)一自動(dòng)管理

先看9i時(shí)期的PGA自動(dòng)管理,SGA手動(dòng)管理

這時(shí)期PGA管理有兩個(gè)選擇,手動(dòng)和自動(dòng)。

手動(dòng)時(shí),設(shè)置WORKAREA_SIZE_POLICY為MANUAL, 設(shè)置各種*_AREA_SIZE的值比如SORT_AREA_SIZE_HASH_AREA_SIZE就可以實(shí)現(xiàn)手動(dòng)PGA管理。

自動(dòng)時(shí),設(shè)置WORKAREA_SIZE_POLICY為AUTO,設(shè)置PGA_AGGREAGATE_TARGET的值,則為自動(dòng)PGA管理。

這時(shí)期SGA的管理只可以手動(dòng)管理,但是相比之前有了進(jìn)步,可以動(dòng)態(tài)的管理。

再看10g時(shí)期的PGA自動(dòng)管理,SGA自動(dòng)管理

這時(shí)期PGA和9i一樣,都可以手動(dòng)和自動(dòng)。

這時(shí)期的SGA則有了進(jìn)步,可以手動(dòng)管理,也增加了自動(dòng)管理的選擇。

設(shè)置SGA_TARGET,就可以實(shí)現(xiàn)自動(dòng)SGA管理。

現(xiàn)在看11g時(shí)期的PGA,SGA統(tǒng)一自動(dòng)管理

這時(shí)期的內(nèi)存管理向前兼容。

PGA可以手動(dòng),自動(dòng)管理

SGAK也可以手動(dòng),自動(dòng)管理

但是有了一個(gè)更方便的特性,就是把PGA,SGA的自動(dòng)整合到一起,通過MEMORY_TARGET來管理。 這時(shí)有了兩個(gè)參數(shù)MEMORY_TARGET,MEMORY_MAX_TARGET.有了這兩個(gè)參數(shù),就可以把PGA,SGA作為一個(gè)整體管理。

有一些要注意的地方:

1.如果設(shè)置了MEMORY_TARGET的同時(shí)還設(shè)置了SGA_TARGET,PGA_TARGET 怎么辦呢?這時(shí)候,SGA_TARGET和PGA_TARGET的值如果小于MEMORY_TARGET,那么oracle就會(huì)把他們作為SGA,和PGA的最小值,如果他們比MEMORY_TARGET還大,那么oracle就會(huì)報(bào)錯(cuò)。

2.PGA是跟每一個(gè)oracle server 進(jìn)程相關(guān)的,所以WORKAREA_SIZE_POLICY應(yīng)該是可以設(shè)置在session級(jí)別,也可以設(shè)置在system級(jí)別。

3. 幾個(gè)視圖比較有用,V$MEMORY_DYNAMIC_COMPONENTS會(huì)展示動(dòng)態(tài)調(diào)整的內(nèi)存組件大小。 V$MEMORY_RESIZE_OPS展示了最近的800條SGA調(diào)整記錄。

=========================================================================

Oracle 9i引入pga_aggregate_target,可以自動(dòng)對PGA進(jìn)行調(diào)整;

Oracle 10g引入sga_target,可以自動(dòng)對SGA進(jìn)行調(diào)整;

Oracle 11g則對這兩部分進(jìn)行綜合,引入memory_target,可以自動(dòng)調(diào)整所有的內(nèi)存,這就是新引入的自動(dòng)內(nèi)存管理特性。

自動(dòng)內(nèi)存管理是用兩個(gè)初始化參數(shù)進(jìn)行配置的:

MEMORY_TARGET:動(dòng)態(tài)控制SGA和PGA時(shí),Oracle總共可以使用的共享內(nèi)存大小,這個(gè)參數(shù)是動(dòng)態(tài)的,因此提供給Oracle的內(nèi)存總量是可以動(dòng)態(tài)增大,也可以動(dòng)態(tài)減小的。它不能超過MEMORY_MAX_TARGET參數(shù)設(shè)置的大小。默認(rèn)值是0。

MEMORY_MAX_TARGET:這個(gè)參數(shù)定義了MEMORY_TARGET大可以達(dá)到而不用重啟實(shí)例的值,如果沒有設(shè)置MEMORY_MAX_TARGET值,默認(rèn)等于MEMORY_TARGET的值。使用動(dòng)態(tài)內(nèi)存管理時(shí),SGA_TARGET和PGA_AGGREGATE_TARGET代表它們各自內(nèi)存區(qū)域的最小設(shè)置,要讓Oracle完全控制內(nèi)存管理,這兩個(gè)參數(shù)應(yīng)該設(shè)置為0。

memory_max_target是一個(gè)非動(dòng)態(tài)參數(shù),不能在memory范圍動(dòng)態(tài)改變,只能通過指明 scope=spfile這個(gè)條件來達(dá)到數(shù)據(jù)庫在下次啟動(dòng)后讓改變生效的目的。但是memory_target這個(gè)參數(shù)是可以動(dòng)態(tài)調(diào)節(jié)的...也就是說不需要重新啟動(dòng)DB,就可以讓其生效。

MEMORY_MAX_TARGET 是設(shè)定Oracle能占OS多大的內(nèi)存空間;SGA_MAX_SIZE是Oracle SGA 區(qū)大能占多大內(nèi)存空間. 、

10g 的sga_max_size 是動(dòng)態(tài)分配 Shared Pool Size,database buffer cache,large pool,java pool,redo log buffer 大小的,是根據(jù)Oracle 運(yùn)行狀況來重新分配SGA 各內(nèi)存塊的大小。PGA在10g中需要單獨(dú)設(shè)定。

11g MEMORY_MAX_TARGET 參數(shù)包含SGA和PGA兩部分。

在手動(dòng)創(chuàng)建數(shù)據(jù)庫時(shí),只需要在創(chuàng)建數(shù)據(jù)庫之前設(shè)置合適的MEMORY_TARGET和MEMORY_MAX_TARGET初始化參數(shù)。

下面來看看在11g 中Memory_target 設(shè)置和不設(shè)置對SGA/PGA 的影響:

A :如果 Memory_target 設(shè)置為非 0 值

     (下面有四種情況來對 SGA 和 PGA 的大小進(jìn)行分配)

      1 : sga_target 和 pga_aggregate_target 已經(jīng)設(shè)置大小如果 Oracle 中已經(jīng)設(shè)置了參數(shù) sga_target 和 pga_aggregate_target ,則這兩個(gè)參數(shù)將各自被分配為 最小值最為它們的目標(biāo)值。

Memory_Target =SGA_TARGET+PGA_AGGREGATE_TARGET  ,大小和memory_max_size 一致。

      2 : sga_target  設(shè)置大小, pga_aggregate_target  沒有設(shè)置大小  

           那么 pga_aggregate_target 初始化值 =memory_target-sga_target

      3 : sga_target  沒有設(shè)置大小, pga_aggregate_target  設(shè)置大小  

           那么 sga_target 初始化值 =memory_target-pga_aggregate_target

      4 : sga_target  和 pga_aggregate_target  都沒有設(shè)置大小 Oracle 11g中對這種 sga_target 和 pga_aggregate_target 都沒有設(shè)定大小的情況下, Oracle 將對這兩個(gè)值沒有最小值和默認(rèn)值。 Oracle 將根據(jù)數(shù)據(jù)庫 運(yùn)行狀況進(jìn)行分配大小。 但在數(shù)據(jù)庫啟動(dòng)是會(huì)有一個(gè)固定比例來分配:

         sga_target =memory_target *60%

         pga_aggregate_target=memory_target *40%

B :如果 Memory_target 沒有設(shè)置或 =0 (在 11g 中默認(rèn)為 0 )

    11g中默認(rèn)為 0 則初始狀態(tài)下取消了 Memory_target 的作用,完全和 10g 在內(nèi)存管理上一致,完全向下兼容。

   (也有三種情況來對 SGA 和 PGA 的大小進(jìn)行分配)     

   1 : SGA_TARGET 設(shè)置值,則自動(dòng)調(diào)節(jié) SGA 中的 shared pool,buffer  cache,redo log buffer,java pool,larger pool等內(nèi)存空間的大小。 PGA 則依賴 pga_aggregate_target 的大小。 sga  和 pga 不能自動(dòng)增長和自動(dòng)縮小。

   2 : SGA_target 和 PGA_AGGREGATE_TARGET  都沒有設(shè)置

           SGA 中的各組件大小都要明確設(shè)定,不能自動(dòng)調(diào)整各組建大小。 PGA 不能自動(dòng)增長和收縮。

   3 :  MEMORY_MAX_TARGET 設(shè)置 而 MEMORY_TARGET =0  這種情況先和 10g 一樣,不做說明

在11g 中可以使用下面看各組件的值

SQL> show parameter target

NAME                                 TYPE        VALUE

------------------------ ----------- ---------------------

archive_lag_target                   integer     0

db_flashback_retention_target        integer     1440

fast_start_io_target                 integer     0

fast_start_mttr_target               integer     0

memory_max_target                    big integer 1024M

memory_target                        big integer 1024M

pga_aggregate_target                 big integer 0

sga_target                           big integer 0

如果需要監(jiān)視 Memory_target 的狀況則可以使用下面三個(gè)動(dòng)態(tài)試圖:

   V$MEMORY_DYNAMIC_COMPONENTS

   V$MEMORY_RESIZE_OPS 

   v$memory_target_advice

使用下面 Command 來調(diào)節(jié)大小:

SQL>ALTER SYSTEM SET MEMORY_MAX_TARGET = 1024M SCOPE = SPFILE; 

SQL>ALTER SYSTEM SET MEMORY_TARGET = 1024M SCOPE = SPFILE; 

SQL>ALTER SYSTEM SET SGA_TARGET =0 SCOPE = SPFILE; 

SQL>ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0 SCOPE = SPFILE ;

到此,相信大家對“Oracle的內(nèi)存管理方式”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章標(biāo)題:Oracle的內(nèi)存管理方式-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://chinadenli.net/article38/hhhsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化手機(jī)網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)軟件開發(fā)微信小程序App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)