二、Oracle 集群软件资源的手工注册 1. 注销crs本身自带的ons、gsd、vip资源 root@rac01 # crs_stop -all Attempting to stop `ora.rac01.gsd` on member `rac01` Attempting to stop `ora.rac01.ons` on member `rac01` Attempting to stop `ora.rac02.gsd` on member `rac02` Attempting to stop `ora.rac02.ons` on member `rac02` Stop of `ora.rac02.gsd` on member `rac02` succeeded. Stop of `ora.rac02.ons` on member `rac02` succeeded. Stop of `ora.rac01.gsd` on member `rac01` succeeded. Stop of `ora.rac01.ons` on member `rac01` succeeded. Attempting to stop `ora.rac01.vip` on member `rac01` Attempting to stop `ora.rac02.vip` on member `rac02` Stop of `ora.rac02.vip` on member `rac02` succeeded. Stop of `ora.rac01.vip` on member `rac01` succeeded. root@rac01 # crs_unregister ora.rac01.gsd root@rac01 # crs_unregister ora.rac01.ons root@rac01 # crs_unregister ora.rac01.vip root@rac01 # crs_unregister ora.rac02.vip root@rac01 # crs_unregister ora.rac02.ons root@rac01 # crs_unregister ora.rac02.gsd root@rac01 # crs_stat -t CRS-0202: No resources are registered. 2.创建虚拟IP资源: root@rac01 # crs_profile -create havip -t application -a /oracle/crs/bin/usrvip \ -o oi=e1000g0,ov=10.198.94.139,on=255.255.248.0 root@rac01 # crs_register havip root@rac01 # crs_setperm havip -o root root@rac01 # crs_setperm havip -u user:oracle:r-x root@rac01 # crs_stat -t -v Name Type R/RA F/FT Target State Host ---------------------------------------------------------------------- ha_vip application 0/1 0/0 OFFLINE OFFLINE root@rac01 # crs_start havip root@rac01 # crs_stat -t -v Name Type R/RA F/FT Target State Host ---------------------------------------------------------------------- havip application 0/1 0/0 ONLINE ONLINE rac01 3.准备控制其他资源启动、关闭、检查的脚本文件dg.sh/fs.sh/db.sh/lsnr.sh 这四个脚本文件内容参考“五-3/4/5/6”部分 对crs_profile命令中的选项和参数做简单说明: (1) 选项-r定义了该资源所依赖的资源,在下面的例子中,资源oradata_mount启动时依赖于 disk_group先 启动,需要停止disk_group的时候必须先停止资源oradata_mount, 资源orcl_db的启动则同时依赖于oradata_mount/disk_group/havip/listener; (2) 参数-o 包括:ci的意思是crs对资源状态的监测间隔(check interval),单位为秒; ra : crs重启资源的尝试次数,RESTART_ATTEMPTS,次数到达以后将重新分配; fi : 资源状态出现错误以后,crs的尝试间隔,FAILURE_INTERVAL,单位是秒; ft : 资源状态出现错误以后,crs的尝试次数,FAILURE_THRESHOLD; 这些参数可以使用默认值,分别是60秒/1/0秒/0。 (3) 参数-a 是指ACTION_SCRIPT,参数值为资源启动、关闭、监测的脚本,脚本固定的三个参数为 start/stop/check; 管理数据库监听的部分: 修改$ORACLE_HOME/network/admin/listener.ora文件, 将其中(HOST = rac01 )部分修改成(HOST = 10.198.94.139 ) (虚拟IP地址) crs_profile -create listener -t application -a /oracle/crs/crs/public/lsnr.sh -r havip -o \ ci=180,ra=6,ft=2,fi=12 crs_register listener crs_setperm listener -o root crs_setperm listener -u user:oracle:r-x crs_start listener 管理磁盘组和逻辑卷的部分: crs_profile -create disk_group -t application -a /oracle/crs/crs/public/dg.sh -r havip -o \ ci=180,ra=6,ft=2,fi=12 crs_register disk_group crs_setperm disk_group -o root crs_setperm disk_group -u user:oracle:r-x 注:本身磁盘组的启动并不依赖于虚拟IP的启动,这里之所以设置两者的依赖关系, 是为了防止虚拟IP在一个节点启动,而磁盘组在另外一个节点启动,造成资源不一致的情况出现。 管理文件系统的部分: crs_profile -create oradata_mount -t application -a /oracle/crs/crs/public/fs.sh -r disk_group -o \ ci=180,ra=6,ft=2,fi=12 crs_register oradata_mount crs_setperm oradata_mount -o root crs_setperm oradata_mount -u user:oracle:r-x 管理数据库实例的部分: crs_profile -create orcl_db -t application -a /oracle/crs/crs/public/db.sh -r \ "oradata_mount listener" -o ci=180,ra=6,ft=2,fi=12 crs_register orcl_db crs_setperm orcl_db -o root crs_setperm orcl_db -u user:oracle:r-x crs_start orcl_db 4.确保脚本具有执行属性,并把public 和profile的内容拷到第二个节点上。 # chmod +x /oracle/crs/crs/public/* # rcp -r -p /oracle/crs/crs/public/* rac02:/oracle/crs/crs/public/ 5.启动所有的资源 下面可以看到,在crs启动和关闭资源的过程中,其顺序是按照前面定义的资源依赖关系进行的: root@rac01 # crs_stop -all Attempting to stop `orcl_db` on member `rac01` Stop of `orcl_db` on member `rac01` succeeded. Attempting to stop `oradata_mount` on member `rac01` Stop of `oradata_mount` on member `rac01` succeeded. Attempting to stop `disk_group` on member `rac01` Stop of `disk_group` on member `rac01` succeeded. Attempting to stop `listener` on member `rac01` Stop of `listener` on member `rac01` succeeded. Attempting to stop `havip` on member `rac01` Stop of `havip` on member `rac01` succeeded. root@rac01 # crs_start -all Attempting to start `havip` on member `rac01` Start of `havip` on member `rac01` succeeded. Attempting to start `listener` on member `rac01` Start of `listener` on member `rac01` succeeded. Attempting to start `disk_group` on member `rac01` Start of `disk_group` on member `rac01` succeeded. Attempting to start `oradata_mount` on member `rac01` Start of `oradata_mount` on member `rac01` succeeded. Attempting to start `orcl_db` on member `rac01` Start of `orcl_db` on member `rac01` succeeded. 检查资源状态是否正常: oracle@rac01 $ crs_stat -t Name Type Target State Host ------------------------------------------------------------ disk_group application ONLINE ONLINE rac01 havip application ONLINE ONLINE rac01 listener application ONLINE ONLINE rac01 oradata_mount application ONLINE ONLINE rac01 orcl_db application ONLINE ONLINE rac01 |
|