Oracle RAC日常基本维护命令
列出配置的所有数据库
[root@node1 ~]# srvctl config database
NOVADB
所有实例和服务的状态
[root@node1 ~]# srvctl status database -d NOVADB
Instance NOVADB1 is running on node node1
Instance NOVADB2 is running on node node2
单个实例的状态
[root@node1 ~]# srvctl status instance -d NOVADB -i NOVADB1
Instance NOVADB1 is running on node node1
在数据库全局命名服务的状态
$ srvctl status service -d orcl -s orcltest
Service orcltest is running on instance(s) orcl2, orcl1
特定节点上节点应用程序的状态
[root@node1 ~]# srvctl status nodeapps -n node1
VIP is running on node: node1
GSD is running on node: node1
Listener is running on node: node1
ONS daemon is running on node: node1
ASM 实例的状态
[root@node1 ~]# srvctl status asm -n node1
ASM instance +ASM1 is running on node node1.
[root@node1 ~]# srvctl status asm -n node2
ASM instance +ASM2 is running on node node2.
显示 RAC 数据库的配置
[root@node1 ~]# srvctl config database -d NOVADB
node1 NOVADB1 /opt/ora10g/product/10.2.0/db_1
node2 NOVADB2 /opt/ora10g/product/10.2.0/db_1
显示指定集群数据库的所有服务
[root@node1 ~]# srvctl config service -d NOVADB
NOVADB PREF: NOVADB1 NOVADB2 AVAIL:
显示节点应用程序的配置 —(VIP、GSD、ONS、监听器)
[root@node1 ~]# srvctl config nodeapps -n node1 -a -g -s -l
VIP exists.: /node1-vip/192.168.150.224/255.255.255.0/eth0
GSD exists.
ONS daemon exists.
Listener exists.
利用srvctl config命令可以看到现有数据库的配置信息:
[root@node1 ~]# srvctl config database -d NOVADB -a
node1 NOVADB1 /opt/ora10g/product/10.2.0/db_1
node2 NOVADB2 /opt/ora10g/product/10.2.0/db_1
DB_NAME: NOVADB
ORACLE_HOME: /opt/ora10g/product/10.2.0/db_1
SPFILE: +RAC_DISK/NOVADB/spfileNOVADB.ora
DOMAIN: null
DB_ROLE: null
START_OPTIONS: null
POLICY: AUTOMATIC
ENABLE FLAG: DB ENABLED
显示 ASM 实例的配置
[root@node1 ~]# srvctl config asm -n node1
+ASM1 /opt/ora10g/product/10.2.0/db_1
[root@node1 ~]# srvctl config asm -n node2
+ASM2 /opt/ora10g/product/10.2.0/db_1
集群中所有正在运行的实例
SQL> r
1 SELECT
2 inst_id
3 , instance_number inst_no
4 , instance_name inst_name
5 , parallel
6 , status
7 , database_status db_status
8 , active_state state
9 , host_name host
10 FROM gv$instance
11* ORDER BY inst_id
rows will be truncated
INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE
———- ———- —————- — ———— —————– ——
1 1 NOVADB1 YES OPEN ACTIVE NORMAL
2 2 NOVADB2 YES OPEN ACTIVE NORMAL
SQL>
位于磁盘组中的所有数据文件
SQL> select name from v$datafile
union
select member from v$logfile
union
select name from v$controlfile
union
select name from v$tempfile;
NAME
——————————————————————————–
+RAC_DISK/novadb/controlfile/current.260.685491565
+RAC_DISK/novadb/datafile/nova_test.268.686337643
+RAC_DISK/novadb/datafile/sysaux.257.685491407
+RAC_DISK/novadb/datafile/system.256.685491401
+RAC_DISK/novadb/datafile/undotbs1.258.685491411
+RAC_DISK/novadb/datafile/undotbs2.264.685491733
+RAC_DISK/novadb/datafile/users.259.685491413
+RAC_DISK/novadb/onlinelog/group_1.261.685491571
+RAC_DISK/novadb/onlinelog/group_2.262.685491575
+RAC_DISK/novadb/onlinelog/group_3.265.685491915
+RAC_DISK/novadb/onlinelog/group_4.266.685491921
NAME
——————————————————————————–
+RAC_DISK/novadb/tempfile/temp.263.685491617
12 rows selected.
SQL>
属于“RAC_DISK”磁盘组的所有 ASM 磁盘
SQL> SELECT path FROM v$asm_disk WHERE group_number IN (select group_number from v$asm_diskgroup where name = ‘RAC_DISK’);
PATH
——————————————————————————–
/dev/raw/raw3
/dev/raw/raw4
ORCL:NOVA3
启动/停止RAC集群
确保是以 oracle UNIX 用户登录的。我们将从rac1节点运行所有命令:
# su – oracle
[oracle@node1 ~]$ hostname
node1
停止 Oracle RAC 10g 环境
第一步是停止 Oracle 实例。当此实例(和相关服务)关闭后,关闭 ASM 实例。最后,关闭节点应用程序(虚拟 IP、GSD、TNS 监听器和 ONS)。
[oracle@node1 ~]$ export ORACLE_SID=NOVADB1
[oracle@node1 ~]$ emctl stop dbconsole
[oracle@node1 ~]$ srvctl stop instance -d NOVADB -i NOVADB1
[oracle@node1 ~]$ srvctl stop asm -n node1
[oracle@node1 ~]$ srvctl stop nodeapps –n node1