想学会更多实用技巧,欢迎加入青学会MOP技术社区(实名社区)。
加入方法:公众号后台回复关键字“加入”获取小助手微信,添加后登记入会。
同时欢迎大家在评论区留言互动交流!社区会不定期举行相关的抽奖、公开分享活动。
如果你有想了解的知识点希望我们发文可以后台私信。
正文开始
在当今的企业级应用环境中,高可用性和高性能成为了系统架构设计的关键要素。Oracle Real Application Clusters (RAC) 作为一款强大的数据库解决方案,通过允许多个节点共享同一个数据库,不仅提升了数据处理能力,还显著增强了系统的容错能力和业务连续性。然而,为了充分发挥 RAC 的优势,数据库管理员需要掌握一系列专门的管理命令来监控、配置和维护 RAC 环境。
检查集群及资源状态
检查集群状态
grid$> crsctl check cluster -all
这条命令用来检查整个集群的状态,确认所有节点是否都在正常运行。
检查资源状态
grid$> crsctl status resource -t
使用此命令可以查看集群中各个资源的状态,包括但不限于数据库、监听器等。
检查核心堆栈状态
grid$> crsctl status res -t -init
该命令用于检查集群初始化资源的状态,确保核心组件正确启动。
配置与状态查询
查看集群配置的数据库
oracle$> srvctl config
列出集群中配置的所有数据库实例。
查询具体数据库配置
oracle$> srvctl config database -db racdb_icn1gb
查看指定RAC数据库的详细配置信息,如实例名、监听地址等。
检查数据库运行状态
oracle$> srvctl status database -db racdb_icn1gb
获取指定数据库的当前运行状态,包括各个实例的状态。
监听器状态
oracle$> srvctl status listener
查询监听器的服务状态,确保其正常工作。
SCAN监听状态
oracle$> srvctl status scan_listener
特别针对SCAN(Single Client Access Name)监听器,检查其状态。
服务管理
添加服务
oracle$> srvctl add service -db racdb_icn1gb -service srv_abc -preferred "racdb1" -available "racdb2"
在指定数据库上创建新的服务,并设置首选实例和可用实例。
启动服务
oracle$> srvctl start service -db racdb_icn1gb -service srv_abc
启动之前添加的服务。
查询服务状态
oracle$> srvctl status service -db racdb_icn1gb -service srv_abc
检查特定服务的运行情况。
查询所有服务状态
oracle$> srvctl status service -db racdb_icn1gb
查看数据库下所有服务的状态。
迁移服务
oracle$> srvctl relocate service -db racdb_icn1gb -service srv_test -oldinst racdb1 -newinst racdb2
将服务从一个实例迁移到另一个实例。
数据库与实例操作
停止数据库
oracle$> srvctl stop database -db racdb_icn1gb -o immediate
立即停止指定数据库及其所有实例。
启动数据库
oracle$> srvctl start database -db racdb_icn1gb
启动指定数据库的所有实例。
停止实例
oracle$> srvctl stop instance -db racdb_icn1gb -i racdb1 -o immediate -force
强制立即停止指定实例。
启动实例
oracle$> srvctl start instance -db racdb_icn1gb -i racdb1
启动指定实例。
集群件管理
检查集群件自启动状态
root#> crsctl config crs
显示集群件的配置信息,包括自启动设置。
禁止集群件自启动
root#> crsctl disable crs
关闭集群件的自动启动功能。
停止集群件
root#> crsctl stop crs
停止整个集群件服务。
启动集群件
root#> crsctl start crs
启动集群件服务。
日志查看
集群件日志路径
$ORACLE_HOME/log/${hostname}/alert${sid}.log ---- 11g
$ORACLE_BASE/diag/crs/${主机名}/crs/trace ---- 19c
ASM日志路径
$ORACLE_BASE/diag/asm/+asm/${ASM实例名}/trace
/app/oracle/grid/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log
如下查看集群其他日志,以前也写过一篇 Oracle 19C RAC 集群日志位置变化.另外,还有一篇关于 ASM 磁盘组常用命令的文章,你也可能需要。
往期文章回顾
MOP社区新闻
金仓专栏
告别繁琐!KingbaseES v9数据库一键安装-青学会&金仓专栏(1)
KingbaseES v9数据库Docker安装-青学会&金仓专栏(2)
DBA实战小技巧
实战:记一次RAC故障排查
DBA实战运维小技巧安装篇(一)Oracle 主流版本不同架构下的静默安装指南
DBA实战运维小技巧存储篇(一)根目录满了如何处理
DBA实战运维小技巧存储篇(二)打包迁移单机数据库至新存储
MOP社区投稿-内核开发
简单解析 IvorySQL 增强 Oracle xml 兼容能力的原理
简单讨论 PostgreSQL C语言拓展函数返回数据表的方式
简单分析 pg_config 程序的作用与原理
Redis 日志机制简介(一):SlowLog
Redis 日志机制简介(二):AOF 日志
Redis 日志机制简介(三):RDB 日志
pg_cron插件使用介绍
Redis 的指令表实现机制简介
pg几款源码工具介绍
Redis 事务功能简介