`

Oracle RAC日常管理以及oracle crs起停步骤及srvctl crsctl 命令用法

 
阅读更多

srvctl stop nodeapps -n dss-db32  //132.63.10.34 instance

srvctl stop nodeapps -n dss-db42  //132.63.10.35 instance

 

srvctl stop database -d ctgdw -o immediate //ctgdw数据库

 132.63.10.35 oracle用户

crs_stat -t -v   查看是否都已offline

 

132.63.10.34 root用户:

cd /oracle/crs/product/10.2.0/bin

./crsctl stop crs    //停集群服务

 

.34上操作的过程中

132.63.10.35 oracle用户:

ps -ef |grep oracle

ps -ef |grep crs

查看oraclecrs进程 

 

132.63.10.34 root用户:

cd /oracle/crs/product/10.2.0/bin

./crsctl start crs

 

完成后

ps -ef |grep oracle

ps -ef |grep crs

查看进程

crs_stat -t -v 监控所有进程是否都为online

 如果没启动

srvctl start database -d ctgdw

srvctl start nodeapps -n dss-db32 

srvctl start nodeapps -n dss-db42

 

Oracle10g RAC关闭及启动步骤
 
情况1:需要关闭DB(所有实例),OS及Server。
a.首先停止Oracle10g环境
$ lsnrctl stop (每个节点上停止监听,也可以用srvctl来操作)
或者
$ srvctl stop listener -n host1(在节点1上停止监听)
$ emctl stop dbconsole (每个节点停止dbconsole)
$ srvctl stop database -d orcl (停止数据库所有实例)
$ srvctl stop nodeapps -n host1 (停节点1服务)
$ srvctl stop nodeapps -n host2 (停节点2服务)
# /etc/init.d/init.crs stop (root停cluster软件)
 
停机顺序为,先停监听->实例->服务->cluster 软件
或者用$ crs_stop -all
b.然后# init 0关闭服务器,或者如果重新启动#init 6
c.关闭电源。
d.开启Server ,开始开启Oracle10g数据库及服务等(如果OS重新启动,那么下面的所有服务是自动打开的【除了dbconsole】,不用手工执行了)。
$ srvctl start nodeapps -n gnd-rac01 (停节点1服务)
$ srvctl start nodeapps -n gnd-rac02 (停节点2服务)
# /etc/init.d/init.crs start (root停cluster软件)
或者用$ crs_start –all
$ srvctl start database -d tpc (停止数据库所有实例)
$ lsnrctl start (每个节点上停止监听,也可以用srvctl来操作)
$ emctl start dbconsole (每个节点停止dbconsole)
注:srvctl也可以用来关闭某个实例:srvctl stop instance -d orcl -i orcl2
srvctl开启关闭监听器:srvctl stop listener -n orcl2
srvctl start listener -n orcl2
 
最简单的停机方法:
$crs_stop -all 
$crs_stat -t 查看是否全是OFFLINE
root用户执行:# crsctl stop crs  
init 0或 init  6
启动方法:
# crsctl start crs
$ crs_start –all
$ crs_stat -t
 
情况2:调整数据库参数的时候,只关闭所有节点实例,不重新启动OS及Server。
a.首先停止Oracle10g环境
$ lsnrctl stop (在所有节点上停止监听,也可以用srvctl)
$ srvctl stop database -d orcl (停止数据库所有实例)
b.然后开启所有实例及监听器。
$ srvctl start database -d orcl (开启数据库所有实例)
$ lsnrctl start (开启所有节点上监听,也可以用srvctl开启监听)
 
情况3:不关闭操作系统的情况下,由于问题点或调整某些服务而需要关闭然后开启某些服务程序等。
关闭某些服务的时候,由于涉及到RAC运行,所以也需要先关闭数据库实例,类似于第一种情况。

crs命令用法
1:对于crsctl start crs和crsctl stop crs必须是root用户来执行。
CRS及相关服务的常用命令的演示
1、查看状态的命令
# su–oracle  --先切换到oracle用户
$ crs_stat -t --查看crs及所有的service的状态
$ crs_stat --此命令可以查看各个资源的完整服务名称
$ crsctl check crs --用crsctl命令,检查crs相关服务的状态
$ srvctl status nodeapps -n host1 (host2) --使用srvctl查看所有节点上的服务是否正常
$ srvctl status database -d db --使用srvctl查看数据库状态
 
启动和关闭相关服务的命令
#crsctl start crs   打开集群CRS命令程序
#crsctl stop crs    关闭
 
oracle用户
命令的路径:$ORA_CRS_HOME/bin/
# su – oracle
$ crs_start -all --启动所有的crs服务
$ crs_stop -all --停止所有的crs服务
$ crsctl start crs --启动crs服务
$ crsctl stop crs --停止crs服务
$ srvctl start nodeapps -n host1(host2) --启动某节点上所有的应用
$ srvctl stop nodeapps -n host1(host2) --停止某节点上所有的应用
$ srvctl start listener -n host1(host2) --启动某个节点的listener
$ srvctl stop listener -n host1(host2) --停止某个节点的listener
$ srvctl start instance -d db -i host1(host2) --启动某个instance
$ srvctl stop instance -d db -i host1(host2) --停止某个instance
$ srvctl start database -d db --启动数据库
$ srvctl stop database -d db --停止数据库
$crs_stop  资源名(ora.ORCL.ORATEST.cs) 停一个资源,此命令可停到资源状态为UNKNOWN的资源。
 
 
附Oracle10g RAC检查命令:
----------------------------------------------
Oracle10g RAC数据库的 nodeapps 有VIP, GSD, Listener, ONS .
$ srvctl status nodeapps –n host1 (检查VIP, GSD,ONS, Listener等(所有节点))
VIP is running on node: host1
GSD is not running on node: host1
Listener is not running on node: host1
ONS daemon is not running on node: host1
gnd-rac01$crsctl check crs (检查Oracle Cluster状态:CSS, CRS, EVM .)
CSS appears healthy
CRS appears healthy
EVM appears healthy
gnd-rac01$ crs_stat -t (全面检查状态)
NameTypeTargetStateHost
┅┅┅┅┅┅┅┅┅
ora....01.lsnr application ONLINE ONLINE host1
ora....c01.gsd application ONLINE ONLINE host1
ora....c01.ons application ONLINE ONLINE host1
 
 
SRVCTL命令介绍
SRVCTL命令可以控制RAC数据库中的instance,listener以及services。
通常SRVCTL在ORACLE用户下执行。下面我们来介绍srvctl命令。
1、通过SRVCTL命令来start/stop/check所有的实例:
$ srvctl start|stop|status database -d <db_name>
 
2、start/stop指定的实例:
$ srvctl start|stop|status instance -d <db_name> -i <instance_name>
 
3、列出当前RAC下所有的
$ srvctl config database -d <db_name>
 
4、start/stop/check所有的nodeapps,比如:VIP, GSD, listener, ONS:
$ srvctl start|stop|status nodeapps -n <node_name>
 
5、如果你使用ASM,srvctl也可以start/stop ASM实例:
$ srvctl start|stop asm -n <node_name> [-i <asm_inst_name>] [-o<oracle_home>]
 
6、可以获取所有的环境信息:
$ srvctl getenv database -d <db_name> [-i <instance_name>]
 
7、设置全局环境和变量:
$ srvctl setenv database -d <db_name> -t
 
8、从OCR中删除已有的数据库:
$ srvctl remove database -d <db_name>
 
9、向OCR中添加一个数据库:
$ srvctl add database -d <db_name> -o <oracle_home>
[-m <domain_name>] [-p<spfile>] [-A <name|ip>/netmask] [-r {PRIMARY | PHYSICAL_STANDBY |LOGICAL_STANDBY}] [-s <start_options>]
 
10、向OCR中添加一个数据库的实例:
$ srvctl add instance -d <db_name> -i <instance_name> -n <node1>
$ srvctl add instance -d <db_name> -i <instance_name> -n <node2>
 
11、向OCR中添加一个ASM实例:
$ srvctl add asm -n <node_name> -i <asm_inst_name> -o <oracle_home>
 
12、添加一个service
$ srvctl add service -d <db_name>
     
$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检查磁盘表决情况
 
2:集群的日志:
$ORA_CRS_HOME/log/节点主机名(rachost01)/racg
$ORA_CRS_HOME/log/节点主机名(rachost01)/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
 

3.5 ORACLE 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 <node2>,2 -pn <node2-private>,2 -hn <node2>,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 <newnode1>:4948 <newnode2>: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 <node1>,<node2>

 

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

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

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

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

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

$ oifcfg getif

 

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

$ oifcfg setif <interface-name>/<subnet>:<cluster_interconnect|public>

 

例子:

$ oifcfg setif -global eth1/10.10.10.0:cluster_interconnect

 

或者

$ oifcfg setif -node <nodename> 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 <newnode>


 

 

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.6 ORACLE RAC

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

10.2.0.3为例

在建库之前的方法:

Upgrading Oracle Clusterware Installation

1 root身份登录,执行xhost +

2 停止 Oracle Clusterware:

crsctl stop crs

3 在其余的节点上重复 1  2.

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.

8  Specify Home Details 界面, click Next.

9 Hardware Cluster Installation Mode 界面, click Next.

10 the Summary 界面, click Install.

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

12 再打开一个终端.

13  root 登录.

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

$ORA_CRS_HOME/install/root102.sh

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

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

Upgrading the RAC Installation


 

 

ORACLE 10G RAC 参考手册 73

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

2 oracle登录.

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

$ORACLE_HOME/bin/srvctl stop nodeapps -n <nodename>

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.

10 Specify Home Details 界面, 点击Next.

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

12  the 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 然后在第一个节点上打开一个终端。

18 oracle用户登录.

19 执行:

srvctl start nodeapps -n <nodename>

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

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

To be continue..

分享到:
评论

相关推荐

    oracle RAC crs管理常用命令

    ### Oracle RAC CRS 常用管理命令详解 Oracle RAC (Real Application Clusters) 是 Oracle 数据库的一个组件,它提供了高可用性和可扩展性的解决方案。CRS (Cluster Ready Services) 是 Oracle RAC 的核心服务之一...

    Oracle 10G RAC 日常管理

    综上所述,Oracle 10G RAC的日常管理涉及CRS的维护、OCR资源的监控以及SRVCTL命令的熟练运用。这些工具和命令确保了RAC环境的稳定性和高效运维。了解并熟练掌握这些知识点对于保障Oracle RAC集群的正常运行至关重要...

    在Oracle 11g,RAC的关闭和启动顺序如下【20180625】 

    - 对于 Oracle 用户,可以使用 srvctl 命令来关闭数据库: ```shell [oracle@rac1 ~]$ srvctl stop database -d ORCL ``` 这条命令会停止所有节点上的实例。 - 或者在每个节点上登录数据库并执行 SQL 命令: ...

    oracleRAC常用管理命令

    ### Oracle RAC 常用管理命令详解 Oracle Real Application Clusters (RAC) 是一个在多台服务器之间实现数据库高可用性和负载均衡的技术。为了有效地管理和监控Oracle RAC环境,掌握一系列常用的管理命令是非常重要...

    ORACLE 12c RAC的常用管理命令

    下面将详细介绍一些关键的Oracle 12c RAC管理命令。 1. **crsctl**: Oracle Clusterware 的控制工具,用于管理集群资源和服务。例如,`crsctl start crs` 启动整个CRS服务,`crsctl stop crs` 关闭CRS,`crsctl ...

    RAC ORACLE 节点有关操作

    ORACLE RAC 节点有关的操作 srvctl crs_stop crs_stat crsctl

    ORACLE RAC重建CRS

    CRS (Cluster Ready Services) 是Oracle RAC的核心组件之一,负责管理RAC集群中的资源和服务。在某些情况下,用户可能会遇到CRS启动失败等问题。这些问题通常可以通过检查相关日志文件如`crsd.log`和`alertrac.log`...

    管理oracle 11gRAC常用命令

    ### 管理Oracle 11g RAC常用命令详解 #### 一、检查集群状态 在Oracle 11g RAC环境中,集群状态是非常重要的,因为它直接关系到数据库服务的可用性和稳定性。通过以下命令可以检查集群的整体状态: ```bash [grid@...

    Oracle Rac管理常用命令

    Oracle RAC,全称为Real Application Clusters...这些命令是Oracle RAC日常运维的关键工具,通过它们可以有效地监控和管理集群的健康状态,确保系统的稳定运行。理解并熟练运用这些命令,对于Oracle DBA来说至关重要。

    RAC常见命令检查状态

    ASM是Oracle的一个自动存储管理模块,用于管理存储设备,此命令可以检查ASM实例的运行状态以及是否已启用。 ### 8. TNS监听器状态及配置 #### 命令:`srvctl status listener` 此命令用于检查TNS监听器的状态。 ...

    Oracle11gRAC基本维护手册

    此时,可以使用带有`-f`选项的`crsctl stop cluster -f`命令强制停止所有资源和Oracle Clusterware。 - 若要在单个节点上停止所有节点的资源和CRS,可以执行`crsctl stop cluster -all`命令。 3. **启动集群及...

    ORACLE 10G RAC参考手册

    这里提供了 CRS 和相关服务的一些常见命令的示例,帮助管理员熟悉这些命令的使用方法。 **6.6 为 Oracle RAC 增加一个节点** 当需要扩展 RAC 集群时,可以通过以下步骤向集群中添加新节点: 1. 准备新节点: 安装...

    OracleRAC常用维护工具和命令

    在Oracle RAC中,最常用的命令是“srvctl”,它允许管理员管理和控制数据库服务、实例以及应用程序的集群资源。通过“srvctl”可以启动和停止数据库实例,也可以对服务进行故障转移、重新定位等操作。另外,“onsctl...

    oracle rac

    `oracle_rac日常基本维护命令.doc` 应该包含了一些用于日常管理和监控RAC的命令,比如`crsctl`用于集群资源管理,`srvctl`用于控制数据库实例和服务,`sqlplus`用于执行SQL查询和管理任务,以及`crs_stat`和`crs_...

    OracleRAC的日常维护管理[文].pdf

    本文将深入探讨Oracle RAC的日常维护管理,包括数据库的启动与关闭、状态检查以及故障排查。 一、数据库启动与关闭 1. 集群启动与关闭: Oracle RAC 集群系统默认设置为自动启动。如果需要手工启动,可以使用`root...

    oracle_rac管理基本命令

    oracle_rac管理基本命令 rac oracle clusterware 命令集 按不同层次划分 1.节点层次,olsnodes 2.网络层,oifcfg 3.集群层,crsctl,ocrcheck,ocrdump,ocrconfig 4.应用层,srvctl ,onsctl,crs_stat ……

    Oracle_10G_RAC_日常管理

    ### Oracle 10G RAC 日常管理 #### CRS(Cluster Ready Services)的管理 **CRS** 是 Oracle Clusterware 的一部分,它负责管理和监控集群内的所有资源和服务。CRS 提供了一系列的命令来帮助管理员进行集群的启动...

    oracleRAC操作

    通过本文介绍的这些工具和命令,我们不仅可以了解 Oracle RAC 的基础管理方法,还能掌握如何使用这些工具来优化集群性能、提高集群可用性和可靠性。对于 Oracle RAC 的管理员来说,熟练掌握这些工具是非常必要的。

    Oracle rac命令

    使用`crsctl check cluster`命令可以查看整个Oracle RAC集群的状态,包括Cluster Ready Services (CRS)、Cluster Synchronization Services (CSS) 和 Event Manager 等关键组件是否在线。如果返回信息显示这些服务...

    OracleRAC真正应用集群数据库.docx

    Oracle RAC(Real Application Clusters)是一种高可用、高性能、易伸缩、易管理的集群数据库解决方案。它可以将多个服务器集群到一起,形成一个高可用性的数据库系统,提高数据库的可用性和性能。 Oracle RAC的...

Global site tag (gtag.js) - Google Analytics