srvctl 在oracle下运行,Oracle 10G R2 RAC 日常管理

一、使用srvctl管理RAC数据库

[root@NODE01 bin]# pwd

/orac/crs/bin   # srvctl在$CRS_HOME/bin目录下,它可以在任何节点上维护。

[root@NODE01 bin]# ./srvctl

Usage: srvctl []

command: enable|disable|start|stop|relocate|status|add|remove|modify|getenv|setenv|unsetenv|config

objects: database|instance|service|nodeapps|asm|listener

For detailed help on each command and object and its options use:

srvctl -h

常用的命令主要如下:

1、使用srvctl status命令

查看数据库的状态:

[root@NODE01 bin]# ./srvctl status database -d racdb

Instance RACDB1 is running on node node01

Instance RACDB2 is running on node node02

查看数据库实例的状态:

[root@NODE01 bin]# ./srvctl status instance -d racdb -i racdb1,racdb2

Instance racdb1 is running on node node01

Instance racdb2 is running on node node02

查看ASM实例的状态:

[root@NODE01 bin]# ./srvctl status asm -n node01

ASM instance +ASM1 is running on node node01.

[root@NODE01 bin]# ./srvctl status asm -n node02

ASM instance +ASM2 is running on node node02.

查看节点应用程序(VIP、GSD、Listener、ONS)的状态:

[root@NODE01 bin]# ./srvctl status nodeapps -n node01

VIP is running on node: node01

GSD is running on node: node01

Listener is running on node: node01

ONS daemon is running on node: node01

[root@NODE01 bin]#

[root@NODE01 bin]# ./srvctl status nodeapps -n node02

VIP is running on node: node02

GSD is running on node: node02

Listener is running on node: node02

ONS daemon is running on node: node02

以上的命令在任何节点上都可以执行。其中-d表示数据库的名字,-i表示instance名称,-n表示节点的主机名。

2、使用srvctl start/stop命令

srvctl start asm –n node01               # to start the ASM instance

srvctl stop asm –n node01               # to stop the ASM instance

srvctl start asm –n node02               # to start the ASM instance

srvctl stop asm –n node02               # to stop the ASM instance

# 这里的node01和node02是这个节点的机器名称,通过以上命令,可以在任何节点上执行,用来关闭与启动任何节点上的ASM。

srvctl start database –d racdb     # to start the database instance

srvctl stop database –d racdb     # to stop the database instance

# for instance 1

srvctl start instance –d racdb –i racdb1

srvctl stop instance –d racdb –i racdb1

# for instance 2

srvctl start instance –d racdb –i racdb2

srvctl stop instance –d racdb –i racdb2

3、使用srvctl config命令

查看数据库的配置:

[root@NODE01 bin]# ./srvctl config database

RACDB

[root@NODE01 bin]# ./srvctl config database -d racdb

node01 RACDB1 /orac/orahome/oracle/product/10.2.0/db_1

node02 RACDB2 /orac/orahome/oracle/product/10.2.0/db_1

查看ASM实例的配置:

[root@NODE01 bin]# ./srvctl config asm -n node01

+ASM1 /orac/orahome/oracle/product/10.2.0/db_1

[root@NODE01 bin]# ./srvctl config asm -n node02

+ASM2 /orac/orahome/oracle/product/10.2.0/db_1

查看节点应用程序(VIP、GSD、Listener、ONS)的配置:

[root@NODE01 bin]# ./srvctl config nodeapps -h

Usage: srvctl config nodeapps -n [-a] [-g] [-o] [-s] [-l]

-n            Node name

-a                  Display VIP configuration

-g                  Display GSD configuration

-s                  Display ONS daemon configuration

-l                  Display listener configuration

-h                  Print usage

[root@NODE01 bin]#

[root@NODE01 bin]# ./srvctl config nodeapps -n node01

node01 RACDB1 /orac/orahome/oracle/product/10.2.0/db_1

[root@NODE01 bin]#

[root@NODE01 bin]# ./srvctl config nodeapps -n node01 -a -g -s -l

VIP exists.: /vip01/192.168.1.170/255.255.255.0/eth0

GSD exists.

ONS daemon exists.

Listener exists.

[root@NODE01 bin]# ./srvctl config nodeapps -n node02 -a -g -s -l

VIP exists.: /vip02/192.168.1.171/255.255.255.0/eth0

GSD exists.

ONS daemon exists.

Listener exists.

二、管理OCR和Voting Disk

Clusterware由2个部分组成,分别是Voting Disk和OCR。一旦它们丢失或者损坏的话,Clusterware将无法启动,这样整个RAC都将无法启动。

1、Voting Disk(表决磁盘方面)

