Oracle RAC日常基本维护命令
所有实例和服务的状态
$ srvctl status database -d orcl
Instance
orcl1 is running on node linux1
Instance orcl2 is running on node
linux2
单个实例的状态
$ srvctl status instance -d orcl -i orcl2
Instance
orcl2 is running on node linux2
在数据库全局命名服务的状态
$ srvctl status service
-d orcl -s orcltest
Service orcltest is running on instance(s) orcl2,
orcl1
特定节点上节点应用程序的状态
$ srvctl status nodeapps -n linux1
VIP is
running on node: linux1
GSD is running on node: linux1
Listener is running
on node: linux1
ONS daemon is running on node: linux1
ASM 实例的状态
$
srvctl status asm -n linux1
ASM instance +ASM1 is running on node
linux1.
列出配置的所有数据库
$ srvctl config database
orcl
显示 RAC
数据库的配置
$ srvctl config database -d orcl
linux1 orcl1
/u01/app/oracle/product/10.2.0/db_1
linux2 orcl2
/u01/app/oracle/product/10.2.0/db_1
显示指定集群数据库的所有服务
$ srvctl config
service -d orcl
orcltest PREF: orcl2 orcl1 AVAIL:
显示节点应用程序的配置
—(VIP、GSD、ONS、监听器)
$ srvctl config nodeapps -n linux1 -a -g -s -l
VIP
exists.: /linux1-vip/192.168.1.200/255.255.255.0/eth0:eth1
GSD exists.
ONS
daemon exists.
Listener exists.
显示 ASM 实例的配置
$ srvctl config asm -n
linux1
+ASM1
/u01/app/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 orcl1 YES OPEN ACTIVE NORMAL rac1
2 2
orcl2 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/orcl/controlfile/current.258.570913191
+FLASH_RECOVERY_AREA/orcl/onlinelog/group_1.257.570913201
+FLASH_RECOVERY_AREA/orcl/onlinelog/group_2.256.570913211
+FLASH_RECOVERY_AREA/orcl/onlinelog/group_3.259.570918285
+FLASH_RECOVERY_AREA/orcl/onlinelog/group_4.260.570918295
+ORCL_DATA1/orcl/controlfile/current.259.570913189
+ORCL_DATA1/orcl/datafile/example.257.570913311
+ORCL_DATA1/orcl/datafile/indx.270.570920045
+ORCL_DATA1/orcl/datafile/sysaux.260.570913287
+ORCL_DATA1/orcl/datafile/system.262.570913215
+ORCL_DATA1/orcl/datafile/undotbs1.261.570913263
+ORCL_DATA1/orcl/datafile/undotbs1.271.570920865
+ORCL_DATA1/orcl/datafile/undotbs2.265.570913331
+ORCL_DATA1/orcl/datafile/undotbs2.272.570921065
+ORCL_DATA1/orcl/datafile/users.264.570913355
+ORCL_DATA1/orcl/datafile/users.269.570919829
+ORCL_DATA1/orcl/onlinelog/group_1.256.570913195
+ORCL_DATA1/orcl/onlinelog/group_2.263.570913205
+ORCL_DATA1/orcl/onlinelog/group_3.266.570918279
+ORCL_DATA1/orcl/onlinelog/group_4.267.570918289
+ORCL_DATA1/orcl/tempfile/temp.258.570913303
21
rows selected.
属于“ORCL_DATA1”磁盘组的所有 ASM 磁盘
SELECT path
FROM
v$asm_disk
WHERE group_number IN (select group_number
from
v$asm_diskgroup
where name =
'ORCL_DATA1');
PATH
----------------------------------
ORCL:VOL1
ORCL:VOL2
启动/停止RAC集群
确保是以
oracle UNIX 用户登录的。我们将从rac1节点运行所有命令:
# su – oracle
$ hostname
Rac1
停止
Oracle RAC 10g 环境
第一步是停止 Oracle 实例。当此实例(和相关服务)关闭后,关闭 ASM
实例。最后,关闭节点应用程序(虚拟 IP、GSD、TNS 监听器和 ONS)。
$ export ORACLE_SID=orcl1
$ emctl
stop dbconsole
$ srvctl stop instance -d orcl -i orcl1
$ srvctl stop asm
-n rac1
$ srvctl stop nodeapps –n rac1
启动 Oracle RAC 10g
环境
第一步是启动节点应用程序(虚拟 IP、GSD、TNS 监听器和 ONS)。当成功启动节点应用程序后,启动 ASM 实例。最后,启动 Oracle
实例(和相关服务)以及企业管理器数据库控制台。
$ export ORACLE_SID=orcl1
$ srvctl start
nodeapps -n rac1
$ srvctl start asm -n rac1
$ srvctl start instance -d
orcl -i orcl1
$ emctl start dbconsole
使用 SRVCTL
启动/停止所有实例
启动/停止所有实例及其启用的服务。我只是觉得有意思就把此步骤作为关闭所有实例的一种方法加进来了!
$ srvctl start
database -d orcl
$ srvctl stop database -d orcl
启停止监听
hostb$lsnrctl
start listener_hostb
hostb$lsnrctl stop listener_hostb备份votning diskdd
if=voting_disk_name f=backup_file_name
dd
if=/dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s4 f=votingdisk.bak# dd
if=/dev/zero f=/dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s4 bs=512
count=261120
测试
# dd if=/dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s4
f=/data/backup/rac/vd_backup0420.bak
261120+0 记录进入
261120+0 记录调出
# cd
/data/backup/rac
# ls
ocr0420.bak ocrdisk
vd_backup0420.bak votingdisk.bak votingdisk0420.bak
# dd
if=/data/backup/rac/vd_backup0420.bak
f=/dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s4
261120+0 记录进入
261120+0
记录调出备份OCR磁盘
查看备份
$ocrconfig
-showbackup
备份
/data/oracle/crs/bin/ocrconfig -export
/data/backup/rac/ocrdisk.bak
还原 需要停掉所有的节点,Stop the Oracle Clusterware
software on all of the nodes
/data/oracle/crs/bin/ocrconfig -import
file_name
自动备份的还原# /data/oracle/crs/bin/ocrconfig -showbackup
#
/data/oracle/crs/bin/ocrconfig -restore
/data/oracle/crs/cdata/db168crs/backup00.ocrhosta$cluvfy comp ocr -n all
//检验
ocr 检查
#ocrcheck配置路径在
/var/opt/oracle/ocrconfig_loc文件里面
如果需要更改OCR磁盘的路径配置。
OCR磁盘空间检查
# /data/oracle/crs/bin/ocrcheck
Status of
Oracle Cluster Registry is as follows :
Version :
2
Total space (kbytes) : 399752
Used
space (kbytes) : 3784
Available space (kbytes) :
395968
ID : 148562961
Device/File
Name : /dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s5
Device/File integrity check succeeded
Device/File not configured Cluster registry integrity
check succeeded#
ASM 实例的状态
hosta$srvctl status asm -n hosta
ASM
实例 +ASM1 正在节点 hosta 上运行。
hosta$特定节点上节点应用程序的状态
hosta$srvctl status nodeapps
-n hosta
VIP 正在运行的节点: hosta
GSD 正在运行的节点: hosta
监听程序未在节点上运行:
hosta
ONS 守护程序正在节点上运行:hosta
hosta$所有实例和服务的状态
hosta$srvctl status
database -d cole
实例 cole1 正在节点 hosta 上运行
实例 cole2 正在节点 hostb
上运行
hosta$列出配置的所有数据库
hosta$srvctl config database
cole
hosta$
显示
RAC 数据库的配置hosta$srvctl config database -d cole
hosta cole1
/data/oracle/OracleHome
hostb cole2 /data/oracle/OracleHome
hosta$显示 ASM
实例的配置
hosta$srvctl config asm -n hosta
+ASM1
/data/oracle/OracleHome显示节点应用程序的配置 -(VIP、GSD、ONS、监听器)
hosta$srvctl config
nodeapps -n hosta -a -g -s -l
VIP 已存在。:
/a1-vip/10.1.1.9/255.255.0.0/ce0
GSD 已存在。
ONS
守护程序已存在。
监听程序已存在。
hosta$
集群中所有正在运行的实例
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 cole1 YES OPEN ACTIVE NORMAL hosta 2
2 cole2 YES OPEN ACTIVE NORMAL
hostb
位于磁盘组中的所有数据文件
SQL> select name from
v$datafile
union
select member from v$logfile
union
select name from
v$controlfile
union
select name from v$tempfile;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30936525/viewspace-2016739/
,如需转载,请注明出处,否则将追究法律责任。