如何进行 Oracle 10g RAC关闭及启动

如何进行 Oracle 10g RAC关闭及启动,第1张

一 检查共享设备

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

11 如果使用ocfs2的

检查ocfs2 状态:/etc/initd/o2cb status

在挂载之前,/etc/initd/o2cb status 显示为Checking O2CB heartbeat: Not active。在格式化和挂载文件系统之前,应验证 O2CB 在两个节点上均联机;O2CB 心跳当前没有活动,因为文件系统还没有挂载 。挂载之后就会变成active。mount -t ocfs2 -o datavolume /dev/sdb1 /u02/oradata/orcl

12 如果使用raw device

[oracle@node1 raw]$ cd /dev/raw/

[oracle@node1 raw]$ ls -l

total 0

crw-r----- 1 oracle oinstall 162, 1 Jun 14 22:20 raw1

crw-r----- 1 oracle oinstall 162, 2 Jun 14 23:56 raw2

crw-r----- 1 oracle oinstall 162, 3 Jun 14 23:56 raw3

crw-r----- 1 oracle oinstall 162, 4 Jun 14 22:20 raw4

[oracle@node1 raw]$

或者:

[root@raw1 initd]# /etc/initd/rawdevices status

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

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

13 检查ASM

[oracle@node1 ~]$ /etc/initd/oracleasm listdisks

VOL1

VOL2

[oracle@node1 ~]$

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

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

[oracle@node1 ~]$ ls -l /etc/initd/init

-r-xr-xr-x 1 root root 1951 Mar 24 05:30 /etc/initd/initcrs

-r-xr-xr-x 1 root root 4719 Mar 24 05:30 /etc/initd/initcrsd

-r-xr-xr-x 1 root root 35399 Mar 24 05:30 /etc/initd/initcssd

-r-xr-xr-x 1 root root 3195 Mar 24 05:30 /etc/initd/initevmd

[oracle@node1 ~]$

查看一下crs 的状态,正常情况下, 进程都是online的:

[root@raw1 bin]# /crs_stat -t

Name Type Target State Host

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

orarawdb application ONLINE ONLINE raw1

orarawrawcs application ONLINE ONLINE raw1

oraaw1srv application ONLINE ONLINE raw1

oraaw2srv application ONLINE ONLINE raw2

oraw1inst application ONLINE ONLINE raw1

oraw2inst application ONLINE ONLINE raw2

oraSM1asm application ONLINE ONLINE raw1

oraW1lsnr application ONLINE ONLINE raw1

oraraw1gsd application ONLINE ONLINE raw1

oraraw1ons application ONLINE ONLINE raw1

oraraw1vip application ONLINE ONLINE raw1

oraSM2asm application ONLINE ONLINE raw2

oraW2lsnr application ONLINE ONLINE raw2

oraraw2gsd application ONLINE ONLINE raw2

oraraw2ons application ONLINE ONLINE raw2

oraraw2vip application ONLINE ONLINE raw2

如果出现以下情况:UNKNOWN状态

[root@rac2 bin]# /crs_stat -t

Name Type Target State Host

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

oraracdb application ONLINE UNKNOWN rac1

oraorclcs application ONLINE UNKNOWN rac1

oraac1srv application OFFLINE OFFLINE

oraac2srv application OFFLINE OFFLINE

orac1inst application ONLINE UNKNOWN rac1

orac2inst application ONLINE UNKNOWN rac2

oraSM1asm application ONLINE ONLINE rac1

oraC1lsnr application ONLINE UNKNOWN rac1

orarac1gsd application ONLINE UNKNOWN rac1

orarac1ons application ONLINE ONLINE rac1

orarac1vip application ONLINE ONLINE rac1

oraSM2asm application ONLINE ONLINE rac2

oraC2lsnr application ONLINE UNKNOWN rac2

orarac2gsd application ONLINE UNKNOWN rac2

orarac2ons application ONLINE ONLINE rac2

orarac2vip application ONLINE ONLINE rac2

解决方法:

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

[root@rac2 bin]# /crs_stat

NAME=oraracdb

TYPE=application

TARGET=ONLINE

STATE=ONLINE on rac2

NAME=orarac1LISTENER_RAC1lsnr

TYPE=application

TARGET=ONLINE

STATE=UNKNOWN on rac1

NAME=orarac1gsd

TYPE=application

TARGET=ONLINE