Voting Disk里面记录着节点成员信息,比如说RAC数据库中有哪些节点成员,节点增加或者删除时也同样会将信息记录进来。Voting Disk必须存放在共享存储上,通常来说是存放在裸设备上。为保证Voting Disk的安全,需要配置多个Voting Disk,Oracle建议Voting Disk的个数应该配置为奇数个,每个Voting Disk的大小约为20MB。

查看Voting Disk位置:

[root@NODE01 bin]# crsctl query css votedisk

0.     0    /orac/orahome/clusterdata/votedisk

located 1 votedisk(s).

[root@NODE01 bin]# ll /orac/orahome/clusterdata/votedisk

-rw-rw---- 1 oracle oinstall 10240000 Dec 25 02:13 /orac/orahome/clusterdata/votedisk

如果需要更改Voting Disk的配置,对Voting Disk的更改必须以root用户进行修改。如:

添加一个Voting Disk成员:crsctl add css votedisk ‘/dev/raw/raw3’

删除一个Voting Disk成员:crsctl delete css votedisk ‘/dev/raw/raw3’

Voting Disk的备份与恢复可以通过dd命令来操作。

备份Voting Disk:dd if=/dev/rhdisk3 of=/tmp/votedisk.bak

恢复Voting Disk:dd if=/tmp/votedisk.bak of=/dev/rhdisk3

2、OCR方面

OCR记录的是节点成员的配置信息,比如数据库、ASM、实例、监听、VIP等CRS资源的配置信息,CRS进程管理的信息来自于OCR的内容。OCR记录这CRS进程管理资源的所有配置信息,大小约为100MB。

默认情况下RAC会在其中一个节点每4个小时都自动进行一次OCR的备份,并且保留最近的3次备份。可以通过命令ocrconfig –showbackup来查看。

[root@NODE01 bin]# ocrconfig -showbackup

node02     2008/12/19 03:38:17     /orac/crs/cdata/crs

node02     2008/12/18 20:23:45     /orac/crs/cdata/crs

node01     2008/12/18 04:15:47     /orac/crs/cdata/crs

node01     2008/12/18 04:15:47     /orac/crs/cdata/crs

node01     2008/12/14 04:21:00     /orac/crs/cdata/crs

[root@NODE01 bin]#

[root@NODE01 bin]# ll /orac/crs/cdata/crs/

total 15696

-rw-r--r-- 1 root root 4014080 Dec 18 04:15 backup00.ocr

-rw-r--r-- 1 root root 4014080 Dec 14 04:21 backup01.ocr

-rw-r--r-- 1 root root 4014080 Dec 18 04:15 day.ocr

-rw-r--r-- 1 root root 4014080 Dec 14 04:21 week.ocr

OCR默认的备份路径为$CRS_HOME/cdata/crs,可以通过ocrconfig –backuploc来更改OCR的备份路径;

可以通过ocrconfig –export来导出OCR的内容;

可以通过ocrconfig –import导入OCR的内容;

可以通过ocrconfig –restore命令对OCR进行恢复。

3、其它一些常用命令:

$ORA_CRS_HOME/bin/crsctl check crs          # 用于检查后台进程状态

$ORA_CRS_HOME/bin/crsctl start resources     # 启动crs资源

$ORA_CRS_HOME/bin/crsctl start crs           # 启动crs,需要超级用户操作

$ORA_CRS_HOME/bin/crsctl stop crs           # 关闭crs,需要超级用户操作

$ORA_CRS_HOME/bin/crs_unregister           # 取消注册crs

$ORA_CRS_HOME/bin/ocrcheck                # 检查ocr设置信息用ocrcheck

$ORA_CRS_HOME/bin/crsctl query css votedisk  # 检查表决磁盘信息

注意:

执行crsctl命令的可以是root用户,也可以是oracle用户,如果是root用户要指定绝对路径,但是对于crsctl start crs和crsctl stop crs必须是root用户来执行。

crs主要进程:

(1)crsd

负责管理ha操作

管理crs资源,如listener,vip,ons,gsn等

由root用户管理、启动

(2)ocssd

管理各节点的关系,用于节点间通信

由oracle用户运行管理

(3)oprocd

集群进程管理 —Process monitor for the cluster.

仅在没有使用vendor的集群软件状态下运行

(4)evmd

事件检测进程,由oracle用户运行管理

(5)主要log位置

$ORA_CRS_HOME/log/节点主机名/racg

$ORA_CRS_HOME/log/节点主机名/crsd

$ORA_CRS_HOME/crs/init

$ORA_CRS_HOME/css/log

$ORA_CRS_HOME/css/init

$ORA_CRS_HOME/evm/log

$ORA_CRS_HOME/evm/init

