CRS 的管理

1.1 CRS管理

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

停止CRS:

$ crsctl stop crs

 

或者

$ /etc/init.crs stop

 

或者

$ crs_stopall

 

启动CRS:

$ crsctl start crs

 

或者

$ /etc/init.crs start

 

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

$ /etc/init.crs disable

 

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

$ /etc/init.crs enable

 

查看CRS服务状态

$ crsctl check crs

 

6.2 OCR的资源管理

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

$ORA_CRS_HOME/bin/crs_stat

NAME=ora.db01.LISTENER_db01.lsnr

TYPE=application

TARGET=ONLINE

STATE=ONLINE on db01


 

 

ORACLE 10G RAC参考手册63

NAME=ora.db01.gsd

TYPE=application

TARGET=ONLINE

STATE=OFFLINE

NAME=ora.db01.ons

TYPE=application

TARGET=ONLINE

STATE=ONLINE on db01

NAME=ora.db01.vip

TYPE=application

TARGET=ONLINE

STATE=ONLINE on db01

NAME=ora.db02.LISTENER_db02.lsnr

TYPE=application

TARGET=ONLINE

STATE=ONLINE on db02

NAME=ora.db02.gsd

TYPE=application

TARGET=ONLINE

STATE=OFFLINE

NAME=ora.db02.ons

TYPE=application

TARGET=ONLINE

STATE=ONLINE on db02

NAME=ora.db02.vip

TYPE=application

TARGET=ONLINE

STATE=ONLINE on db02

NAME=ora.racdb.db

TYPE=application

TARGET=ONLINE

STATE=ONLINE on db02

NAME=ora.racdb.racdb.cs

TYPE=application

TARGET=ONLINE

STATE=ONLINE on db02


 

 

ORACLE 10G RAC参考手册64

NAME=ora.racdb.racdb.racdb1.srv

TYPE=application

TARGET=ONLINE

STATE=ONLINE on db01

NAME=ora.racdb.racdb.racdb2.srv

TYPE=application

TARGET=ONLINE

STATE=ONLINE on db02

NAME=ora.racdb.racdb1.inst

TYPE=application

TARGET=ONLINE

STATE=ONLINE on db01

NAME=ora.racdb.racdb2.inst

TYPE=application

TARGET=ONLINE

STATE=ONLINE on db02

 

通常情况下,所有的资源的状态都应该是online。另外,OCR4个小时会备份一次。有一些情况你可以通过恢复的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进程全部停止。

# suoracle

$ cd $ORA_CRS_HOME/bin

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

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

# /etc/init.crs enable

最后reboot两个节点。


 

 

ORACLE 10G RAC参考手册65

3.2 SRVCTL命令介绍

SRVCTL命令可以控制RAC数据库中的instancelistener以及services

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

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

$ srvctl start|stop|status database -d

 

2start/stop指定的实例:

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

 

3、列出当前RAC下所有的

$ srvctl config database -d

 

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

$ srvctl start|stop|status nodeapps -n

 

5、如果你使用ASMsrvctl也可以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


 

 

ORACLE 10G RAC参考手册66

[-a ] [-P ] [-u]

 

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

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

 

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

srvctl relocate service -d -s -I

-t

 

3.3 SRVCTL相关的选项

SRVCTL START/STOP/STATUSoptions:

-d database name

-i instance name

-n node name (for nodeapps)

 

SRVCTL ADDoptions:

-A vip range, node, and database, address specification. The format of address string is:

[]// [/] [,]

[]// [/]

-a for services, list of available instances, this list cannot include preferred instances

-m domain name with the formatus.domain.com

-n node name that will support one or more instances

-o $ORACLE_HOME to locate Oracle binaries

-P for services, TAF preconnect policy - NONE, PRECONNECT

-r for services, list of preferred instances, this list cannot include available instances.

-s spfile name

-u updates the preferred or available list for the service to support the specified

instance. Only one instance may be specified with the -u switch. Instances that already

support the service should not be included.

 

SRVCTL MODIFYoptions:

-i -t : the instance name (-i) is replaced by the

instance name (-t) -i

-r : the named instance is modified to be a preferred instance -A address-list for VIP application,

at node level -s : add or remove ASM dependency

 

SRVCTL RELOCATEoptions:

-i -t : the instance name (-i) is replaced by the instance name (-t)


 

 

ORACLE 10G RAC参考手册67

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

1、查看状态的命令

# suoracle--先切换到oracle用户

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

NameType Target StateHost

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

ora.oradb.db application ONLINE ONLINE db01

ora....radb.cs application ONLINE ONLINE db01

ora....db1.srv application ONLINE ONLINE db01

ora....db2.srv application ONLINE ONLINE db02

ora....b1.inst application ONLINE ONLINE db01

ora....b2.inst application ONLINE ONLINE db02

ora....C1.lsnr application ONLINE ONLINE db01

