颠覆传统:利用 Oracle RAC 管理命令提升效率

科技   2024-11-27 08:00   中国  

点击上方蓝字,关注我们


想学会更多实用技巧,欢迎加入青学会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 磁盘组常用命令的文章,你也可能需要。


END

往期文章回顾

MOP社区新闻

  青学会MOP技术社区成立了!

  青学会专家顾问团成员介绍

金仓专栏

  告别繁琐!KingbaseES v9数据库一键安装-青学会&金仓专栏(1)

  KingbaseES v9数据库Docker安装-青学会&金仓专栏(2)

  KingbaseES数据脱敏-青学会&金仓专栏(3)

  KingbaseES后台服务管理-青学会&金仓专栏(4)

  电科金仓KES日常运维命令集锦-青学会&金仓专栏(5)

DBA实战小技巧

  推荐一款超实用的openGauss数据库安装工具!

  实战:记一次RAC故障排查
  DBA实战运维小技巧安装篇(一)Oracle 主流版本不同架构下的静默安装指南
  DBA实战运维小技巧存储篇(一)根目录满了如何处理
  DBA实战运维小技巧存储篇(二)打包迁移单机数据库至新存储

MOP社区投稿-内核开发

  浅谈 PostgreSQL GUC 模块原理

  简单解析 IvorySQL 增强 Oracle xml 兼容能力的原理

  简单讨论 PostgreSQL C语言拓展函数返回数据表的方式

  简单分析 pg_config 程序的作用与原理
  Redis 日志机制简介(一):SlowLog
  Redis 日志机制简介(二):AOF 日志
  Redis 日志机制简介(三):RDB 日志
  pg_cron插件使用介绍
  Redis 的指令表实现机制简介
  pg几款源码工具介绍
  Redis 事务功能简介

MOP顾问说

   MOP顾问说:MOP 三种主流数据库常用 SQL(一)

  MOP顾问说:服务器内存

  MOP 顾问说:Linux Nice 值与 CPU 优先级揭秘


JiekeXu DBA之路
JiekeXu:Oracle ACE-Pro,获 Oracle OCP/OCM 及 MySQL OCP 认证,墨天轮 MVP,利用闲时间记录菜鸟 DBA 学习成长之路,所发布文字属于个人观点和学习笔记,如有错误及不当之处,敬请批评指正!
 最新文章