你不可不看的 Oracle RAC 日常基本维护命令

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

所有实例和服务的状态


$ 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



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




 
  1. inst_id

  2. , instance_number inst_no

  3. , instance_name inst_name

  4. , parallel

  5. , status

  6. , database_status db_status

  7. , active_state state

  8. , host_name host

  9. FROM gv$instance

  10. ORDER BY inst_id;

  11. INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST

  12. -------- -------- ---------- --- ------- ------------ --------- -------

  13. 1 1 orcl1 YES OPEN ACTIVE NORMAL rac1

  14. 2 2 orcl2 YES OPEN ACTIVE NORMAL rac2


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




 
  1. union

  2. select member from v$logfile

  3. union

  4. select name from v$controlfile

  5. union

  6. select name from v$tempfile;

  7. NAME

  8. -------------------------------------------

  9. +FLASH_RECOVERY_AREA/orcl/controlfile/current.258.570913191

  10. +FLASH_RECOVERY_AREA/orcl/onlinelog/group_1.257.570913201

  11. +FLASH_RECOVERY_AREA/orcl/onlinelog/group_2.256.570913211

  12. +FLASH_RECOVERY_AREA/orcl/onlinelog/group_3.259.570918285

  13. +FLASH_RECOVERY_AREA/orcl/onlinelog/group_4.260.570918295

  14. +ORCL_DATA1/orcl/controlfile/current.259.570913189

  15. +ORCL_DATA1/orcl/datafile/example.257.570913311

  16. +ORCL_DATA1/orcl/datafile/indx.270.570920045

  17. +ORCL_DATA1/orcl/datafile/sysaux.260.570913287

  18. +ORCL_DATA1/orcl/datafile/system.262.570913215

  19. +ORCL_DATA1/orcl/datafile/undotbs1.261.570913263

  20. +ORCL_DATA1/orcl/datafile/undotbs1.271.570920865

  21. +ORCL_DATA1/orcl/datafile/undotbs2.265.570913331

  22. +ORCL_DATA1/orcl/datafile/undotbs2.272.570921065

  23. +ORCL_DATA1/orcl/datafile/users.264.570913355

  24. +ORCL_DATA1/orcl/datafile/users.269.570919829

  25. +ORCL_DATA1/orcl/onlinelog/group_1.256.570913195

  26. +ORCL_DATA1/orcl/onlinelog/group_2.263.570913205

  27. +ORCL_DATA1/orcl/onlinelog/group_3.266.570918279

  28. +ORCL_DATA1/orcl/onlinelog/group_4.267.570918289

  29. +ORCL_DATA1/orcl/tempfile/temp.258.570913303

  30. 21 rows selected.



属于 “ORCL_DATA1” 磁盘组的所有 ASM 磁盘



 
  1. FROM v$asm_disk

  2. WHERE group_number IN (select group_number

  3. from v$asm_diskgroup

  4. where name = 'ORCL_DATA1');

  5. PATH

  6. ----------------------------------

  7. ORCL:VOL1

  8. 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


