有關ASM和ASMM的理解
oracle11g新出引數
MEMORY_MAX_TARGET 和 MEMORY_TARGET 進行自動管理PGA 和SGA 稱之為 自動化記憶體管理(Automatic
Memory Management,AMM)
MEMORY_MAX_TARGET
:MEMORY_TARGET所能設定的最大值。非動態可調
MEMORY_TARGET
:作業系統上 Oracle 所能使用的最大記憶體值。動態引數,MEMORY_TARGET 是PAG 和SGA的總和.memory_target 為 0
是手動管理,非0為自動管理
sga_max_size
: sga_max_size
是sga的最大值
sga_target
: sga_target 是自動和手段管理 sga_target 為0 是手動管理,非0 是自動管理
oracle 11g 引入引數mymory_max_target 和memory_target 就是oracle的新特性自動記憶體管理,AMM 的引入,
組合出來有 5 種記憶體管理形式.
自動記憶體管理(AMM): memory_target=非0,是自動記憶體管理 ,如果初始化引數 LOCK_SGA =
true ,則 AMM 是不可用的。
自動共享記憶體管理(ASMM): 在memory_target=0 and sga_target=非0 是自動記憶體管理
手工共享記憶體管理:
memory_target=0 and sga_target=0 指定 share_pool_size 、db_cache_size 等 sga
引數
自動 PGA 管理: memory_target=0 and workarea_size_policy=auto and
PGA_AGGREGATE_TARGET=值
手動 PGA 管理: memory_target=0 and
workarea_size_policy=manal 然後指定 SORT_AREA_SIZE 等 PGA 引數,一般不使用手動管理PGA
SQL> show parameter result_cache_size
用來快取sql語句結果
NAME
TYPE VALUE
------------------------------------
---------------------------------
------------------------------
client_result_cache_size big
integer 0
如果指定了memory_target
而沒有指定memory_max_target 重啟後,memory_max_target 和memory_target
大小相等
如果指定了memory_max_target 而沒有指定 memory_target重啟後memory_target
為0
SQL> show parameter memory
NAME
TYPE VALUE
------------------------------------ -----------
---------------------------
hi_shared_memory_address integer
0
memory_max_target big integer
1232M
memory_target big integer
1232M
shared_memory_address integer 0
當設定 memory_max_target <
memory_target 時:
SQL> alter system set memory_max_target=1000M
scope=spfile;
系統已更改。
SQL> shut
immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE
例程已經關閉。
SQL>
SQL>
SQL>
SQL> startup
ORA-00837:
Specified value of MEMORY_TARGET greater than
MEMORY_MAX_TARGET
11g
AMM管理方式:
SQL>
select name,bytes/1024/1024 from
v$sgainfo;
NAME
BYTES/1024/1024
--------------------------------
---------------
Fixed
SGA Size
1.31111908
Redo
Buffers
5.015625
Buffer
Cache Size
496
Shared
Pool Size
216
Large
Pool Size
8
Java
Pool Size
8
Streams
Pool Size
8
Shared
IO Pool Size
0
Granule
Size
8
Maximum
SGA Size
742.328125
Startup
overhead in Shared Pool
64
Free SGA Memory
Available
0
SQL> show parameter sga
NAME
TYPE
VALUE
------------------------------------
-----------
-------
lock_sga
boolean
FALSE
pre_page_sga
boolean
FALSE
sga_max_size
big integer
744M
sga_target
big integer
0
SQL> show parameter memory
NAME TYPE
VALUE
------------------------------------
-----------
-------
hi_shared_memory_address
integer 0
memory_max_target
big integer 1232M
memory_target big
integer 1232M
shared_memory_address
integer 0
從上面的引數可以看出,memory_target 非0
說明 sga和pga是統一自動管理
就不用看sga_target 為0的意義
在10g管理方式是自動共享記憶體管理(Automatic
Share Memory Manage) ASMM
ASMM 方式管理,把memory_target 設定為0
SQL> alter system set memory_target=0 scope=spfile;
SQL> show parameter memory
NAME
TYPE VALUE
------------------------------------ -----------
---------
hi_shared_memory_address integer
0
memory_max_target big integer
0
memory_target big integer
0
shared_memory_address integer 0
說明
AMM管理方式和ASMM管理方式一樣
只要設定memory_target 為 0
是oracle記憶體手動管理,非0oracle記憶體自動管理
SQL> show parameter sga
NAME
TYPE VALUE
------------------------------------ -----------
-------
lock_sga boolean
FALSE
pre_page_sga boolean
FALSE
sga_max_size big integer
144M
sga_target big integer
144M
說明在memory_target=0的情況下,oracle記憶體的手動管理,sga_target=144M,sga的自動管理
SQL> show parameter
memory
NAME
TYPE VALUE
------------------------------------ -----------
-----------
hi_shared_memory_address integer
0
memory_max_target big integer
0
memory_target big integer
0
shared_memory_address integer 0
SQL> alter system set sga_target=0 ;
系統已更改。
SQL> show parameter sga
NAME
TYPE VALUE
------------------------------------ -----------
--------------------
lock_sga boolean
FALSE
pre_page_sga boolean
FALSE
sga_max_size big integer
144M
sga_target big integer 0
說明在memory_target=0的情況下,oracle記憶體的手動管理,sga_target=0M,sga是手動管理
SQL> show parameter sga
NAME TYPE
VALUE
------------------------------------ -----------
------------------------------
lock_sga
boolean FALSE
pre_page_sga boolean
FALSE
sga_max_size big integer
144M
sga_target big integer 0
SQL> alter
system set sga_target=120;
系統已更改。
SQL> show parameter sga
NAME TYPE
VALUE
------------------------------------ -----------
------------------------------
lock_sga
boolean FALSE
pre_page_sga boolean
FALSE
sga_max_size big integer
144M
sga_target big integer 144M
SQL> select component, granule_size/1024/1024 M from v$sga_dynamic_components;
COMPONENT
M
----------------------------------------------------------------
----------
shared
pool 4
large
pool 4
java
pool
4
streams pool
4
DEFAULT buffer cache
4
KEEP buffer cache
4
RECYCLE buffer cache
4
DEFAULT 2K buffer cache
4
DEFAULT 4K buffer cache
4
DEFAULT 8K buffer cache
4
DEFAULT 16K buffer cache
4
COMPONENT
M
----------------------------------------------------------------
----------
DEFAULT 32K buffer
cache 4
Shared IO
Pool 4
ASM Buffer
Cache 4
已選擇14行。
granule size 是 4M大小
SQL> alter system set sga_target=120M;
alter system set
sga_target=120M
*
第 1 行出現錯誤:
ORA-02097: 無法修改引數, 因為指定的值無效
ORA-00827:
無法將 sga_target 壓縮到指定值
SQL> alter system set sga_target=0;
系統已更改。
SQL> show parameter sga
NAME TYPE
VALUE
------------------------------------ -----------
------------
lock_sga boolean
FALSE
pre_page_sga boolean
FALSE
sga_max_size big integer
144M
sga_target big integer 0
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29366942/viewspace-1247837/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於ASMM和AMMASM
- 關於imp和exp的有關理解
- Oracle的AMM和ASMM以及相關引數探究OracleASM
- 有關resetlogs和incarnation關係的理解
- Oracle ASMM和AMMOracleASM
- 理解ASM的ExtentASM
- asmm , assmASMSSM
- 轉:ASM理解ASM
- AMM與ASMMASM
- ASM之快速理解ASM
- ASMM自動管理的功能ASM
- ASM Failure Group的一點理解ASMAI
- 如何理解ASM裡FAILGROUP的概念ASMAI
- linux下asm裡如何找到asm disk和os device的對應關係LinuxASMdev
- 關於rpc的整理和理解RPC
- ASM之ASM相關概念ASM
- 關於Oracle的redo和undo的理解Oracle
- ASM CRS 例項啟動和關閉ASM
- ASM file和file alias之間的對映關係!ASM
- 全面學習和應用ORACLE ASM特性--(1)關於asm例項OracleASM
- 和Null有關的函式Null函式
- Docker——理解好映象和容器的關係Docker
- 理解JavaScript中BOM和DOM的關係JavaScript
- 一點ASMM總結ASM
- v$asm 相關的viewASMView
- 【ASM學習】關於 ASM 的隱含引數ASM
- 說說你對樹的理解?相關的操作有哪些?
- 說說你對圖的理解?相關操作有哪些?
- Oracle ASM 相關的 檢視(V$) 和 資料字典(X$)OracleASM
- 在使用“U盤系統盤製作工具”時遇到的問題和有關理解
- 關於Vue中插槽的理解和總結Vue
- 關於SFTP和網路分層的理解FTP
- ASM 翻譯系列第四十彈:理解ASM中 REQUIRED_MIRROR_FREE_MB和USABLE_FILE_MB的含義ASMUI
- 有關EJB的有態SessionBean和無態SessionBean的疑惑SessionBean
- Python中關於++和—(自增和自減)的理解Python
- Oracle 11g Database和ASM預設的審計策略和相關操作OracleDatabaseASM
- 【新炬網路名師大講堂】關於Oracle 12c Flex ASM特性的理解OracleFlexASM
- 深度理解vue 關於陣列和物件的更新Vue陣列物件