Oracle 集群(RAC)的启动与关闭(二)

2014-11-24 18:18:39 · 作者: · 浏览: 1
=UNKNOWN on rac1



NAME=ora.rac1.gsd


TYPE=application


TARGET=ONLINE


STATE=UNKNOWN on rac1



NAME=ora.rac2.LISTENER_RAC2.lsnr


TYPE=application


TARGET=ONLINE


STATE=UNKNOWN on rac2


... ...


2. 对于offline 的进程,我们可以直接手动的启动它


[root@rac2 bin]# ./crs_start ora.rac.orcl.rac1.srv


Attempting to start `ora.rac.orcl.rac1.srv` on member `rac1`


Start of `ora.rac.orcl.rac1.srv` on member `rac1` succeeded.、


3. 对于UNKNOWN 的进程,我们可以先stop 它, 在start。


[root@rac2 bin]# ./crs_stop ora.rac2.gsd


Attempting to stop `ora.rac2.gsd` on member `rac2`


Stop of `ora.rac2.gsd` on member `rac2` succeeded.


[root@rac2 bin]# ./crs_start ora.rac2.gsd


Attempting to start `ora.rac2.gsd` on member `rac2`


Start of `ora.rac2.gsd` on member `rac2` succeeded.


4. 如果crs_stop不能结束,crs_start 不能启动的进程,我们有2中方法来解决:


4.1)是用crs_stop -f 参数把crs中状态是UNKNOWN的服务关掉,然后再用crs_start -f (加一个-f的参数)启动所有的服务就可以。要分别在两个节点上执行;


[oracle@rac2 ~]$ crs_start -f ora.ora9i.ora9i2.inst


Attempting to start `ora.ora9i.ora9i2.inst` on member `rac2`


Start of `ora.ora9i.ora9i2.inst` on member `rac2` succeeded.


[oracle@rac2 ~]$ crs_stop -f ora.ora9i.db


Attempting to stop `ora.ora9i.db` on member `rac2`


Stop of `ora.ora9i.db` on member `rac2` succeeded.


4.2)转换到root用户下用/etc/init.d/init.crs stop先禁用crs,然后再用/etc/init.d/init.crs start去启用crs,启用crs后会自动启动crs的一系列服务,注意此种方法需要在两台节点上都执行;


5. 可以用命令一次启动和关闭相关进程


[root@rac2 bin]# ./crs_stop -all


[root@rac2 bin]# ./crs_start -all


三、 手动启动RAC


一般情况下每次节点启动的时候,所有服务都会自动启动,如果需要关闭或者启动某个节点,如下所示


停止RAC:


emctl stop dbconsole


srvctl stop instance -d raw -i raw1


srvctl stop instance -d raw -i raw2


srvctl stop asm -n raw1


srvctl stop asm -n raw2


srvctl stop nodeapps -n raw1


srvctl stop nodeapps -n raw2


启动RAC:


和上面的步骤正好相反即


srvctl start nodeapps -n raw1


srvctl start nodeapps -n raw2


srvctl start asm -n raw1


srvctl start asm -n raw2


srvctl start instance -d raw -i raw2


srvctl start instance -d orcl -i raw1


emctl start dbconsole


使用 SRVCTL 启动/停止所有实例及其启用的服务。


srvctl start database -d orcl


srvctl stop database -d orcl


注:CRS Resource 包括GSD(Global Serveice Daemon),ONS(Oracle Notification Service),VIP, Database, Instance 和 Service. 这些资源被分成2类:


GSD,ONS,VIP 和 Listener 属于Noteapps类


Database,Instance 和Service 属于 Database-Related Resource 类。


四、在启动的过程中最好检测着crs、ASM和数据库的日志:


crs日志:


[oracle@rac1 ~]$ tail -f /u01/app/oracle/product/10.2.0/crs_1/log/rac1/alertrac1.log


[oracle@rac2 ~]$ tail -f /u01/app/oracle/product/10.2.0/crs_1/log/rac2/alertrac2.log


ASM日志:


[oracle@rac1 ~]$ tail -f /u01/app/oracle/admin/+ASM/bdump/alert_+ASM1.log


[oracle@rac2 ~]$ tail -f /u01/app/oracle/admin/+ASM/bdump/alert_+ASM2.log


数据库日志:


[oracle@rac1 ~]$ tail -f /u01/app/oracle/admin/ora9i/bdump/alert_ora9i1.log


[oracle@rac2 ~]$ tail -f /u01/app/oracle/admin/ora9i/bdump/alert_ora9i2.log