ora.db01.gsd application ONLINE ONLINE db01

ora.db01.ons application ONLINE ONLINE db01

ora.db01.vip application ONLINE ONLINE db01

ora....C2.lsnr application ONLINE ONLINE db02

ora.db02.gsd application ONLINE ONLINE db02

ora.db02.ons application ONLINE ONLINE db02

ora.db02.vip application ONLINE ONLINE db02

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

CSS appears healthy

CRS appears healthy

EVM appears healthy

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

VIP is running on node:db01

GSD is running on node:db01

Listener is running on node:db01

ONS daemon is running on node:db01

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

Instance db01 is running on node db01

Instance db02 is running on node db02

 

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

# suoracle

$ crs_startall--启动所有的crs服务

$ crs_stopall--停止所有的crs服务

$ crsctl start crs--启动crs服务

$ crsctl stop crs--停止crs服务


 

 

ORACLE 10G RAC参考手册68

$ 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 instanced dbi db01(db02)--启动某个instance

$ srvctl stop instanced dbi db01(db02)--停止某个instance

$ srvctl start databased db--启动数据库

$ srvctl stop databased db--停止数据库

 

3.5ORACLE RAC增加一个节点

这部分详细步骤请参考Metalink Note 270512.1

RAC添加节点,主要分为一下几个大的步骤:

A.按照第二章《安装oracle RAC前的准备》配置新节点的OS和硬件环境。

B.增加一个节点到cluster中。

C.增加RAC软件到新的节点。

D.为新的节点重新配置listeners

E.使用DBCA增加实例。

下面是详细的步骤

A.按照第二章《安装oracle RAC前的准备》配置新节点的OS和硬件环境。

B.增加一个节点到cluster中。

1、在oracle用户下,设置DISPLAY环境变量,运行在$ORA_CRS_HOME/oui/bin目录下的addNode.sh

$ DISPLAY=ipaddress:0.0; export DISPLAY

$ cd $ORA_CRS_HOME/oui/bin

$ ./addNode.sh

 

3.OUI出现欢迎界面点击next.

4."Specify Cluster Nodes to Add to Installation"节面,增加一个公用IP对应的主机名和私有IP对应的主机名(与/etc/hosts中的记录一样)点击next.

5.出现"Cluster Node Addition Summary"界面,点击next.

6.出现"Cluster Node Addition Progress"出现.将会提示以root用户运行


 

 

ORACLE 10G RAC参考手册69

rootaddnode.sh。但是首先需要确认在rootaddnode.sh中的CLSCFG信息是正确的。应该是包含新的公有和私有IP对应的主机名。

比如:

$CLSCFG -add -nn ,2 -pn ,2 -hn ,2

 

确认好以后,运行rootaddnode.sh script.

$ su root

$ cd $ORA_CRS_HOME

$ sh -x rootaddnode.sh

 

执行完以后,点击OK继续。

7.之后,另一个对话框会出现。需要所有的节点上执行$ORA_CRS_HOME/root.sh

$ su root

$ cd $ORA_CRS_HOME

$ sh -x root.sh

 

完成以后,点击OK继续。

8.在所有的新节点上运行完root.sh后, 在任意一个节点上运行

$ORA_CRS_HOME/bin/racgons add_config :4948 :4948

 

9.安装结束。

C.增加Oracle Database software (with RAC option)到新的节点

1.在原来的db节点上,进入到$ORACLE_HOME/oui/bin目录,运行addNode

$ DISPLAY=ipaddress:0.0; export DISPLAY

$ cd $ORACLE_HOME/oui/bin

$ ./addNode.sh

 

2. OUI欢迎界面又出现了,点击next

3."Specify Cluster Nodes to Add to Installation"界面,指定你想加入的节点,点击next

4. "Cluster Node Addition Summary"界面出现,点击next

5.然后进入到"Cluster Node Addition Progress"界面.提示你以root的身份运行root.sh


 

 

ORACLE 10G RAC参考手册70

$ su root

$ cd $ORACLE_HOME

$ ./root.sh

 

执行完成以后,点击OK继续。

6.安装完成,exit安装界面

7.然后以root身份进入到$ORACLE_HOME/bin目录,运行vipca

$ su root

$ DISPLAY=ipaddress:0.0; export DISPLAY

$ cd $ORACLE_HOME/bin

$ ./vipca -nodelist ,

 

8. VIPCA欢迎界面出现,点击next

9.增加新的节点的vip信息点击next

10.看到"Summary"界面以后, 点击finish.

11.然后我们将看到创建和启动新的CRS资源,然后点击退出。

12.确认interconnect是否正确,使用:

$ oifcfg getif

 

如果不正确,使用oifcfg命令修改:

$ oifcfg setif /:

 

例子:

$ oifcfg setif -global eth1/10.10.10.0:cluster_interconnect

 

或者

