ASM单点故障
经常由用户询问如何避免ASM单点故障的最佳实践。与其他文件系统或卷管理器一样
ASM实例失效会导致运行在上面的RDBMS实例不可用。然而OS 文件系统或卷管理器失效
一般会伴随操作系统崩溃,而asm重启不需要重启服务器。
解决ASM单点故障的最好的办法是把ASM运行在RAC环境通过集群实现高可用。ASM可以
继续运行在其他节点如果一个节点重启或rdbms重启。ASM失效是软崩溃恢复速度要比传统
的文件系统或卷管理器要快。
ASM安装
如果服务器或者一个节点上一个ASM实例只管理一个RDBMS,建议ASM和RDBMS共用一个
ORACLE_HOME就足够了。然而,对于一个ASM管理几个RDBMS实例的存储时建议ASM安装
在独立的ORACLE_HOME(ASM_HOME)里。
译者注:从ORACLE的发展来看即使是ASM只对应一套RDBMS也建议ORACLE_HOME分开,
11g把ASM独立到gi中,所以建议还是分开的好,维护方便,我们生产环境中我就是独立开
存放的10205 ASM上跑10204 RDBMS。这样就可以使用kfed的repair功能了。
|
注意:在RAC环境中,如果执行添加节点操作同时实施了独立ASM_HOME,addnode操作同
样需要在ASM_HOME上运行。
从 Oracle Database 10gRelease 2开始,Oracle Universal Installer(OUI-DBCA)和DBCA已经
被增强,可以在独立的ORACLE_HOME中创建创建ASM实例OUI-DBCA可以安装配置如下功能:
1.可以配置数据库使用ASM管理存储
2.可以之创建ASM实例,不创建数据库
3.ASM所在主机上已经运行了数据库,DBA可以使用EM迁移工具把数据库前移到ASM上
初始化ASM实例 ORACLE 10G
启动$ORACLE_HOME/bin/dbca可以配置ASM实例。
译者注:配置ASM实例过程简单这里不详细说明了。见原书P50
升级ASM软件
ASM实例从10.x升级至11.x
升级可以使用两种方法即手动升级和DBUA升级。不管使用哪种方法升级11g的ORACLE_HOME
都要创建。注意升级只是简单的软件升级,磁盘组升级需要使用所有11g的特性,磁盘组升级可以随
后处理。
手工升级
1.使用ASM ORACLE_HOME目录更新oratab
2.复制init.ora并作出适当的修改,像diag和dump的位置。在RAC环境中需要修改集群中ASM HOME配置,可以使用srvctl命令来完成:
srvctl modify asm -n racnode1 -i +ASM1 -o \ /opt/oracle/app/product/11.1/asm -p init+ASM1.ora
需要在所有参与asm的集群节点上执行这条命令。
3.实例启动以后,为SYSUSER赋予SYSASM权限
4.对于WINDOWS系统需要使用ORADIM重建Windows服务。
译者注:如上步骤是ASM升级到11g的步骤,10g升级其实非常简单了,升级软件后就可以了。
DBUA升级
ASM升级到11g可以使用DBUA,DBUA执行下面的步骤:
1.在新的ASM_HOME中复制密码文件并重建init.ora/spfile
2.Unix/Linux上修改oratab或windows上使用ORADIM重建服务
3.为SYSUSER赋予SYSASM权限
从11gORACLE_HOME中启动DBUA。
注意:如果安装ASM是分离了ORACLE_HOME(ASM_HOME),需要到ASM_HOME/bin/下启动DBUA,而不是
数据库的ORACLE_HOME
译者注:dbua升级图形步骤参考P56
Patching ASM
10g asm不支持‘rolling update‘,‘rolling upgrade patchs特性只支持ORACLE集群件和dataguard段。
在ORACLE DATABASE 10g中,如果要安装补丁集或 “nonrolling upgrade safe” patches,所有集群中
的ASM实例都必须停下来,另外,如果你使用分离的ASM_HOME,ASM应该相应的进行打补丁与RDBMS
HOME一样。这个也一样包括CPUs( critical patch updates)。从11g开始支持asm滚动升级,这节就描述
如何进行ASM滚定升级。
ORACLE AUTOMATIC STORAGE MANAGEMENT翻译-第二章ASM Instance(2),布布扣,bubuko.com