默認情況下,Oracle 11g是使用AMM的。我們在安裝過程中,指定Oracle使用內存的百分比,這個取值就作為MEMORY_TARGET和MEMORY_MAX
現在的Oracle正在往智能化方向發展。如果我們現在找一些8i/9i時代的Oracle書籍,怎么樣配置合適的數據庫各內存池大小是非常重要的話題。但是進入10g之后,自動內存池調節成為一個重要Oracle特性。
在10g時,Oracle推出了ASMM(Automatic Shared Memory Management),實現了Oracle SGA和PGA內部結構的自調節。進入11g之后,AMM(Automatic Memory Management)實現了參數MEMORY_TARGET,將SGA和PGA的規劃全部統籌起來對待。
默認情況下,Oracle 11g是使用AMM的。我們在安裝過程中,指定Oracle使用內存的百分比,,這個取值就作為MEMORY_TARGET和MEMORY_MAX_TARGET的初始取值使用。如果這兩個參數設置為非零取值,那么Oracle就是采用AMM管理策略的。
同時,如果我們設置這兩個參數為0,則AMM自動關閉。對應的SGA_TARGET、PGA_AGGREGATE_TARGET參數取值非零之后,Oracle自動退化使用ASMM特性。
--------------------------------------分割線 --------------------------------------
Oracle數據庫不完全恢復
RMAN備份與恢復之基于時間點的不完全恢復
歸檔模式下,使用RMAN的同一備份兩次用于不完全恢復
RMAN全庫【完全恢復/不完全恢復】
CentOS 5.2 x86 安裝Oracle 11g R2 筆記
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機中安裝步驟
--------------------------------------分割線 --------------------------------------
本篇簡單介紹一下AMM和ASMM的相互切換。
1、實驗環境介紹
我們選擇11.2.0.3進行試驗,當前狀態為ASMM。
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
當前MEMORY_TARGET設置為零,AMM沒有啟用。
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 0
memory_target big integer 0
parallel_servers_target integer 16
pga_aggregate_target big integer 108M
sga_target big integer 252M
2、從ASMM到AMM
在11g中,如果使用ASMM,對應的內存共享段是真實的共享段。
[oracle@SimpleLinux ~]$ ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 32768 oracle 640 4194304 32
0x00000000 65537 oracle 640 260046848 32
0x01606d30 98306 oracle 640 4194304 32
下面進行參數的調整,這里筆者有一個建議,很多時候啟動umount階段故障都是由于不當的參數修改造成的。在進行參數修改之前,可以使用create pfile進行一下參數備份,可以加快故障出現時候的系統修復速度。
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/dbs/spfileora11g.ora
SQL> create pfile from spfile;
Done
修改系統參數,將sga和pga的target值設置為0,memory的target設置非0。注意,這個過程很多參數是靜態的參數,可以都在spfile可見性中進行修改,之后重啟服務器生效。
SQL> alter system set memory_max_target=360m scope=spfile;
System altered
SQL> alter system set memory_target=360m scope=spfile;
System altered
SQL> alter system set sga_target=0m scope=spfile;
System altered
SQL> alter system set sga_max_size=0 scope=spfile;
System altered
SQL> alter system set pga_aggregate_target=0 scope=spfile;
System altered
重新啟動數據庫服務器,查看參數配置。
SQL> conn / as sysdba
Connected.
SQL> startup force
ORACLE instance started.
Total System Global Area 263651328 bytes
Fixed Size 1344284 bytes
Variable Size 176164068 bytes
Database Buffers 83886080 bytes
Redo Buffers 2256896 bytes
Database mounted.
Database opened.
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 360M
memory_target big integer 360M
parallel_servers_target integer 16
pga_aggregate_target big integer 0
sga_target big integer 0
AMM啟動之后,系統共享段變為“虛擬”共享段。
[oracle@SimpleLinux dbs]$ ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 163840 oracle 640 4096 0
0x00000000 196609 oracle 640 4096 0
0x01606d30 229378 oracle 640 4096 0
更多詳情見請繼續閱讀下一頁的精彩內容:
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com