ORACLE AUTOMATIC STORAGE MANAGEMENT翻译-第二章(1)

第二章  ASM INSTANCE
ASM实例类型:
10g以后ORACLE instance 类型增加了一种ASM类型,参数INSTANCE_TYPE=ASM进行设置。

ASM实例启动命令:
startup nomount启动实例和后台进程,但没有挂载磁盘组
mount以后,实例会启动参数文件中ASM_DISKGROUPS指定的磁盘组,如果参数为空就会触发ORA-15110报错信息。
ASM 11G以后为mount命令引入了restricted启动参数,以排他方式启动ASM_DISKGROUPS指定的磁盘组,
限制RDBMS访问磁盘组,restricted命令在维护磁盘组或rebalance时特别有用。
注意:resticted可以以磁盘组级别挂载磁盘组,而不是实例级别,好处是提供了细粒度的限制。
如:
alter diskgroup data mount restricted;
select name,state from v$asm_diskgroup;
NAME                               STATE
----------------------            -------------------
DATA                                RESTRICTED


后台进程:
ASM后台进程都是以asm_开头的,就像rdbms是以ora_开头一样。
11g asm 后台进程介绍
ARBx These are the slave processes that do the rebalance activity (where x
is a number).
CKPTThe CKPTprocess manages cross-instance calls (in RAC).
DBWR This process manages the SGA buffer cache in the ASM instance.
DBW Rwrites out dirty buffers (changed metadata buffers) from the ASM
buffer cache to disk.
GMON This process is responsible for managing the disk-level activities
(drop/offline) and advancing diskgroup compatibility.
 KATE The Konductor or ASM Temporary Errands (KATE) process is used
to process disks online. This process runs in the ASM instance and is started
only when an offlined disk is onlined.
LGWRThe LGWRprocess maintains the ASM Active Change Directory
(ACD) buffers from the ASM instance and flushes ACD change records to
disk.
MARK The Mark Allocation Unit (AU) for Resync Koordinator (MARK)
process coordinates the updates to the Staleness Registry when the disks go
offline. This process runs in the RDBMS instance and is started only when
disks go offline in ASM redundancy diskgroups.
PINGThe PINGprocess measures network latency and has the same
functionality in RDBMS instances.
PMON This manages processes and process death in the ASM instance.
PSP0 This process spawner process is responsible for creating and
managing other Oracle processes.
PZ9x These processes are parallel slave processes (where xis a number),
used in fetching data on behalf of GV$queries.
RBAL This opens all device files as part of discovery and coordinates the
rebalance activity.
SMON This process is the system monitor and also acts as a liaison to the
Cluster Synchronization Services (CSS) process (in Oracle Clusterware) for
node monitoring.
VKTM This process is used to maintain the fast timer and has the same
functionality in the RDBMS instances.


ASM SGA和参数设置
ASM启动只需要很少的参数,参数文件可以是pfile也可以是spfile
*.instance_type=asm
*.asm_diskgroups=DATA,FLASH
*.processes=100
**** Note that asm_diskstring is site-specific and platform specific
*.asm_diskstring=‘/dev/rdsk/c3t19d*s4‘             --注意如果手动添加asm 磁盘组别忘记更新这个参数不然重启后缺少的盘组无法自动带起来
*.remote_login_passwordfile=‘SHARED‘
******
**For 11g use only the diagnostics directory.
*.diagnostic_dest=‘/opt/app/admin/+ASM/diag‘            --11g的diagnostic_dest取代了10g的bdump,cdump,udump显然简介多了
*******
**For 10g use the standard dump locations
*.background_dump_dest=‘/opt/app/admin/+ASM/bdump‘
*.core_dump_dest=‘/opt/app/admin/+ASM/cdump‘
*.user_dump_dest=‘/opt/app/admin/+ASM/udump‘
*******

BACKGROUND_DUMP_DEST,CORE_DUMP_DEST, and USER_DUMP_DEST这三个参数在11g中已经弃用了,ASM实例中不要配置这三个参数了。如果diagnostic_dest没有配置,默认位置为$ORACLE_BASE/diag
例如下面的目录结构会被创建:
$ORACLE_BASE/diag/<INSTANCE type>/<DB_UNIQUE_NAME>/<ORACLE_SID>
SQL> SELECT NAME, VALUE FROM V$DIAG_INFO
NAME VALUE
---------- ---------------
Diag Enabled TRUE
ADR Base /u01/app/oracle
ADR Home /u01/app/oracle /diag/asm/+asm/+ASM1
Diag Trace /u01/app/oracle/diag/asm/+asm/+ASM1/trace
Diag Alert /u01/app/oracle/diag/asm/+asm/+ASM1/alert
Diag Incident /u01/app/oracle /diag/asm/+asm/+ASM1/incident
Diag Cdump /u01/app/oracle/diag/asm/+asm/+ASM1/cdump
Health Monitor /u01/app/oracle/diag/asm/+asm/+ASM1/hm
Default Trace File 
11g中所有的诊断信息都可以使用adrci来管理。

