Oracle RAC架构图和常用命令

转至:https://www.cnblogs.com/yaoyangding/p/15596308.html

Oracle RAC(实时应用集群)是Oracle数据库完全高可用体系解决方案中的一个关键产品,传统大型企业的核心、重要业务系统都采用了Oracle RAC以保障其稳定的数据服务能力。

Oracle RAC是什么样的架构?

我们来了解下,Oracle RAC实时应用集群是一个什么样的架构呢,当前Oracle 主流使用是的Oracle9i、10g、11g版本,可以支持24 x 7 有效的数据库应用系统,能在低成本服务器上构建高可用性数据库系统,并且应用无需修改代码可以自由部署;

Oracle RAC架构如下:

 

RAC的数据放在共享存储上,计算由数台服务器提供

 

 

RAC在传统物理环境下的部署结构

Oracle RAC优点:
1、高并发,但不一定是高性能;

2、高可用性;

  1. 负载均衡。

RAC不足:
1、相对单机,运维更复杂;

2、SQL性能可能不如单节点更快;

 

再看Oracle RAC的一些常用命令,参考链接: https://www.modb.pro/db/33922

Oracle Clusterware的命令集可以分为以下4种,其中用的最多的是crsctl和srvctl:
节点层:osnodes
  olsnodes -n -i -s
  olsnodes -l -p

网络层:oifcfg
  oifcfg iflist
  oifcfg iflist -p -n
  oifcfg getif

集群层:crsctl, ocrcheck,ocrdump,ocrconfig
  crs_stat -t
  crsctl stat res -t

crsctl对集群组件进行操作
  crsctl check crs,css, ctss,evm,has
  crsctl check cluster -all
  ps -ef | grep crsd,cssd,ctssd,evm,ohas
停止和启动集群的命令(root下单节点,需要添加环境变量):
  crsctl stop has/crsctl stop crs
  crsctl start has/crsctl start crs
  crsctl config has
  crsctl disable has
  crsctl enable has
控制多个节点
  crsctl stop cluster -all

应用层:srvctl,onsctl,crs_stat
  srvctl对集群资源进行操作
  srvctl status -h

检查所有Oracle实例状态

srvctl status database -d spdb
  srvctl config database -d spdb -a -v

检查单个实例状态
  srvctl status instance -d spdb -i spdb1
  srvctl status instance -d spdb -i spdb2

节点应用程序状态
  srvctl status nodeapps

监听器状态以及配置
  srvctl status listener
  srvctl status listener -l listener1
  srvctl status scan_listener

ASM状态
  srvctl status asm
  srvctl status asm -a
  srvctl status asm -v

VIP状态
  srvctl status vip -n rac1
  srvctl status vip -n rac2

srvctl查看配置
  srvctl config -h

列出所有的配置数据库

srvctl config database   #列出安装的数据库

srvctl config database -d spdb -a   #检查数据库相关的信息

监听配置
  srvctl config listener
  srvctl config listener -a
ASM配置
  srvctl config asm
  srvctl config asm -a
SCAN配置
  srvctl config scan
  srvctl config scan_listener
VIP配置
  srvctl config vip -n rac1
  srvctl config vip -n rac2
节点应用程序配置
  srvctl config nodeapps

验证所有集群节点间的时钟
  cluvfy comp clocksync -n rac1,rac2 -verbose

select instance_name,status from gv$instance;
  srvctl start database -d spdb    # 启动数据库,所有节点的实例
  srvctl stop database -d spdb   # 关闭数据库,所有节点的实例
  srvctl start instance -d fxdb -i spdb1   # 启动指定的实例
  srvctl stop instance -d spdb -i spdb1   # 关闭指定实例

srvctl start instance -d fxdb -i spdb1 -o mount
  srvctl stop instance -d fxdb -i spdb1 -o immediate
  srvctl stop instance -d fxdb -i spdb1 -o abort

 

posted @ 2022-02-18 17:15  study_goup  阅读(697)  评论(0编辑  收藏  举报