一. 检查共享设备

一般情况下, 存放OCR 和 Voting Disk 的OCFS2 或者raw 都是自动启动的。 如果他们没有启动,RAC 肯定是启动不了的。

1.1 如果使用ocfs2的,检查ocfs2 状态

/etc/init.d/o2cb status

在挂载之前,/etc/init.d/o2cb status 显示为Checking O2CB heartbeat: Not active。

在格式化和挂载文件系统之前,应验证 O2CB 在两个节点上均联机;O2CB 心跳当前没有

活动,因为文件系统还没有挂载 。挂载之后就会变成active。

mount -t ocfs2 -o datavolume /dev/sdb1 /u02/oradata/orcl

1,2. 如果使用raw device.

[root@raw1 ~]# cd /dev/raw/

[root@raw1 raw]# ls

raw1  raw2

或者:

[root@raw1 init.d]# /etc/init.d/rawdevices status

/dev/raw/raw1:  bound to major 8, minor 17

/dev/raw/raw2:  bound to major 8, minor 18

1.3. 检查ASM

/etc/init.d/oracleasm listdisks

二. 自动启动RAC并检查相关进程

RAC 在启动的时候crs 等进程都是自动启动的:

[root@rac1 init.d]# ls -l /etc/init.d/init.*

-r-xr-xr-x  1 root root  1951 Feb 26 22:38 /etc/init.d/init.crs

-r-xr-xr-x  1 root root  4714 Feb 26 22:38 /etc/init.d/init.crsd

-r-xr-xr-x  1 root root  35394 Feb 26 22:38 /etc/init.d/init.cssd

-r-xr-xr-x  1 root root  3190 Feb 26 22:38 /etc/init.d/init.evmd

我们要查看一下crs 的状态:

正常情况下, 进程都是online的:

[root@raw1 bin]# ./crs_stat -t

Name           Type           Target    State     Host

------------------------------------------------------------

ora.raw.db      application    ONLINE    ONLINE    raw1

ora.raw.raw.cs   application    ONLINE    ONLINE    raw1

ora....aw1.srv   application    ONLINE    ONLINE    raw1

ora....aw2.srv   application    ONLINE    ONLINE    raw2

ora....w1.inst    application    ONLINE    ONLINE    raw1

ora....w2.inst    application    ONLINE    ONLINE    raw2

ora....SM1.asm  application    ONLINE    ONLINE    raw1

ora....W1.lsnr   application    ONLINE    ONLINE    raw1

ora.raw1.gsd    application    ONLINE    ONLINE    raw1

ora.raw1.ons    application    ONLINE    ONLINE    raw1

ora.raw1.vip    application    ONLINE    ONLINE    raw1

ora....SM2.asm  application    ONLINE    ONLINE    raw2

ora....W2.lsnr   application    ONLINE    ONLINE    raw2

ora.raw2.gsd   application    ONLINE    ONLINE    raw2

ora.raw2.ons   application    ONLINE    ONLINE    raw2

ora.raw2.vip   application    ONLINE    ONLINE    raw2

如果出现以下情况:

[root@rac2 bin]# ./crs_stat -t

Name           Type           Target    State     Host

------------------------------------------------------------

ora.rac.db     application    ONLINE    UNKNOWN   rac1

ora....orcl.cs   application    ONLINE    UNKNOWN   rac1

ora....ac1.srv   application    OFFLINE   OFFLINE

ora....ac2.srv   application    OFFLINE   OFFLINE

ora....c1.inst   application    ONLINE    UNKNOWN   rac1

ora....c2.inst   application    ONLINE    UNKNOWN   rac2

ora....SM1.asm application    ONLINE    ONLINE    rac1

ora....C1.lsnr   application    ONLINE    UNKNOWN   rac1

ora.rac1.gsd   application    ONLINE    UNKNOWN   rac1

ora.rac1.ons   application    ONLINE    ONLINE    rac1

ora.rac1.vip   application    ONLINE    ONLINE    rac1

ora....SM2.asm  application    ONLINE    ONLINE    rac2

ora....C2.lsnr   application    ONLINE    UNKNOWN   rac2

ora.rac2.gsd   application    ONLINE    UNKNOWN   rac2

ora.rac2.ons   application    ONLINE    ONLINE    rac2

ora.rac2.vip   application    ONLINE    ONLINE    rac2