启停止监听



 
  1. hostb$lsnrctl start listener_hostb

  2. hostb$lsnrctl stop listener_hostb 备份 votning diskdd if=voting_disk_name f=backup_file_name

  3. dd if=/dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s4 f=votingdisk.bak# dd if=/dev/zero f=/dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s4 bs=512 count=261120

  4. 测试

  5. # dd if=/dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s4 f=/data/backup/rac/vd_backup0420.bak

  6. 261120+0 记录进入

  7. 261120+0 记录调出

  8. # cd /data/backup/rac  

  9. # ls

  10. ocr0420.bak         ocrdisk             vd_backup0420.bak   votingdisk.bak      votingdisk0420.bak

  11. # dd if=/data/backup/rac/vd_backup0420.bak f=/dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s4

  12. 261120+0 记录进入

  13. 261120+0 记录调出备份 OCR 磁盘

  14. 查看备份

  15. $ocrconfig -showbackup

  16. 备份

  17. /data/oracle/crs/bin/ocrconfig -export /data/backup/rac/ocrdisk.bak

  18. 还原 需要停掉所有的节点,Stop the Oracle Clusterware software on all of the nodes

  19. /data/oracle/crs/bin/ocrconfig -import file_name

  20. 自动备份的还原# /data/oracle/crs/bin/ocrconfig -showbackup

  21. # /data/oracle/crs/bin/ocrconfig -restore /data/oracle/crs/cdata/db168crs/backup00.ocrhosta$cluvfy comp ocr -n all // 检验

  22. ocr 检查

  23. #ocrcheck 配置路径在

  24. /var/opt/oracle/ocrconfig_loc 文件里面 如果需要更改 OCR 磁盘的路径配置。

  25. OCR 磁盘空间检查

  26. # /data/oracle/crs/bin/ocrcheck

  27. Status of Oracle Cluster Registry is as follows :

  28.         Version                  :          2

  29.         Total space (kbytes)     :     399752

  30.         Used space (kbytes)      :       3784

  31.         Available space (kbytes) :     395968

  32.         ID                       : 148562961

  33.         Device/File Name         : /dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s5

  34.                                    Device/File integrity check succeeded                                    Device/File not configured         Cluster registry integrity check succeeded#

ASM 实例的状态


 
  1. ASM 实例 +ASM1 正在节点 hosta 上运行。

  2. hosta$ 特定节点上节点应用程序的状态

  3. hosta$srvctl status nodeapps -n hosta

  4. VIP 正在运行的节点: hosta

  5. GSD 正在运行的节点: hosta

  6. 监听程序未在节点上运行: hosta

  7. ONS 守护程序正在节点上运行: hosta

  8. hosta$ 所有实例和服务的状态

  9. hosta$srvctl status database -d cole

  10. 实例 cole1 正在节点 hosta 上运行

  11. 实例 cole2 正在节点 hostb 上运行

  12. hosta$ 列出配置的所有数据库

  13. hosta$srvctl config database

  14. cole

  15. hosta$

  16. 显示 RAC 数据库的配置 hosta$srvctl config database -d cole

  17. hosta cole1 /data/oracle/OracleHome

  18. hostb cole2 /data/oracle/OracleHome

  19. hosta$ 显示 ASM 实例的配置

  20. hosta$srvctl config asm -n hosta

  21. +ASM1 /data/oracle/OracleHome 显示节点应用程序的配置 -(VIP、GSD、ONS、监听器)

  22. hosta$srvctl config nodeapps -n hosta -a -g -s -l

  23. VIP 已存在。: /a1-vip/10.1.1.9/255.255.0.0/ce0

  24. GSD 已存在。

  25. ONS 守护程序已存在。

  26. 监听程序已存在。

  27. hosta$

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

  29. SELECT

  30. inst_id

  31. , instance_number inst_no

  32. , instance_name inst_name

  33. , parallel

  34. , status

  35. , database_status db_status

  36. , active_state state

  37. , host_name host

  38. FROM gv$instance

  39. ORDER BY inst_id;   INST_ID    INST_NO INST_NAME        PAR STATUS       DB_STATUS STATE     HOST

  40. ---------- ---------- ---------------- --- ------------ -------------------------- -

  41.         1          1 cole1            YES OPEN         ACTIVE      NORMAL    hosta         2          2 cole2            YES OPEN         ACTIVE      NORMAL    hostb


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


 
  1. SQL> select name from v$datafile

  2. union

  3. select member from v$logfile

  4. union

  5. select name from v$controlfile

  6. union

  7. select name from v$tempfile;



资源下载

关注公众号:数据和云(OraNews)回复关键字获取

‘2017DTC’,2017 DTC 大会 PPT

‘DBALIFE’,“DBA 的一天”海报

‘DBA04’,DBA 手记4 经典篇章电子书

‘RACV1’, RAC 系列课程视频及 PPT

‘122ARCH’,Oracle 12.2 体系结构图

‘2017OOW’,Oracle OpenWorld 资料

‘PRELECTION’,大讲堂讲师课程资料

640?wx_fmt=png

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
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页