oracle rac日常基本维护命令


转载时请务必以超链接形式标明文章 原始出处和作者信息及本版权声明
链接:http://www.dbasky.net/archives/2009/01/oracle-rac.html
所有实例和服务的状态
$ srvctl status database -d fx
Instance fx1 is running on node rdb1
Instance fx2 is running on node rdb2
单个实例的状态
$ srvctl status instance -d fx -i fx2
Instance fx2 is running on node rdb2
在数据库全局命名服务的状态
$ srvctl status service -d fx -s fxtest
Service fxtest is running on instance(s) fx2, fx1
特定节点上节点应用程序的状态
$ srvctl status nodeapps -n rdb1
VIP is running on node: rdb1
GSD is running on node: rdb1
Listener is running on node: rdb1
ONS daemon is running on node: rdb1
ASM 实例的状态
$ srvctl status asm -n rdb1
ASM instance +ASM1 is running on node rdb1.
列出配置的所有数据库
$ srvctl config database
fx
显示 RAC 数据库的配置
$ srvctl config database -d fx
rdb1 fx1 /opt/oracle/product/10.2.0/db_1
rdb2 fx2 /opt/oracle/product/10.2.0/db_1
显示指定集群数据库的所有服务
$ srvctl config service -d fx
fxtest PREF: fx2 fx1 AVAIL:
显示节点应用程序的配置 --(VIP、GSD、ONS、监听器)
$ srvctl config nodeapps -n rdb1 -a -g -s -l
VIP exists.: /rdb1-vip/192.168.1.200/255.255.255.0/eth0:eth1
GSD exists.
ONS daemon exists.
Listener exists.

 

显示 ASM 实例的配置

$ srvctl config asm -n rdb1
+ASM1 /opt/oracle/product/10.2.0/db_1

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

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
-------- -------- ---------- --- ------- ------------ --------- -------
1 1 fx1 YES OPEN ACTIVE NORMAL rac1
2 2 fx2 YES OPEN ACTIVE NORMAL rac2

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

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/fx/controlfile/current.258.570913191
+FLASH_RECOVERY_AREA/fx/onlinelog/group_1.257.570913201
+FLASH_RECOVERY_AREA/fx/onlinelog/group_2.256.570913211
+FLASH_RECOVERY_AREA/fx/onlinelog/group_3.259.570918285
+FLASH_RECOVERY_AREA/fx/onlinelog/group_4.260.570918295
+fx_DATA1/fx/controlfile/current.259.570913189
+fx_DATA1/fx/datafile/example.257.570913311
+fx_DATA1/fx/datafile/indx.270.570920045
+fx_DATA1/fx/datafile/sysaux.260.570913287
+fx_DATA1/fx/datafile/system.262.570913215
+fx_DATA1/fx/datafile/undotbs1.261.570913263
+fx_DATA1/fx/datafile/undotbs1.271.570920865
+fx_DATA1/fx/datafile/undotbs2.265.570913331
+fx_DATA1/fx/datafile/undotbs2.272.570921065
+fx_DATA1/fx/datafile/users.264.570913355
+fx_DATA1/fx/datafile/users.269.570919829
+fx_DATA1/fx/onlinelog/group_1.256.570913195
+fx_DATA1/fx/onlinelog/group_2.263.570913205
+fx_DATA1/fx/onlinelog/group_3.266.570918279
+fx_DATA1/fx/onlinelog/group_4.267.570918289
+fx_DATA1/fx/tempfile/temp.258.570913303

21 rows selected.

属于"fx_DATA1"磁盘组的所有 ASM 磁盘

SELECT path
FROM v$asm_disk
WHERE group_number IN (select group_number
from v$asm_diskgroup
where name = 'fx_DATA1');

PATH
----------------------------------
fx:VOL1
fx:VOL2

二: 启动/停止RAC集群
确保是以 oracle UNIX 用户登录的。我们将从rac1节点运行所有命令:

# su - oracle

$ hostname

Rac1

停止 Oracle RAC 10g 环境

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

$ export ORACLE_SID=fx1
$ emctl stop dbconsole
$ srvctl stop instance -d fx -i fx1
$ srvctl stop asm -n rac1
$ srvctl stop nodeapps -n rac1

启动 Oracle RAC 10g 环境

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

$ export ORACLE_SID=fx1
$ srvctl start nodeapps -n rac1
$ srvctl start asm -n rac1
$ srvctl start instance -d fx -i fx1
$ emctl start dbconsole

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

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

$ srvctl start database -d fx
$ srvctl stop database -d fx

发表评论

个人介绍

Xu
Evangelist
Oracle DBA / Blogger
Life@Beijing
Work@睿朗阳光
详细介绍...

按月归档

Close