【AMM】關於ASM中AMM引數說明
關於ASM中AMM引數說明
一、概括
Oracle11gR2 RAC中ocr、voting盤也加入到了ASM中,這也更方便管理,在ASM例項中新功能AMM更是oracle強烈推薦使用的,本以為它的設定會資料庫的一樣,卻在檢視、修改中發現許多未解之謎
二、 過程描述
本人是在自己本上搭建的虛擬環境,在搭建完成後,發現系統記憶體有些告急,修改完資料庫記憶體等相關引數後,發現ASM的memory值也不小,如下:
SQL> show parameter mem
NAME TYPE VALUE ------------------------------------ ----------- -------- memory_max_target big integer 1076M memory_target big integer 1076M |
檢視SGA、PGA
SQL> show parameter sga
NAME TYPE VALUE ------------------------------------ ----------- ------------ lock_sga boolean FALSE sga_max_size big integer 256M sga_target big integer 256M SQL> show parameter pga
NAME TYPE VALUE ------------------------------------ ----------- ------------ pga_aggregate_target big integer 10M |
禁用AMM管理
SQL> alter system reset memory_max_target; alter system reset memory_max_target * ERROR at line 1: ORA-32010: cannot find entry to delete in SPFILE
SQL> alter system reset memory_target; alter system reset memory_target * ERROR at line 1: ORA-32010: cannot find entry to delete in SPFILE |
生成PFILE檔案,並檢視,發現引數檔案中並沒有memory兩個引數
SQL> create pfile='/tmp/a.ora' from spfile;
File created.
SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Real Application Clusters and Automatic Storage Management options [grid@rac01 ~]$ cat /tmp/a.ora +ASM1.asm_diskgroups='DATA'#Manual Mount +ASM2.asm_diskgroups='DATA'#Manual Mount *.asm_diskstring='/dev/asm*' *.asm_power_limit=1 *.diagnostic_dest='/grid/crs_base' *.instance_type='asm' *.large_pool_size=12M *.pga_aggregate_target=10485760 *.remote_login_passwordfile='EXCLUSIVE' *.sga_max_size=268435456 *.sga_target=268435456 |
再次修改兩個引數
SQL> alter system set memory_max_target=1G scope=spfile;
System altered.
SQL> alter system set memory_target=1G scope=spfile;
System altered. |
重啟ASM(注意,因orc存在與ASM中,所以重啟需root使用者)
命令crsctl stop/start crs/cluster
重啟後,再次檢視
SQL> show parameter mem
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ memory_max_target big integer 1G memory_target big integer 1G |
再次設定
SQL> show parameter mem
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ memory_max_target big integer 1G memory_target big integer 1G SQL> alter system set memory_max_target=256M scope=spfile;
System altered.
SQL> alter system set memory_target=256M scope=spfile;
System altered. |
重啟後檢視
SQL> show parameter mem
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ memory_max_target big integer 1G memory_target big integer 1G |
發現引數未變,而生成PFILE檔案檢視,兩個引數均為256M
檢視alert日誌,發現警告,memory_target最小值及sga太小。
WARNING: Minimum MEMORY_TARGET required on ASM instance is 1073741824 * instance_number obtained from CSS = 1, checking for the existence of node 0... * node 0 does not exist. instance_number = 1 Starting ORACLE instance (normal) Specified value of sga_max_size is too small, bumping to 641728512 LICENSE_MAX_SESSION = 0 ………………. ORACLE_HOME = /grid/crs_home/product/11.2.0 System name: Linux Node name: rac01 Release: 2.6.32-279.el6.x86_64 Version: #1 SMP Wed Jun 13 18:24:36 EDT 2012 Machine: x86_64 VM name: VMWare Version: 6 Using parameter settings in server-side spfile +CRS/rac-cluster/asmparameterfile/registry.253.839461197 System parameters with non-default values: sga_max_size = 612M large_pool_size = 12M instance_type = "asm" sga_target = 0 memory_target = 1G memory_max_target = 1G remote_login_passwordfile= "EXCLUSIVE" pga_aggregate_target = 0 asm_diskstring = "/dev/asm*" asm_diskgroups = "DATA" asm_power_limit = 1 diagnostic_dest = "/grid/crs_base" |
如果將sga兩個引數及pga引數reset,重啟,不會警告sga太小,重啟後引數值如下:
SQL> show parameter mem
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ memory_max_target big integer 1G memory_target big integer 1G SQL> show parameter sga
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ lock_sga boolean FALSE sga_max_size big integer 1G sga_target big integer 0 SQL> show parameter pga
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_target big integer 0 |
再次禁用AMM,AMM管理引數時memory_target,而memory_max_target是作為一個上限來約束前者的。
設定好SGA、PGA
SQL> show parameter sga
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ lock_sga boolean FALSE sga_max_size big integer 208M sga_target big integer 208M SQL> alter system set memory_target=0 scope=spfile;
System altered.
SQL> show parameter pga
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_target big integer 0 SQL> alter system set pga_aggregate_target=10M;
System altered. |
檢視修改後PFILE檔案
SQL> create pfile='/tmp/asm.ora' from spfile;
File created.
SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Real Application Clusters and Automatic Storage Management options [grid@rac01 trace]$ vi /tmp/asm.ora +ASM1.asm_diskgroups='DATA'#Manual Mount +ASM2.asm_diskgroups='DATA'#Manual Mount *.asm_diskstring='/dev/asm*' *.asm_power_limit=1 *.diagnostic_dest='/grid/crs_base' *.instance_type='asm' *.large_pool_size=12M *.memory_max_target=268435456 *.memory_target=0 *.pga_aggregate_target=10485760 *.remote_login_passwordfile='EXCLUSIVE' *.sga_max_size=209715200 *.sga_target=209715200 |
重啟叢集,檢視mem引數
SQL> show parameter mem
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ memory_max_target big integer 256M memory_target big integer 0 SQL> show parameter pga
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_target big integer 10M SQL> show parameter sga
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ lock_sga boolean FALSE sga_max_size big integer 208M sga_target big integer 208M |
這次看著好像正常點了,前邊我們是將memory_target設定為0來取消AMM,那麼將兩個memory引數都reset後,系統會啟用1076M這個值,加入兩個引數都設定為0呢個,這個我們將在下一節討論。
三、 現在我們是禁用了AMM管理,卻有幾個疑問:
1、但是為什麼需要設定memory_max_target這個引數呢,
2、 官方說明,memory_target最小值應為256M,但是設定後為什麼不生效,
3、 起初SPFILE引數中並沒有設定MEMORY兩個引數,ASM是怎麼得到的
在其他redhat平臺下檢視相同版本資料庫ASM中預設memory值也為1076M,AIX/HPUX平臺各不一樣。
附:官方關於ASM中MEMORY引數說明
主要有兩點,一個是oracle強烈建議使用AMM、二是memory_target最小值為256M
還說明一個是AMM在ASM中預設啟用
Automatic Memory Management for Oracle ASM Automatic memory management automatically manages the memory-related parameters for both Oracle ASM and database instances with the MEMORY_TARGETparameter. Automatic memory management is enabled by default on an Oracle ASM instance, even when the MEMORY_TARGET parameter is not explicitly set. The default value used for MEMORY_TARGET is acceptable for most environments. This is the only parameter that you must set for complete Oracle ASM memory management. Oracle strongly recommends that you use automatic memory management for Oracle ASM. If you do not set a value for MEMORY_TARGET, but you do set values for other memory related parameters, Oracle internally calculates the optimum value forMEMORY_TARGET based on those memory parameter values. You can also increase MEMORY_TARGET dynamically, up to the value of the MEMORY_MAX_TARGET parameter, just as you can do for the database instance. Although it is not recommended, you can disable automatic memory management by either setting the value for MEMORY_TARGET to 0 in the Oracle ASM parameter file or by running an ALTER SYSTEM SET MEMORY_TARGET=0 statement. When you disable automatic memory management, Oracle reverts to auto shared memory management and automatic PGA memory management. To revert to Oracle Database 10g release 2 (10.2) functionality to manually manage Oracle ASM SGA memory, also run the ALTER SYSTEM SET SGA_TARGET=0 statement. You can then manually manage Oracle ASM memory using the information in "Oracle ASM Parameter Setting Recommendations", that discusses Oracle ASM memory-based parameter settings. Unless specified, the behaviors of the automatic memory management parameters in Oracle ASM instances behave the same as in Oracle Database instances. Notes: · For a Linux environment, automatic memory management cannot work if /dev/shm is not available or is undersized. For more information, see Oracle Database Administrator's Reference for Linux and UNIX-Based Operating Systems. For information about platforms that support automatic memory management, see Oracle Database Administrator's Guide. · The minimum MEMORY_TARGET for Oracle ASM is 256 MB. If you set MEMORY_TARGET to 100 MB, then Oracle increases the value for MEMORY_TARGET to 256 MB automatically.
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30633755/viewspace-2127666/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【AMM】關於資料庫例項AMM引數說明資料庫
- 關於ASMM和AMMASM
- Oracle的AMM和ASMM以及相關引數探究OracleASM
- 【ASM學習】ASM引數說明ASM
- AMM與ASMMASM
- Oracle ASMM和AMMOracleASM
- Oracle 11g新引數USE_LARGE_PAGES與AMM使用Oracle
- Oracle11g自動記憶體管理(AMM)相關的初始化引數Oracle記憶體
- mysql innodb相關引數說明MySql
- OracleASM關閉AMM,開啟ASMM,修改引數後報ORA-00843 ORA-00849OracleASM
- 關於PGA_AGGREGATE_TARGET的引數說明
- 關於AIX上VMO調整引數的若干說明AI
- mysql relay log相關引數說明MySql
- 【ASM學習】關於 ASM 的隱含引數ASM
- TOP引數說明
- mysqldump引數說明MySql
- mysqldump 引數說明MySql
- MySQL引數說明MySql
- 11g AMM和/dev/shmdev
- statspack 安裝以及相關引數說明
- 關於 navigator.mediaDevices.getUserMedia 的輸入引數說明dev
- Elasticsearch 引數配置說明Elasticsearch
- kafka 引數配置說明Kafka
- redis 3.0 引數說明Redis
- golden gate 引數說明Go
- oracle引數說明(zt)Oracle
- MySQL 5.7 自增欄位相關引數說明MySql
- Oracle sessions,processes 和 transactions 引數 關係 說明OracleSession
- Kafka 配置引數彙總及相關說明Kafka
- 關於MySQL中的8個 character_set 變數說明MySql變數
- 雙下劃線開頭的記憶體引數對Oracle AMM行為的影響記憶體Oracle
- Oracle Table建立引數說明Oracle
- Oracle Table 建立引數 說明Oracle
- mysqldump引數詳細說明MySql
- mosquitto命令引數說明UI
- Oracle Sequence Cache 引數說明Oracle
- 【MYSQL】MHA引數列表說明MySql
- Mysql JDBC Url引數說明MySqlJDBC