参考文档:
http://blog.sina.com.cn/s/blog_3d2d79aa0100hp8s.html
http://book.51cto.com/art/201208/353835.htm
Grid的概念。
Grid中文意思为网格,从oracle10g、11g后面的g便是grid的代称。
在解释grid之前首先说下集群技术的概念。集群分为高可用集群和负载均衡集群,下面我将不区分这两个概念,以防迷糊,我下面说的集群直接是指负载均衡集群。所谓集群就是通过配置搭建一个这样的环境,环境中有两个或两个以上的服务器(节点),这些节点上分别运行着同一个服务,对于服务请求,这些节点将均衡请求负载,而当一个节点down掉之后,原本在这个节点处理的请求会自动的转移到其他可用的节点上面。而对于用户而言,整个环境内部是透明的,就如同一台服务器一样。这就是集群的概念。那么集群是怎么实现的呢,当然,通过软件,而实现这种技术功能的软件就有很多种了,比如oracle自己的clusterware,微软系统自带的MSCS,以及很多第三方的集群软件。
而grid就跟集群一样,是个技术,可以叫grid技术。它也是通过某种手段搭建一个环境,这个环境能够满足对用户透明,而且服务在环境里的每个节点无处不在,在环境内部,节点可以自适应、自管理。这样的环境就可以叫grid环境了。那么grid如何实现呢,目前而言就是RAC,所以很多人就直接把grid跟RAC划了等号,这是一种以偏概全的理解。RAC是实现grid的一套方案而已。
在oracle 10g中,grid方案的实现所需的软件包含在不同的地方,主要有clusterware集群软件,database中的RAC实现,以及database中dbca建库中的ASM的实现等。到了oracle 11g后,oracle公司讲实现grid的这些个组件整合到了一起,构成了Grid Infrastructure(GI),这样就像clusterware对于集群一样,GI就是用来实现grid的软件。这时候要注意,GI不等于grid。
GI主要包括了两个主要部分,即clusterware和ASM,当然还有一些其他组件,比如grid control、data pump等。从11gR2开始,如果用户想使用clusterware或者ASM的话,则必须下载安装这个软件。
说下ASM的安装。
配置ASM的前提要求
Asm支持的磁盘类型有好几种,如raw裸磁盘、LUNs、LVM等,具体参考官方文档:http://docs.oracle.com/cd/B28359_01/server.111/b31107/asmprepare.htm#OSTMG11000
我实验中用的都是raw裸磁盘,所以在配置ASM之前需要首先把添加的磁盘配置成raw。具体配置方法可参考文档:
ASM的运行需要CSS进程的支持,很多时候,我们发现ASM在单节点环境下无法配置,这并不是ASM必须运行在RAC或者one-node-RAC上的缘故,而仅仅是因为缺少CSS进程。
在11gR2之前,CSS进程的添加是使用命令
localconfig add(delete)来实现的。
在11gR2之后,grid中没有了localconfig这个命令。取而代之的是ohas(oracle high avaliability service)。在11gR2之后通过ohasd这个进程来管理CSSD这个组件。
所以,在单实例环境中使用ASM的话,需要在安装grid,在安装选项中选择“只安装软件”,之后再安装完成后需要root身份执行root.sh脚本。在执行root.sh脚本后需要按最后的提示运行
<GridHome>/perl/bin/per -I<GridHome>/perl/lib -I<GridHome>/crs/install <GridHome>/crs/install/roothas.pl。
如果一切正常则启动ohasd成功,就可以配置ASM了。
若在第一次配置has的时候出错,则可以按照提示使用命令
配置,之后重新配置。
若出现Oracle Restart stack is not active on this node的故障,则可以使用命令
。
然后再运行 /u01/app/11.2.0/grid/crs/install/roothas.pl重新启动ohas。
这样就可以直接创建ASM了。
配置ASM的软件的位置
在11gR2之前,配置ASM的功能是内含在dbca建库命令中的,即要配置ASM需要安装完软件后,运行dbca,在选择数据文件存储位置的时候选择ASM项,然后配置ASM的一些参数,完成ASM磁盘组的创建。
在11gR2之后,配置ASM从建库的过程中独立出来,使用asmca来实现。
准备工作完成之后,就是具体的安装了。
ASM的配置时间
Oracle的安装顺序大致为:调整系统环境参数--------安装oracle数据库软件-----配置asm(若需要)----安装数据库(dbca)。从中可以看出ASM的配置时间,建库之前。
ASM的配置过程为
准备裸磁盘------建立CSS进程--------标记磁盘--------创建ASM。
这些过程在windows下跟linux下都是一样的,只是在linux下不需要标记磁盘这个步骤,而在windows下是靠asmtoolg这个程序来实现的。
ASM配置磁盘过程中会遇到冗余这个选项,一共有外部、正常、高三个选项。外部冗余只需要一块磁盘,正常冗余至少需要两块磁盘,高冗余至少需要三块磁盘,选择哪种方式视情况而定。