解决方法: 

1. 用crs_stat 查看进程全部信息:

[root@rac2 bin]# ./crs_stat

NAME=ora.rac.db

TYPE=application

TARGET=ONLINE

STATE=ONLINE on rac2

NAME=ora.rac1.LISTENER_RAC1.lsnr

TYPE=application

TARGET=ONLINE

STATE=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 类。

有关Oracle RAC 的概念,请参考我的blog:

RAC 的一些概念性和原理性的知识

http://blog.csdn.net/tianlesoftware/archive/2010/02/27/5331067.aspx

示例:

[root@raw1 bin]# ./crs_stat -t

Name           Type           Target    State     Host

------------------------------------------------------------

ora.raw.db     application    ONLINE    ONLINE    raw1

ora.raw.raw.cs  application    ONLINE    ONLINE    raw1

ora....aw1.srv   application    ONLINE    ONLINE    raw1

ora....aw2.srv   application    ONLINE    ONLINE    raw2

ora....w1.inst   application    ONLINE    ONLINE    raw1

ora....w2.inst   application    ONLINE    ONLINE    raw2

ora....SM1.asm  application    ONLINE    ONLINE    raw1

ora....W1.lsnr   application    ONLINE    ONLINE    raw1

ora.raw1.gsd   application    ONLINE    ONLINE    raw1

ora.raw1.ons   application    ONLINE    ONLINE    raw1

ora.raw1.vip   application    ONLINE    ONLINE    raw1

ora....SM2.asm  application    ONLINE    ONLINE    raw2

ora....W2.lsnr  application    ONLINE    ONLINE    raw2

ora.raw2.gsd   application    ONLINE    ONLINE    raw2

ora.raw2.ons   application    ONLINE    ONLINE    raw2

ora.raw2.vip   application    ONLINE    ONLINE    raw2

[oracle@raw1 ~]$ emctl stop dbconsole

TZ set to PRC

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

http://raw1:1158/em/console/aboutApplication

Stopping Oracle Enterprise Manager 10g Database Control ...

...  Stopped.

[oracle@raw1 ~]$ srvctl stop instance -d raw -i raw1

[oracle@raw1 ~]$ srvctl stop instance -d raw -i raw2

[oracle@raw1 ~]$ srvctl stop asm -n raw1

[oracle@raw1 ~]$ srvctl stop asm -n raw2

[oracle@raw1 ~]$ srvctl stop nodeapps -n raw1

[oracle@raw1 ~]$ srvctl stop nodeapps -n raw2

[oracle@raw1 bin]$ crs_stat -t

Name           Type           Target    State     Host

------------------------------------------------------------

ora.raw.db     application    OFFLINE   OFFLINE

Ora.raw.raw.cs  application    OFFLINE   OFFLINE

ora....aw1.srv  application    OFFLINE   OFFLINE

ora....aw2.srv  application    OFFLINE   OFFLINE

ora....w1.inst   application    OFFLINE   OFFLINE

ora....w2.inst   application    OFFLINE   OFFLINE

ora....SM1.asm  application    OFFLINE   OFFLINE

ora....W1.lsnr   application    OFFLINE   OFFLINE

ora.raw1.gsd   application    OFFLINE   OFFLINE

ora.raw1.ons   application    OFFLINE   OFFLINE

ora.raw1.vip   application    OFFLINE   OFFLINE

ora....SM2.asm  application    OFFLINE   OFFLINE

ora....W2.lsnr   application    OFFLINE   OFFLINE

ora.raw2.gsd   application    OFFLINE   OFFLINE

ora.raw2.ons   application    OFFLINE   OFFLINE

ora.raw2.vip   application    OFFLINE   OFFLINE

 在启动的过程中最好检测着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

注:tail -f命令可用于监视另一个进程正在写入的文件的增长。