$ oifcfg setif -node eth1/10.10.10.0:cluster_interconnect

 

D.为新节点重新配置listeners

1、使用netca来配置。过程与一般的创建RAClistener一致。

2、 使用crs_stat命令确认listener CRS资源是否被创建了。

3、 新增加的listener应该是offline的。使用srvctl命令启动这个节点上的nodeapps

$ srvctl start nodeapps -n


 

 

ORACLE 10G RAC参考手册71

4、 再次使用crs_stat确定VIP's, GSD's, ONS's, and listenersCRS资源是online的。

E.通过DBCA增加一个新的实例. (对于standby请看F)

1.使用DBCA在原来的节点上创建一个新的实例。

$ DISPLAY=ipaddress:0.0; export DISPLAY

$ dbca

 

2.在欢迎界面选择"Oracle Real Application Clusters",点击next

3.选择"Instance Management",点击next.

4.选择"Add an Instance",点击next.

5.选择你想加入新的实例的数据库,并且指定sysdba权限的用户。点击next

6.选择正确的实例名和节点,点击next

7.在存储界面直接点击next

8.到了summary界面,点击OK。开始创建新的实例

9.完成以后,选择"No"退出DBCA.

10.通过查询gv$instance,确认实例是否创建成功。

F.添加一个实例到Standby数据库

1、在你的DataGuard中,如果你的主节点是RAC,那么要保证在E中的步骤都已经执行过了。如果你的主节点是单实例。那么增加redolog组和threads(使用alter database)。

SQL>alter database add logfile thread 2

group 3 ('/dev/rzj_redo2_5_120m ') size 120M,

group 4 ('/dev/rzj_redo2_6_120m ') size 120M;

SQL>alter database enable public thread 2;

 

2、在主节点上创建一个新的standby控制文件,并copy这个控制文件到standby

SQL>alter database create standby controlfile as "/opt/app/oracle/stby.ctl"

 

3、关闭standby数据库,备份现在standby数据库上控制文件,然后用新的standby控制


 

 

ORACLE 10G RAC参考手册72

文件来替换。

4、 调整新实例的init.ora或者spfile的参数,比如:thread, instance_name,instance_number, local_listener, undo_tablespace等等。

5.最后恢复standby数据。

3.6ORACLE RAC

如果升级oralceRAC或者oracle最好在建库之前来做。这样比较简单。

10.2.0.3为例

在建库之前的方法:

Upgrading Oracle Clusterware Installation

1root身份登录,执行xhost +

2停止Oracle Clusterware:

crsctl stop crs

3在其余的节点上重复12.

4回到第一个节点,以oracle用户登录。.

5在一个终端输入:

export ORACLE_HOME=/crs/oracle/product/10.2.0/crs --假设你的crshome是这个。

6进入到patch的目录:

cd /opt/oracle/patches/Disk1/

./runInstaller

然后

7出现Welcome界面.

Click Next.

8Specify Home Details界面, click Next.

9Hardware Cluster Installation Mode界面, click Next.

10the Summary界面, click Install.

11 NOTE:安装完成以后不要点击exit推出。

12再打开一个终端.

13root登录.

14进入CRS_HOME,执行如下操作。

$ORA_CRS_HOME/install/root102.sh

15在其他节点上按顺序重复12-14

16在第一个节点上,点击exit推出安装。.

Upgrading the RAC Installation


 

 

ORACLE 10G RAC参考手册73

1在第一个节点打开一个终端.

2oracle登录.

3停止所有节点Oracle Clusterware node applications.

$ORACLE_HOME/bin/srvctl stop nodeapps -n

NOTE:如果有报错。忽略掉

4可以在其他节点上重复3也可以在一个节点上改变nodename停止nodeapps.

5在第一个节点上以oracle登录。打开一个终端

6设置ORACLE_HOME:

export ORACLE_HOME=/opt/oracle/product/10.2.0/db_1 --你的ORACLE_HOME

7然后启动补丁程序:

cd /opt/oracle/patches/Disk1/

./runInstaller

8 Welcome界面出现.

9点击Next.

10Specify Home Details界面,点击Next.

11Specify Hardware Cluster Installation Mode界面,点击Next.

12the Summary界面,点击Install.

安装快完成时提示run root.sh as user root.

13打开一个终端.

14执行:

/opt/oracle/product/10.2.0/db_1/root.sh

15在其余的节点上按顺序重复13-14

16执行完以后,点击Exit推出.

17然后在第一个节点上打开一个终端。

18oracle用户登录.

19执行:

srvctl start nodeapps -n

20如果一切正常,nodeapps都会online

(如果对于已经建完库或者生产系统的补丁。方法大致一样。但是需要先停止nodeappsinstance。执行完上面的步骤以后,还要使用dbua来升级数据库。具体可以参考patchREADME。)

To be continue…..

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13636837/viewspace-627434/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13636837/viewspace-627434/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值