STATE=UNKNOWN on rac1

NAME=orarac2LISTENER_RAC2lsnr

TYPE=application

TARGET=ONLINE

STATE=UNKNOWN on rac2

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

[root@rac2 bin]# /crs_start oraracorclrac1srv

Attempting to start `oraracorclrac1srv` on member `rac1`

Start of `oraracorclrac1srv` on member `rac1` succeeded

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

[root@rac2 bin]# /crs_stop orarac2gsd

Attempting to stop `orarac2gsd` on member `rac2`

Stop of `orarac2gsd` on member `rac2` succeeded

[root@rac2 bin]# /crs_start orarac2gsd

Attempting to start `orarac2gsd` on member `rac2`

Start of `orarac2gsd` on member `rac2` succeeded

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

41)是用crs_stop -f 参数把crs中状态是UNKNOWN的服务关掉,然后再用crs_start -f (加一个-f的参数)启动所

有的服务就可以。要分别在两个节点上执行;

[oracle@rac2 ~]$ crs_start -f oraora9iora9i2inst

Attempting to start `oraora9iora9i2inst` on member `rac2`

Start of `oraora9iora9i2inst` on member `rac2` succeeded

[oracle@rac2 ~]$ crs_stop -f oraora9idb

Attempting to stop `oraora9idb` on member `rac2`

Stop of `oraora9idb` on member `rac2` succeeded

42)转换到root用户下用/etc/initd/initcrs stop先禁用crs,然后再用/etc/initd/initcrs start去启用crs,

启用crs后会自动启动crs的一系列服务,注意此种方法需要在两台节点上都执行;

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

[root@rac2 bin]# /crs_stop -all

[root@rac2 bin]# /crs_start -all

三. 手动启动RAC

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

停止RAC:

emctl stop dbconsole (EM控制台,根据自己是否安装EM 执行)

srvctl stop instance -d <dbname> -i <instance_name1>

srvctl stop instance -d <dbname> -i <instance_name2>

srvctl stop asm -n <node_name1>

srvctl stop asm -n <node_name2>

srvctl stop nodeapps -n <node_name1>

srvctl stop nodeapps -n <node_name2>

启动RAC:

和上面的步骤正好相反即

srvctl start nodeapps -n <node_name1>

srvctl start nodeapps -n <node_name2>

srvctl start asm -n <node_name1>

srvctl start asm -n <node_name2>

srvctl start instance -d <dbname> -i <node_name2>

srvctl start instance -d <dbname> -i <node_name1>

emctl start dbconsole

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

srvctl start database -d <dbname>

srvctl stop database -d <dbname>

注: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 类。

示例:

[root@raw1 bin]# /crs_stat -t

Name Type Target State Host

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

orarawdb application ONLINE ONLINE raw1

orarawrawcs application ONLINE ONLINE raw1

oraaw1srv application ONLINE ONLINE raw1

oraaw2srv application ONLINE ONLINE raw2

oraw1inst application ONLINE ONLINE raw1

oraw2inst application ONLINE ONLINE raw2

oraSM1asm application ONLINE ONLINE raw1

oraW1lsnr application ONLINE ONLINE raw1

oraraw1gsd application ONLINE ONLINE raw1

oraraw1ons application ONLINE ONLINE raw1

oraraw1vip application ONLINE ONLINE raw1

oraSM2asm application ONLINE ONLINE raw2

oraW2lsnr application ONLINE ONLINE raw2

oraraw2gsd application ONLINE ONLINE raw2

oraraw2ons application ONLINE ONLINE raw2

oraraw2vip application ONLINE ONLINE raw2

--关闭

[oracle@node1 bin]$ /srvctl stop instance -d RACDB -i RACDB1

[oracle@node1 bin]$ /srvctl stop instance -d RACDB -i RACDB2

[oracle@node1 bin]$ /srvctl stop asm -n node1

[oracle@node1 bin]$ /srvctl stop asm -n node2

[oracle@node1 bin]$ /srvctl stop nodeapps -n node1

[oracle@node1 bin]$ /srvctl stop nodeapps -n node2

[oracle@node1 bin]$ /crs_stat -t

Name Type Target State Host

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

oraB1inst application OFFLINE OFFLINE

oraB2inst application OFFLINE OFFLINE

oraRACDBdb application OFFLINE OFFLINE

