暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle RAC 日常基本维护命令

原创 逆风飞翔 2022-10-06
288

所有实例和服务的状态


$ 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



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


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




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


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 磁盘




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 实例的状态


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;


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论