Oracle 10gR2 RAC 启动与关闭的更多相关文章

  1. Oracle 10g RAC启动与关闭命令

    一. 检查共享设备 一般情况下, 存放OCR 和 Voting Disk 的OCFS2 或者raw 都是自动启动的. 如果他们没有启动,RAC 肯定是启动不了的. 1.1 如果使用ocfs2的,检查o ...

  2. Oracle 10g RAC 启动与关闭

    一. 检查共享设备 一般情况下,存放OCR和Voting Disk的OCFS2 或者raw 都是自动启动的. 如果他们没有启动,RAC 肯定是启动不了. 1.1 如果使用ocfs2的 检查ocfs2 ...

  3. Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(3)

    Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(3) 一.配置共享存储 [oracle@aix203 ~]$lsdev -c disk hdisk0 Available ...

  4. <Oracle Database>数据库启动与关闭

    启动和关闭Oracle数据库 要启动和关闭数据库,必须要以具有Oracle 管理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆.一般我们常用INTERNAL用户来启动和关闭数据库(INT ...

  5. Oracle数据库的启动和关闭

    深刻理解Oracle数据库的启动和关闭 Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能. 一.启动和关闭Oracle数据库 对 ...

  6. Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(4)

    Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(4) 一.安装CRS补丁 在安装CRS之前,须要安装补丁p6718715_10203_AIX64-5L,否则在安装时会出现 ...

  7. 深刻理解Oracle数据库的启动和关闭 .

    Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能. 一.启动和关闭Oracle数据库 对于大多数Oracle DBA来说,启动和 ...

  8. Oracle数据库的启动和关闭实例

    在开始了解oracle数据库的命令之前,先来看一个东西:SQL*PLUS(sqlplus) Oracle的sql*plus是与oracle进行交互的客户端工具.在sql*plus中,可以运行sql*p ...

  9. Oracle数据库的启动与关闭

    一.概述: Oracle数据库的启动分为启动数据库实例.装载数据库和打开数据库3个过程,对应数据库的3种模式. 启动数据库实例:根据数据库初始化参数文件中参数设置,在内存中为数据库分配SGA.PGA等 ...

随机推荐

  1. 【转】spring MVC入门示例(hello world demo)

    部分内容来自网络:<第二章 Spring MVC入门 —— 跟开涛学SpringMVC > 1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web M ...

  2. 关于comet

    Comet是彗星的意思,这一技术之所以借用这个名字,是因为这里的每一次请求都有一个长长的“尾巴”.这个长尾巴就是我们感兴趣的长连接. 因为长连接的实现,Comet可以不需要安装浏览器插件就可以向客户端 ...

  3. Docker Container同时启动多服务 supervisor

    Docker Container同时启动多服务 转载请注明来自:http://blog.csdn.net/wsscy2004 昨天踩了个天坑,我有一个基本的镜像centos6.5+ssh,是通过Doc ...

  4. 关于ie,火狐,谷歌浏览器滚动条的隐藏以及自定义样式

    最近做了一个项目,要求各个浏览器统一滚动条的样式,不显示滚动条,但是不影响鼠标的滑动事件. 查了很多资料,ie和谷歌都是可以自定义滚动条样式的,但是ie只能改变颜色,并不能修改宽度,圆角之类的.谷歌就 ...

  5. 电子商务(电销)平台中用户模块(User)数据库设计明细(转载)

    电子商务(电销)平台中用户模块(User)数据库设计明细 以下是自己在电子商务系统设计中的订单模块的数据库设计经验总结,而今发表出来一起分享,如有不当,欢迎跟帖讨论~ 用户基础表(user_base) ...

  6. hdu_2817_高速幂

    水~ #include <cstdio> #include <iostream> #include <cstring> #include <algorithm ...

  7. Linux 基础学习(第二节)

    free命令用于显示当前系统中内存的使用量信息,格式为:“free [-h]”. 为了保证Linux系统不会突然卡住宕机,因此内存使用量应该是运维人员时刻要关注的数据啦,咱们可以使用-h参数来以更人性 ...

  8. unity, editable mesh

    一,需求 从fbx载入的模型是不可以在unity里编辑的. 我有一人特殊的需求就是想在unity里为mesh的各顶点K动画. 于是需要自己实现一个可编辑(其实只是顶点可以拖动)的mesh. 二,思路 ...

  9. PHP的CURLOPT_POSTFIELDS参数使用数组和字符串的区别

    手册上解释: CURLOPT_POSTFIELDS  全部数据使用HTTP协议中的"POST"操作来发送.要发送文件,在文件名前面加上@前缀并使用完整路径.这个参数可以通过urle ...

  10. Centos下源码安装git

    1.centos下git版本太久了,才1.8几,而官方更新的还是很活跃的,于是我就想源码安装一个新版本. 2.首先到: https://github.com/git/git/releases 下载最新 ...