国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

oracle三對內存參數間關系之3AMM啟動和關閉兩種情況下ASMM機制涉

來源:懂視網 責編:小采 時間:2020-11-09 07:36:16
文檔

oracle三對內存參數間關系之3AMM啟動和關閉兩種情況下ASMM機制涉

oracle三對內存參數間關系之3AMM啟動和關閉兩種情況下ASMM機制涉:ASMM機制涉及的一對參數為: SGA_TARGET和SGA_MAX_SIZE 。 SGA_TARGET Default value 0 (SGA autotuning is disabled for DEFERRED mode autotuning requests, but allowed for IMMEDIATE mode autotu
推薦度:
導讀oracle三對內存參數間關系之3AMM啟動和關閉兩種情況下ASMM機制涉:ASMM機制涉及的一對參數為: SGA_TARGET和SGA_MAX_SIZE 。 SGA_TARGET Default value 0 (SGA autotuning is disabled for DEFERRED mode autotuning requests, but allowed for IMMEDIATE mode autotu

ASMM機制涉及的一對參數為: SGA_TARGET和SGA_MAX_SIZE 。 SGA_TARGET Default value 0 (SGA autotuning is disabled for DEFERRED mode autotuning requests, but allowed for IMMEDIATE mode autotuning requests) Modifiable ALTER SYSTEM (即表示該參數

ASMM機制涉及的一對參數為:SGA_TARGET和SGA_MAX_SIZE。

SGA_TARGET

Default value 0 (SGA autotuning is disabled forDEFERRED mode autotuning requests, but allowed forIMMEDIATE mode autotuning requests)
Modifiable ALTER SYSTEM(即表示該參數為動態參數)
Range of values 64 MB to operating system-dependent

參見:http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams236.htm#I1010256


SGA_MAX_SIZE



Default value Initial size of SGA at startup, dependent on the sizes of different pools in the SGA, such as buffer cache, shared pool, large pool, and so on.
Modifiable No(即表示該參數為靜態參數)
Range of values 0 to operating system-dependent

On 64-bit platforms and non-Windows 32-bit platforms, when either MEMORY_TARGET orMEMORY_MAX_TARGET is specified, the default value ofSGA_MAX_SIZE is set to the larger of the two parameters. This causes more address space to be reserved for expansion of the SGA.

On Windows 32-bit platforms, the default value of SGA_MAX_SIZE is the largest of the following values:

  • 60% of MEMORY_TARGET, if specified

  • 60% of MEMORY_MAX_TARGET, if specified

  • 25% of the total available virtual address space

  • 參見:http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams235.htm



    上述描述可知,

    1、當SGA_TARGET=非0時,SGA_TARGET要在64 MB to operating system-dependent這個范圍內,確切說是,SGA_TARGET要在64 MB toSGA_MAX_SIZE。

    2、

    由于SGA_TARGET始終<=SGA_MAX_SIZE,所以

    當SGA_TARGET=0時,SGA_MAX_SIZE取值范圍為0 toSGA_MAX_SIZE。

    當SGA_TARGET=非0時,SGA_TARGET要在64 MB toSGA_MAX_SIZE這個范圍內,故而SGA_MAX_SIZE取值范圍為64 MB to operating system-dependent。



    說明了SGA_TARGET要<=SGA_MAX_SIZE的例子,參見下文一大點里1.2的例子。


    這里還有一點要知道,sga_max_size可以自動來變動的(sga_max_size自動變動值,無論在實例啟動時,還是實例運行期間,都可以;而alter system setsga_max_size只能在實例啟動時起效,因為sga_max_size是靜態參數),當sga的內存組件的和小于sga_max_size的時候,sga_max_size不會改變,還是維持自己的值,如果超過了這個和,sga_max_size的就會自動變動成和的值,這個你可以自己試試。例如,

    我現在想調整database buffer的值到1G,我只需要設置db_cache_size到1G,而不設置sga_max_size,這時由于各組件值大于sga_max_size目前值,所以sga_max_size自動變化:

    SQL>alter system set db_cache_size=1000Mscope=spfile;

    SQL> shutdown immediate;

    SQL> startup;

    看看現在的內存信息

    Total System Global Area 1301357848 bytes

    Fixed Size 455960 bytes

    Variable Size 251658240 bytes

    Database Buffers 1048576000 bytes

    Redo Buffers 667648 bytes

    發現sga_max_size已經自動變化

    SQL> show parameters sga_

    NAME TYPE VALUE

    ———————————— ——————————— ———

    sga_max_size big integer 130135784

    也已經變化叻。

    參見:

    http://blog.csdn.net/haiross/article/details/41696485

    為什么會出現這樣的問題叻,是因為在32位的機器上Oracle的內存有限制,內存最大4G,32位留50%給操作系統,window是單線程的,不能超過1.7G。out of memory也就出來叻。

    SGA不能超過1.7G的限制

    在Windows上調整SGA大小遭遇ORA-27100、ORA-27102錯誤的處理方法


    當實例啟動前的參數里sga_max_size=0,sga_target=0時,實例啟動后sga_max_size值也會自動調整,詳見下文一大點里的2.2例子。


    那么sga_max_size值自動調整時,該參數的值具體為多少,是什么決定呢?

    是由sga_max_size的默認值:


    Default value :Initial size of SGA at startup, dependent on the sizes of different pools in the SGA, such as buffer cache, shared pool, large pool, and so on。也就是說

    SGA_MAX_SIZE 的 Default value 為Initial size of SGA at startup,所以說SGA_MAX_SIZE是一個沒有初始化值的變量。故而在ASMM啟動時,SGA_MAX_SIZE 的 Default value 是將SGA_target的值賦值給SGA_MAX_SIZE的,在ASMM關閉時,SGA_MAX_SIZE 的 Default value 是將sga各個組件的參數值如shared_pool_size相加的值賦值給SGA_MAX_SIZE的。

    具體的說是,

    On 64-bit platforms and non-Windows 32-bit platforms, when either MEMORY_TARGET orMEMORY_MAX_TARGET is specified, the default value ofSGA_MAX_SIZE is set to the larger of the two parameters. This causes more address space to be reserved for expansion of the SGA.

    On Windows 32-bit platforms, the default value of SGA_MAX_SIZE is the largest of the following values:

  • 60% of MEMORY_TARGET, if specified

  • 60% of MEMORY_MAX_TARGET, if specified

  • 25% of the total available virtual address space

  • 實例運行期間的SGA_MAX_SIZE都是一個非0值,因為SGA_MAX_SIZE是一個靜態參數,所以實例運行期間將SGA_MAX_SIZE置為0,但是修改后的值不會立馬起效,只有待下一次實例啟動時才起效,而待下一次實例啟動時如上所說實例啟動時SGA_MAX_SIZE還是會從0被調整為一個非0值。詳見下文一大點里的2.2例子。

    注釋:

    參數默認值不一定就是參數的初始化值:

    SGA_MAX_SIZE Default value 為Initial size of SGA at startup,所以說SGA_MAX_SIZE是一個沒有初始化值的變量。故而在ASMM啟動時,SGA_MAX_SIZE 的 Default value 是將SGA_target的值賦值給SGA_MAX_SIZE的,在ASMM關閉時,SGA_MAX_SIZE 的 Default value 是將sga各個組件的參數值如shared_pool_size相加的值賦值給SGA_MAX_SIZE的。

    參見蓋國強 《深入解析oracle》 第二章 參數分類




    SGA_TARGET和SGA_MAX_SIZE兩者關系為

    0、SGA_TARGET始終<=SGA_MAX_SIZE。

    否則,會提示

    ORA-00823: Specified value ofsga_target greater than sga_max_size。


    一、


    當AMM啟動時,即memory_target=非0

    If Automatic Memory Management is enabled (MEMORY_TARGET is set to a positive value) andSGA_TARGET is also set to a positive value, theSGA_TARGET value acts as the minimum value for the size of the SGA.


    以下實驗時參數文件里MEMORY_TARGET=非0,MEMORY_MAX_TARGET=非0。

    1、當SGA_TARGET=非0時(即ASMM啟動時)

    1.1

    當參數文件里SGA_TARGET=非0,SGA_MAX_SIZE=非0時,實例啟動成功。

    1.2

    當參數文件里SGA_TARGET=非0,SGA_MAX_SIZE=0時,實例啟動不成功。

    下面是具體實驗來證明:

    參數文件里:

    *.memory_max_target= 700M

    *.memory_target=700M

    *.sga_max_size=0

    *.sga_target=400M

    *.pga_aggregate_target=100M

    SQL>shutdown immediate

    數據庫已經關閉。

    已經卸載數據庫。

    ORACLE例程已經關閉。

    SQL>startup pfile=E:\app\hc\product\11.2.0\dbhome_1\database\INITmonkey.ORA

    ORA-00823: Specified value of sga_target greater than sga_max_size

    ORA-01078:處理系統參數失敗

    SQL>

    注釋:

    對比memory_max_target和memory_target關系不同點在于:

    當MEMORY_TARGET=非0,MEMORY_MAX_TARGET=0時,啟動實例后MEMORY_MAX_TARGET=MEMORY_TARGET值。

    2、當SGA_TARGET=0時(即ASMM關閉時)

    2.1

    當參數文件里SGA_TARGET=0,SGA_MAX_SIZE=非0時,實例啟動成功。

    注釋:

    memory_target=0時sga_ target可以為0是因為memory_target=0時sga_ target為0,表示sga為手動管理,即由shared_pool_size參數等之和為sga大小。


    2.2

    當參數文件里SGA_TARGET=0,SGA_MAX_SIZE=0時,實例啟動成功。

    啟動實例成功后,查看SGA_TARGET和SGA_MAX_SIZE(使用showparameters sga或是select * from v$parameter where name like '%sga%';),發現SGA_MAX_SIZE被調整為一個非0值。

    下面是具體實驗來證明:

    以如下參數文件來啟動實例:

    memory_target=0,memory_max_target=1400M,

    pga_aggregate_target 為0,workarea_size_policy=manual,

    sga_max_size=0,sga_target=0

    則可以啟動實例成功。

    SQL> select name,value from v$parameter where name like '%target%' orname like

    '%sga%';

    NAME VALUE

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

    sga_max_size 150994944

    pre_page_sga FALSE

    lock_sga FALSE

    sga_target 0

    memory_target 0

    memory_max_target 1468006400

    archive_lag_target 0

    fast_start_io_target 0

    fast_start_mttr_target 0

    db_flashback_retention_target 1440

    pga_aggregate_target 0

    parallel_servers_target 32


    已選擇12行。

    注釋:

    為什么啟動實例時SGA_MAX_SIZE會從0被調整為一個非0值呢?

    因為

    sga_max_size可以自動來變動的(sga_max_size自動變動值,無論在實例啟動時,還是實例運行期間,都可以;而alter system setsga_max_size只能在實例啟動時起效,因為sga_max_size是靜態參數),當sga的內存組件的和小于sga_max_size的時候,sga_max_size不會改變,還是維持自己的值,如果超過了這個和,sga_max_size的就會自動變動成和的值。

    那么sga_max_size值自動調整時,該參數的值具體為多少,是什么決定呢?

    是由sga_max_size的默認值。

    SGA_MAX_SIZE Default value 為Initial size of SGA at startup,所以說SGA_MAX_SIZE是一個沒有初始化值的變量。故而在ASMM啟動時,SGA_MAX_SIZE 的 Default value 是將SGA_target的值賦值給SGA_MAX_SIZE的,在ASMM關閉時,SGA_MAX_SIZE 的 Default value 是將sga各個組件的參數值如shared_pool_size相加的值賦值給SGA_MAX_SIZE的。


    所以,實例啟動前的參數文件即使設置了SGA_MAX_SIZE=0,實例啟動時SGA_MAX_SIZE也會從0被調整為一個非0值。

    故而我們可以知道實例運行期間的SGA_MAX_SIZE都是一個非0值,因為SGA_MAX_SIZE是一個靜態參數,所以實例運行期間將SGA_MAX_SIZE置為0,但是修改后的值不會立馬起效,只有待下一次實例啟動時才起效,而待下一次實例啟動時如上所說實例啟動時SGA_MAX_SIZE還是會從0被調整為一個非0值。

    二、

    當AMM關閉時,即memory_target=0


    2、當MEMORY_TARGET=0時(即AMM關閉時)

    2.1

    當參數文件里MEMORY_TARGET=0,MEMORY_MAX_TARGET=非0時,實例啟動成功。

    實例啟動后,查看MEMORY_TARGET和MEMORY_MAX_TARGET都為原值(使用showparameters mem或是select * from v$parameter where name like '%mem%';)。即

    If you omit the line for MEMORY_TARGET and include a value forMEMORY_MAX_TARGET, theMEMORY_TARGET parameter defaults to zero. After startup, you can then dynamically changeMEMORY_TARGET to a nonzero value, provided that it does not exceed the value ofMEMORY_MAX_TARGET.(文章詳解)

    2.2

    當參數文件里MEMORY_TARGET=0,MEMORY_MAX_TARGET=0時,實例啟動成功。

    實例啟動后,查看MEMORY_TARGET和MEMORY_MAX_TARGET(使用showparameters mem或是select * from v$parameter where name like '%mem%';),發現MEMORY_MAX_TARGET被調整為一個非0值。

    下面是具體實驗來證明:



    三、

    AMM關閉時(即memory_target=0),才會出現ORA-00849:SGA_TARGET 524288000 cannot be set to more than MEMORY_MAX_TARGET 0.無論是sga_target>memory_max_target還是sga_max_size>memory_max_target。當sga_max_size>memory_max_target時,即使此時sga_target也>memory_max_target,ORA-00849里的SGA_TARGET值還是來自sga_max_size。

    附加

    sga_max_size是靜態參數,所以它即使在實例運行期間修改的值也要在下次啟動時起作用,故而不用試驗sga_max_size靜態參數在實例運行期間修改對sga_target影響。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    oracle三對內存參數間關系之3AMM啟動和關閉兩種情況下ASMM機制涉

    oracle三對內存參數間關系之3AMM啟動和關閉兩種情況下ASMM機制涉:ASMM機制涉及的一對參數為: SGA_TARGET和SGA_MAX_SIZE 。 SGA_TARGET Default value 0 (SGA autotuning is disabled for DEFERRED mode autotuning requests, but allowed for IMMEDIATE mode autotu
    推薦度:
    標簽: 內存 關閉 關系
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 亚洲一区二区在线免费观看 | 日韩二区三区 | 亚洲第8页 | 国产精品亚洲色图 | 国产欧美一区二区精品久久久 | 日本欧美一区二区三区不卡视频 | 一区二区免费在线观看 | 欧美在线综合视频 | 国产91成人精品亚洲精品 | 欧美成人免费高清二区三区 | 91久久偷偷看嫩草影院无费 | 亚洲精品区| 成人毛片免费免费 | 国产成人精品久久亚洲高清不卡 | 亚洲国产成人精品91久久久 | 国产成人精品曰本亚洲 | 国产一二区视频 | 国产最新视频 | 在线免费观看国产 | 色婷婷综合久久久久中文一区二区 | 日韩精品一区二区三区 在线观看 | 成人精品第一区二区三区 | 午夜视频国产 | 欧美色图在线观看 | 91精品国产91久久久久久最新 | 91一区二区三区四区五区 | 国产精品亚洲精品不卡 | 欧美日韩在线视频 | 国产成人乱码一区二区三区在线 | www.久久99 | 久操视频在线免费观看 | 久久无码精品一区二区三区 | 欧美区一区二区三 | 日本激情网址 | 国产精品视频免费观看 | 欧美精品国产一区二区 | 亚欧免费视频一区二区三区 | 国产亚洲精品成人婷婷久久小说 | 欧美日韩亚洲精品国产色 | 国产产一区二区三区久久毛片国语 | 亚洲国产视频网 |