$ORA_CRS_HOME/srvm/log

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

CRS的管理

CRSCTL命令控制着本地节点的CRS服务(Oracle clusterware processes)

停止CRS:

$ crsctl stop crs或者

$ /etc/init.crs stop或者

$ crs_stop –all

启动CRS:

$ crsctl start crs或者

$ /etc/init.crs start

禁止Clusterware在系统重启后自动启动的方法:

$ /etc/init.crs disable

启动Clusterware在系统重启后自动启动的方法:

$ /etc/init.crs enable

查看CRS服务状态

$ crsctl check crs

OCR的资源管理

OCR的资源,当RAC cluster启动并成功运行以后,你可以使用crs_stat工具看到如下内容:

$ORA_CRS_HOME/bin/crs_stat

通常情况下,所有的资源的状态都应该是online。另外,OCR每4个小时会备份一次。有一些情况你可以通过恢复的OCR的配置文件来恢复出现问题的OCR。

比如使用出现如下情况:

$ crs_stat -t

CRS-0184: Cannot communicate with the CRS daemon.

$ crsctl check boot

Failure 4 at procr_open_key with status 4.

PROC-4: The cluster registry key to be operated on does not exist.

$ crsctl check crs

Failure 1 contacting CSS daemon

Cannot communicate with CRS

Cannot communicate with EVM

引起这个错误的一种可能原因是OCR配置丢了。这个我们可以利用这些备份来还原以前的配置。

# /etc/init.crs disable

# /etc/init.crs stop

先保证所有的crs进程全部停止。

# su – oracle

$ cd $ORA_CRS_HOME/bin

$./ocrconfig -restore /opt/app/oracle/crs/cdata/crs/week.ocr

然后切换到root用户下,重新enable CRS

# /etc/init.crs enable

最后reboot两个节点

SRVCTL命令介绍

SRVCTL命令可以控制RAC数据库中的instance,listener以及services。

通常SRVCTL在ORACLE用户下执行。下面我们来介绍srvctl命令。

1、通过SRVCTL命令来start/stop/check所有的实例:

$ srvctl start|stop|status database -d

2、start/stop指定的实例:

$ srvctl start|stop|status instance -d -i

3、列出当前RAC下所有的

$ srvctl config database -d

4、start/stop/check所有的nodeapps,比如:VIP, GSD, listener, ONS:

$ srvctl start|stop|status nodeapps -n

5、如果你使用ASM,srvctl也可以start/stop ASM实例:

$ srvctl start|stop asm -n [-i ] [-o]

6、可以获取所有的环境信息:

$ srvctl getenv database -d [-i ]

7、设置全局环境和变量:

$ srvctl setenv database -d -t LANG=en

8、从OCR中删除已有的数据库:

$ srvctl remove database -d

9、向OCR中添加一个数据库:

$ srvctl add database -d -o

[-m ] [-p] [-A /netmask] [-r {PRIMARY | PHYSICAL_STANDBY |LOGICAL_STANDBY}] [-s ]

10、向OCR中添加一个数据库的实例:

$ srvctl add instance -d -i -n

$ srvctl add instance -d -i -n

11、向OCR中添加一个ASM实例:

$ srvctl add asm -n -i -o

12、添加一个service

$ srvctl add service -d -s -r [-a ] [-P ] [-u]

13、修改在其他节点上的service

$ srvctl modify service -d -s -I -t

14、relocate某个节点的service到其他节点

srvctl relocate service -d -s -I

CRS及相关服务的常用命令的演示

1、查看状态的命令

# su–oracle --先切换到oracle用户

$ crs_stat -t --查看crs及所有的service的状态

$ crsctl check crs --用crsctl命令,检查crs相关服务的状态

$ srvctl status nodeapps -n db01 (db02) --使用srvctl查看所有节点上的服务是否正常

$ srvctl status database -d db --使用srvctl查看数据库状态

启动和关闭相关服务的命令

# su – oracle

$ crs_start–all --启动所有的crs服务

$ crs_stop–all --停止所有的crs服务

$ crsctl start crs --启动crs服务

$ crsctl stop crs --停止crs服务

$ srvctl start nodeapps -n db01(db02) --启动某节点上所有的应用

$ srvctl stop nodeapps -n db01(db02) --停止某节点上所有的应用

$ srvctl start listener -n db01(db02) --启动某个节点的listener

$ srvctl stop listener -n db01(db02) --停止某个节点的listener

$ srvctl start instance–d db–i db01(db02) --启动某个instance

$ srvctl stop instance–d db–i db01(db02) --停止某个instance

$ srvctl start database–d db --启动数据库

$ srvctl stop database–d db --停止数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值