oraSM1asm application OFFLINE OFFLINE

oraE1lsnr application OFFLINE OFFLINE

oranode1gsd application OFFLINE OFFLINE

oranode1ons application OFFLINE OFFLINE

oranode1vip application OFFLINE OFFLINE

oraSM2asm application OFFLINE OFFLINE

oraE2lsnr application OFFLINE OFFLINE

oranode2gsd application OFFLINE OFFLINE

oranode2ons application OFFLINE OFFLINE

oranode2vip application OFFLINE OFFLINE

[oracle@node1 bin]$

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

crs日志:

[oracle@node1 node1]$ tail -f /opt/ora10g/product/1020/crs_1/log/node1/alertnode1log

ASM日志:

[oracle@rac1 ~]$ tail -f /opt/ora10g/admin/+ASM/bdump/alert_+ASM1log

数据库日志:

[oracle@rac1 ~]$ tail -f /opt/ora10g/admin/RACDB/bdump/alert_RACDB1log

就像你说的,oracle没有使用技术手段强迫用户去购买licence,所以,从功能上讲,免费的跟收费的没有区别。

购买的时候一般考虑是按照cpu数来买还是按照用户数来买,这个由用户自己选择,主要是看怎么买便宜。另外,不同行业用户购买时价格差异很大。

详细规则可以拨打8008100366免费电话,问原厂的人会权威。

所有实例和服务的状态

$ srvctl status database d orcl

Instance orcl is running on node linux

Instance orcl is running on node linux

单个实例的状态

$ srvctl status instance d orcl i orcl

Instance orcl is running on node linux

在数据库全局命名服务的状态

$ srvctl status service d orcl s orcltest

Service orcltest is running on instance(s) orcl orcl

特定节点上节点应用程序的状态

$ srvctl status nodeapps n linux

VIP is running on node: linux

GSD is running on node: linux

Listener is running on node: linux

ONS daemon is running on node: linux

ASM 实例的状态

$ srvctl status a n linux

ASM instance +ASM is running on node linux

列出配置的所有数据库

$ srvctl config database

orcl

显示 RAC 数据库的配置

$ srvctl config database d orcl

linux orcl /u /app/oracle/product/ /db_

linux orcl /u /app/oracle/product/ /db_

显示指定集群数据库的所有服务

$ srvctl config service d orcl

orcltest PREF: orcl orcl AVAIL:

显示节点应用程序的配置 —(VIP GSD ONS 监听器)

$ srvctl config nodeapps n linux a g s l

VIP exists : /linux vip/ / /eth :eth

GSD exists

ONS daemon exists

Listener exists

显示 ASM 实例的配置

$ srvctl config a n linux

+ASM /u /app/oracle/product/ /db_

集群中所有正在运行的实例

SELECT

inst_id

instance_number inst_no

instance_name inst_name

parallel

status

database_status db_status

active_state state

host_name host

FROM gv$instance

ORDER BY inst_id;

INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST

orcl YES OPEN ACTIVE NORMAL rac

orcl YES OPEN ACTIVE NORMAL rac

位于磁盘组中的所有数据文件

select name from v$datafile

union

select member from v$logfile

union

select name from v$controlfile

union

select name from v$tempfile;

NAME

+FLASH_RECOVERY_AREA/orcl/controlfile/current

+FLASH_RECOVERY_AREA/orcl/onlinelog/group_

+FLASH_RECOVERY_AREA/orcl/onlinelog/group_

+FLASH_RECOVERY_AREA/orcl/onlinelog/group_

+FLASH_RECOVERY_AREA/orcl/onlinelog/group_

+ORCL_DATA /orcl/controlfile/current

+ORCL_DATA /orcl/datafile/example

+ORCL_DATA /orcl/datafile/indx

+ORCL_DATA /orcl/datafile/sysaux

+ORCL_DATA /orcl/datafile/system

+ORCL_DATA /orcl/datafile/undotbs

+ORCL_DATA /orcl/datafile/undotbs

+ORCL_DATA /orcl/datafile/undotbs

+ORCL_DATA /orcl/datafile/undotbs

+ORCL_DATA /orcl/datafile/users

+ORCL_DATA /orcl/datafile/users

+ORCL_DATA /orcl/onlinelog/group_

+ORCL_DATA /orcl/onlinelog/group_

+ORCL_DATA /orcl/onlinelog/group_

