11g 中MEMORY_MAX_TARGET??
11g 中新增MEMORY_MAX_TARGET 引數,此引數一出現就如在10g 中第一次出現SGA_MAX_SIZE 引數一樣給人以耳目一新的感覺。memory_max_target 是設定Oracle能佔OS多大的記憶體空間,一個是Oracle SGA 區最大能佔多大記憶體空間。無疑在11g Oracle 又向自動管理記憶體更進一步。
10g 的sga_max_size 是動態分配 Shared Pool Size,database buffer cache,large pool,java pool,redo log buffer 大小的,只是根據Oracle 執行狀況來重新分配SGA 各記憶體塊的大小。PGA在10g 中需要單獨設定.
11g MEMORY_MAX_TARGET 引數包含兩部分記憶體,一個 System global area (SGA),另一個 system global area(PGA)。很顯然在11g 中可已經將PGA 和SGA 一起動態管理了。
下面來看看在11g 中Memory_target 設定和不設定對SGA/PGA 的影響:
A:如果Memory_target 設定為非0 值
(下面有四種情況來對SGA 和PGA 的大小進行分配)
1:sga_target 和 pga_aggregate_target 已經設定大小如果Oracle 中
已經設定了引數sga_target 和pga_aggregate_target,則這兩個引數將各自被分配為 最小值最為它們的目標值。
Memory_Target =SGA_TARGET+PGA_AGGREGATE_TARGET ,大小和 memory_max_size 一致。
2:sga_target 設定大小, pga_aggregate_target 沒有設定大小
那麼pga_aggregate_target初始化值=memory_target-sga_target
3:sga_target 沒有設定大小, pga_aggregate_target 設定大小
那麼sga_target 初始化值=memory_target-pga_aggregate_target
4:sga_target 和 pga_aggregate_target 都沒有設定大小 Oracle 11g
中對這種sga_target 和pga_aggregate_target 都沒有設定大小的情況下,Oracle將對這兩個值沒有最小值和預設值。
Oracle 將根據資料庫執行狀況進行分配大小。
但在資料庫啟動是會有一個固定比例來分配:
sga_target =memory_target *60%
pga_aggregate_target=memory_target *40%
B:如果Memory_target 沒有設定或=0 (在11g 中預設為0)
11g 中預設為0 則初始狀態下取消了Memory_target 的作用,完全和10g 在記憶體管理上一致,完全向下相容。
(也有三種情況來對SGA 和PGA 的大小進行分配)
1:SGA_TARGET設定值,則自動調節SGA 中的shared pool,buffer cache,redo log buffer,java pool,larger pool
等記憶體空間的大小。PGA 則依賴pga_aggregate_target 的大小。sga 和pga 不能自動增長和自動縮小。
2:SGA_target 和PGA_AGGREGATE_TARGET 都沒有設定
SGA 中的各元件大小都要明確設定,不能自動調整各組建大小。PGA不能自動增長和收縮。
3: MEMORY_MAX_TARGET 設定 而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
如果需要監視Memory_target 的狀況則可以使用下面三個動態試圖:
V$MEMORY_DYNAMIC_COMPONENTS
V$MEMORY_RESIZE_OPS
v$memory_target_advice
使用下面Command 來調節大小:
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;
10g 的sga_max_size 是動態分配 Shared Pool Size,database buffer cache,large pool,java pool,redo log buffer 大小的,只是根據Oracle 執行狀況來重新分配SGA 各記憶體塊的大小。PGA在10g 中需要單獨設定.
11g MEMORY_MAX_TARGET 引數包含兩部分記憶體,一個 System global area (SGA),另一個 system global area(PGA)。很顯然在11g 中可已經將PGA 和SGA 一起動態管理了。
下面來看看在11g 中Memory_target 設定和不設定對SGA/PGA 的影響:
A:如果Memory_target 設定為非0 值
(下面有四種情況來對SGA 和PGA 的大小進行分配)
1:sga_target 和 pga_aggregate_target 已經設定大小如果Oracle 中
已經設定了引數sga_target 和pga_aggregate_target,則這兩個引數將各自被分配為 最小值最為它們的目標值。
Memory_Target =SGA_TARGET+PGA_AGGREGATE_TARGET ,大小和 memory_max_size 一致。
2:sga_target 設定大小, pga_aggregate_target 沒有設定大小
那麼pga_aggregate_target初始化值=memory_target-sga_target
3:sga_target 沒有設定大小, pga_aggregate_target 設定大小
那麼sga_target 初始化值=memory_target-pga_aggregate_target
4:sga_target 和 pga_aggregate_target 都沒有設定大小 Oracle 11g
中對這種sga_target 和pga_aggregate_target 都沒有設定大小的情況下,Oracle將對這兩個值沒有最小值和預設值。
Oracle 將根據資料庫執行狀況進行分配大小。
但在資料庫啟動是會有一個固定比例來分配:
sga_target =memory_target *60%
pga_aggregate_target=memory_target *40%
B:如果Memory_target 沒有設定或=0 (在11g 中預設為0)
11g 中預設為0 則初始狀態下取消了Memory_target 的作用,完全和10g 在記憶體管理上一致,完全向下相容。
(也有三種情況來對SGA 和PGA 的大小進行分配)
1:SGA_TARGET設定值,則自動調節SGA 中的shared pool,buffer cache,redo log buffer,java pool,larger pool
等記憶體空間的大小。PGA 則依賴pga_aggregate_target 的大小。sga 和pga 不能自動增長和自動縮小。
2:SGA_target 和PGA_AGGREGATE_TARGET 都沒有設定
SGA 中的各元件大小都要明確設定,不能自動調整各組建大小。PGA不能自動增長和收縮。
3: MEMORY_MAX_TARGET 設定 而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
如果需要監視Memory_target 的狀況則可以使用下面三個動態試圖:
V$MEMORY_DYNAMIC_COMPONENTS
V$MEMORY_RESIZE_OPS
v$memory_target_advice
使用下面Command 來調節大小:
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;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29196873/viewspace-1098174/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 轉載 11g 中MEMORY_MAX_TARGET
- 11g的MEMORY_TARGET和MEMORY_MAX_TARGET
- 測試memory_max_target
- 修改Memory_max_target為0出錯
- Incorrect MEMORY_MAX_TARGET (> Available RAM) Can Lead To Database HangsAIDatabase
- ubuntu中安裝oracle 11gUbuntuOracle
- 11g中的materialized view logZedView
- oracle 11g中的 oracle restart特性OracleREST
- ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET
- 關於memory_max_target,memory_target,sga_max_size,sga_target
- memory_max_target,memory_target,pga_aggregate_target,sga_target
- Oracle Linux中安裝Oracle 11gOracleLinux
- 聊聊Oracle 11g中的Reference Partition(上)Oracle
- 聊聊Oracle 11g中的Reference Partition(下)Oracle
- 11g Dataguard中的snapshot standby特性
- Oracle 11g 中告警日誌的位置Oracle
- oracle 11g中的snapshot standby特性Oracle
- memory_max_target/memory_target設定過大報ORA-00845錯誤
- Oracle 11g中的密碼延遲功能Oracle密碼
- Oracle 11g R1中ASM增強OracleASM
- 11G中FAST_START_MTTR_TARGET引數AST
- 聊聊Oracle 11g中的char型別使用Oracle型別
- 11g中節點間拷貝檔案
- 11g中物件細粒度管理一例物件
- ORACLE 11G DATAGUARD 日誌中斷處理方案Oracle
- Oracle 11g 中 Direct path reads 特性 說明Oracle
- Oracle 11g中的IO Calibrate(IO校準)Oracle
- ORA-00843,ORA-00849 When Trying To Change SGA_TARGET With MEMORY_MAX_TARGET=0
- 加大memory_max_target後,資料庫啟動報ora-00845錯誤處理資料庫
- 11g RAC 中 OCR 及Voting Disk 相關操作
- 11g備庫中碰到自己給自己埋的坑
- 11g中的"_memory_imm_mode_without_autosga"引數
- oracle 11g中auto_sample_size是如何工作的Oracle
- 【VIRTUAL COLUMN】Oracle 11g中的虛擬列技術Oracle
- 關於oracle11G的自動記憶體管理MEMORY_TARGET和MEMORY_MAX_TARGETOracle記憶體
- 角色resource在11g和12c中的區別
- oracle 11g 中 (oracle 10g) crsctl 的 替換命令Oracle 10g
- 10g,11g中的資料庫克隆安裝資料庫