最佳实践ASM参数


11g中ASM可以使用AMM特性在init.ora中配置MEMORY_TARGET和MEMORY_MAX_TARGET,与rdbms一样这两个参数可以实现内存自动管理。
然而,由于asm内存使用率非常平稳,ORACLE最佳实践是不设置这两个参数,默认使用256M,这个配置符合大多数的环境。
译者注:在生产环境中ASM使用默认参数可能会引发ASM实例级别的4031错误,根据MOS文档建议内存至少分配1G,这与最佳实践又是矛盾的,
可见ORACLE的最佳实践不一定靠谱,但可作为参考了。

如果有需要手工调整内存,只需要修改MEMORY_TARGET就可以了
alter system set memeory_target=300M;

当然如果你要禁用AMM可以把MEMROY_target设置为0,但是shared_pool,large_pool,db_cache_size这三个参数就需要配置。
DB_CACHE_SIZE This value determines the size of the buffer cache, which
is used to cache ASM metadata blocks. The DB_CACHE_SIZEis based on
a metadata block size of 4K. This block size is the buffer page size of the
cached metadata and has no bearing or impact on the database block size.
db_cache_size用于缓存metadata block,它是基于metadata block size 及4K,
不受db block size的影响。
SHARED_POOL This is used for standard memory usage (control structures
and so on) to manage the instance. The value is also used to store open file
extent maps.
shared_pool用于存储管理实例用的数据结构,如果控制结构等,同时也存储
extent maps等。
LARGE_POOLThe LARGE_POOLvalue is used for large page allocations.
PROCESSES This ASM init.ora parameter limits the number of processes
that can start in ASM instance. You may need to modify this parameter from
its default setting for Oracle Database 10gASM instances. The following
recommendation pertains to Oracle Database 10.1.0.3 through 10.2.xand
will work for RAC and non-RAC systems:
Processes = 25 + (10 + [max number of concurrent database file
creations, and file extend operations possible
])*n
PROCESSES配置可以基于如上公式计算。
公式说明:
where n is the number of RDBMS instance (ASM clients) connecting to ASM
The source of concurrent file creations can be any of the following:
Several concurrent CREATE TABLESPACEcommands
Creation of a partitioned table with several tablespace creations
RMAN backup channels
Concurrent archive log file creations
max number of concurrent database file creations:
可以是create tablespace并发数,创建分区表涉及的表空间数,rman备份分配的通道数,并发创建归档数


10g中,ASM没有AMM特性,一般配置如下:
SHARED_POOL_SIZE: 128MB
LARGE_POOL: 12MB
DB_CACHE_SIZE: 64MB

我们可以像管理数据库一样使用SQLPLUS管理ASM
如:
SQL>SHOW SGA
但是要注意大多数rdbms的参数不适用与ASM实例,如controlfile_files
当你尝试设置这个参数时就会收到报错
ORA-15021: parameter "control_files" is not valid in asm instance

注意参数文件参数:
SQL> SHOW PARAMETER CONTROL
NAME TYPE VALUE
------------------------------ ----------- ------------------------------control_files string /opt/oracle/app/product/10gr2/
dbs/cntrl+ASM.dbf

但是到操作系统中你却找不到这个参数,这个参数时内部默认值对于
ASM是没有实际意义的

两个存储在$ORACLE_HOME/dbs下的文件:
ab_<ASM SID>.dat 这个文件在asm实力启动时生成,同时数据库实例连接ASM实例
时获取环境信息,如果这个文件被删除了RDBMS就无法和ASM实例通讯了。

hc_<SID>.dat EM使用这个文件进行实例的监控检查监控。如果这个文件被移除,健康
检查结果就会是错误的。

ASM .dat 文件不会对ASM造成性能方面的影响,文件中存放的只是连接信息,需要的时候
与ASM实例通信。
注意,有时可能需要设置隐含参数,来协助问题诊断,如:
诊断参数_disable_instance_parms_check(这个参数不需要再11g)

ORACLE AUTOMATIC STORAGE MANAGEMENT翻译-第二章(1),布布扣,bubuko.com

ORACLE AUTOMATIC STORAGE MANAGEMENT翻译-第二章(1)

上一篇:“数据湖”:概念、特征、架构与案例


下一篇:Mysql 基本操作命令