+ORCL_DATA /orcl/onlinelog/group_

+ORCL_DATA /orcl/tempfile/temp

rows selected

属于 ORCL_DATA 磁盘组的所有 ASM 磁盘

SELECT path

FROM v$a _disk

WHERE group_number IN (select group_number

from v$a _diskgroup

where name = ORCL_DATA );

PATH

ORCL:VOL

ORCL:VOL

启动/停止RAC集群

确保是以 oracle UNIX 用户登录的 我们将从rac 节点运行所有命令

# su – oracle

$ hostname

Rac

停止 Oracle RAC g 环境

第一步是停止 Oracle 实例 当此实例(和相关服务)关闭后 关闭 ASM 实例 最后 关闭节点应用程序(虚拟IP GSD TNS 监听器和 ONS)

$ export ORACLE_SID=orcl

$ emctl stop dbconsole

$ srvctl stop instance d orcl i orcl

$ srvctl stop a n rac

$ srvctl stop nodeapps –n rac

启动 Oracle RAC g 环境

第一步是启动节点应用程序(虚拟 IP GSD TNS 监听器和 ONS) 当成功启动节点应用程序后 启动 ASM 实例 最后 启动 Oracle 实例(和相关服务)以及企业管理器数据库控制台

$ export ORACLE_SID=orcl

$ srvctl start nodeapps n rac

$ srvctl start a n rac

$ srvctl start instance d orcl i orcl

$ emctl start dbconsole

使用 SRVCTL 启动/停止所有实例

启动/停止所有实例及其启用的服务 我只是觉得有意思就把此步骤作为关闭所有实例的一种方法加进来了!

$ srvctl start database d orcl

lishixinzhi/Article/program/Oracle/201311/16967

real application cluster,多个oracle实例,对应于一个存储,大家都说优点,我就来说缺点,更有价值,我又不是做广告的。

(1) 性能可能差,如果不拆分应用,容易使得interconnect的网络流量加大,使得性能下降;

(2) 一个实例修改数据库的表时,上的是块锁,不是行锁;

(3) 事物不能无缝切换;

(4)价格贵的要死

public ip是vip绑定的网卡上的固定的IP地址。VIP是浮动的,PUBLIC IP是固定的。在VIP出现问题或CRS没有起来之前,至少可以通过PUBLIC IP连接主机。或者是其他情况下,不通过VIP而直接通过PUBLIC IP连接主机。比如你要FTP文件等。

首先,RAC是基于应用的集群,HA是基于 *** 作系统的集群,两种集群有很大区别的。

RAC是在集群中的每台服务器上启动一个数据库实例,同时对用户群组的请求进行响应。而HA其实是由 *** 作系统决定数据库运行在哪个主机上,其他主机上面是一般是不运行任何数据库的(除了双机互备系统),实际上HA是个单机数据库,它是为避免单个主机故障而出现的。

crs_stat 命令是oracle的集群组件中的工具。如果使用crs_stat -t命令返回结果如下:

rac2-> crs_stat -t

Name Type Target State Host

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

oraCRMcs application OFFLINE OFFLINE

oradb1srv application OFFLINE OFFLINE

oradevdbdb application ONLINE ONLINE rac2

orab1inst application ONLINE ONLINE rac1

orab2inst application ONLINE ONLINE rac2

oraSM1asm application ONLINE ONLINE rac1

oraC1lsnr application ONLINE OFFLINE

orarac1gsd application ONLINE ONLINE rac1

orarac1ons application ONLINE ONLINE rac1

orarac1vip application ONLINE ONLINE rac1

oraSM2asm application ONLINE ONLINE rac2

oraC2lsnr application ONLINE OFFLINE

orarac2gsd application ONLINE ONLINE rac2

orarac2ons application ONLINE ONLINE rac2

orarac2vip application ONLINE ONLINE rac2

包含以下两行

orab1inst application ONLINE ONLINE rac1

orab2inst application ONLINE ONLINE rac2

就说明是RAC数据库

其中第一行说明orab1inst这个数据库实例是在rac1这个主机上online的

同理第二行是orab2inst这个数据库实例是在rac2这个主机上online的

以上就是关于如何进行 Oracle 10g RAC关闭及启动全部的内容,包括:如何进行 Oracle 10g RAC关闭及启动、oracle rac需要付费吗、OracleRAC日常基本维护命令等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10180023.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存