使RAC环境稳定运行的首要三件事nbsp;nbsp;…

2023-10-17 03:58

本文主要是介绍使RAC环境稳定运行的首要三件事nbsp;nbsp;…,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使RAC环境稳定运行的首要三件事

By Allen Gao on 六月 15, 2012
from :https://blogs.oracle.com/Database4CN/entry/使rac环境稳定运行的首要三件事


确保您的核心数据库基础架构实现高可用性和可扩展性在很多时候是一个复杂的任务。然而,在世界范围内每天有成千上万的Oracle RAC系统都能够成功完成这个复杂的任务。而保证在扩展您的系统同时,又能够最大化系统正常运行时间的一个关键,就是应用确保RAC系统稳定运行的最佳实践,这些最佳实践已经经过时间的验证并且在很多系统上都被成功应用。在这篇文章中,将会讨论3个所有RAC系统都应该遵守的最佳实践。


本文内容主要基于MOS 文章"Top 11 Things to do NOW
to Stabilize your RAC Cluster Environment
DOC ID 1344678.1)。然而,在这里,我们将只介绍3件最重要和最关键的事情,使您的群集环境更加稳定。虽然许多这些概念和最佳实践不是新的,事实上,许多概念和最佳实践已经被介绍了多年,但是,根据技术支持所解决的问题统计,我们发现由于没有遵守最佳实践而导致的问题数量,仍然是一个惊人的数字。因此,这篇文章的目的是阐明这些基本的最佳实践的作用,以尽可能的避免RAC DBA的痛苦。


了解补丁集更新 (PSU)策略,尽快应用最新发布的PSU


这是名单上的第一个主题,也是最关键的。Oracle每季度发布的补丁集更新(PSU)。这些PSU中包含了少数关键修复。至关重要的是,这些PSU应该定期在您的环境中应用。每个季度更新PSU补丁是极力推荐的,但如果您的系统不能每个季度更新PSU,您应该争取至少每6个月更新一次。这样做会大大降低您命中常见BUG的可能性,而且如果问题确实出现,也将大大缩短解决问题的时间。根据最近的统计,在过去9个月中,新建的RAC和集群(ClusterBUG,低于7%的新BUG需要修正代码,其中近三分之一为已知BUG的重复问题。这些问题本来是可以通过应用当前的PSU避免的。对于RAC的客户,PSU有几个关键的优势:



  • PSU可以仅打在Grid InfrastructureGIhome,而无须在同一时间应用到RDBMS home如果需要的话,只要GI home首先打了PSU,可以在其它home上单独应用,缩短了维护时间。由于GI不会直接影响您的应用程序,许多客户发现,相比RDBMS PSUGI PSU需要较少的测试。由于GI home可以独立应用PSU,所以也可以早于RDBMS更新PSU

  • RAC环境中的PSU可以通过rolling的方式安装 这种方式同时适用于GI RDBMS。这意味着只要通过适当的测试和计划,应用PSU不需要停机时间,这对于高可用性环境是至关重要的。


如果您的版本不在最新的PSU,我们建议尽快制定计划纠正,并努力保持在当前的PSU。底线是,投入在RAC环境上的规划定期检测和应用PSU的时间,会通过避免问题而节省大量的问题解决时间。


关于PSU的更多信息, 请参考下面的MOS文章:



  • NOTE 854428.1 Intro to
    Patch Set Updates (PSU)

  • NOTE 1082394.1 11.2.0.X Grid Infrastructure PSU Known
    Issues

  • NOTE 756671.1 Oracle
    Recommended Patches -- Oracle Database

  • NOTE 161549.1 Oracle
    Database, Networking and Grid Agent Patches for Microsoft Platforms

  • NOTE 810394.1 RAC and
    Oracle Clusterware Best Practices and Starter Kit


11gR2之前版本的集群,将Diagwait设置为13


2012年,接近45%的服务请求是关于11gR2之前版本的集群,虽然设置diagwait13已经做为RAC最佳实践之一实行了多年,但是由于diagwait值没有被正确设置而引起的问题,仍然是一个惊人的数字。从本质上讲, diagwait值在RAC环境中控制着两件关键的事情:



  • 默认情况下,集群守护进程OPROCD的超时值为1秒和0.5秒的时间差,这意味着,如果OPROCD不能在 1.5秒内返回,系统会被重启。设置diagwait为推荐值13会将OPROCD的默认超时时差增加到10秒( diagwait - CSS重启时间[默认为3]),从而防止大量由于OPROCD没有在定义的时间内返回而导致的''的节点重启。对于繁忙的系统,1.5秒的默认值太小了。长期推荐的办法是将OPROCD超时提高到一个更为合理的值11秒(1秒休眠时间+10秒时间差)。

  • 当节点驱逐/重启事件发生时,增加diagwait,我们更可能在重新启动之前将日志信息刷新到磁盘,因此,缩短寻找问题根本原因时间。


11g2版(11.2.0.1和更高版本)开始,这一变化不再是必要的。然而,对于之前的版本,这个改变必须在一个完整的停机时间进行,而且这个值不能通过补丁修正。因此,必须安排停机时间手动修改。鉴于已知通过设置diagwait解决的问题的数量,申请停机时间来修改它是值得的投入。请注意,因为这个值存储在Oracle集群注册表(OCR),如果您的确需要重建OCR或从一个之前的备份恢复,您可能需要重新设置diagwai。检查当前值可以通过以下简单的命令:


# $CLUSTERWARE_HOME\bin\crsctl get css diagwait


关于更多DIAGWAIT的信息,请参考下面的MOS文章:



  • NOTE
    567730.1
    Changes in Oracle Clusterware on Linux with the 10.2.0.4
    Patchset

  • NOTE
    559365.1
    Using Diagwait as a diagnostic to get more information for
    diagnosing Oracle Clusterware Node evictions

  • NOTE
    810394.1
    RAC and Oracle Clusterware Best Practices and Starter Kit


应用OS Watcher Black BoxOSWbb Cluster Health MonitorCHM


虽然您可能不认为OS监控可以作为一种预防性的工具,但是,它实际上是。OS Watcher Black BoxOSWbb)(原名OS Watcher)和Cluster Health MonitorCHM)的目的是收集有关OS的信息,帮助DBA和系统管理员识别集群问题的原因。如果不能直接预防问题发生,那么在问题第一次出现的时候,有更多的数据进行分析,就可以增加防止同样问题在未来再次发生的可能性。如果OS的指标被密切监测,您有可能在问题即将发生前,在它对您的环境造成实际影响之前发现问题。


OSWbb是一个非常轻量级的,但非常有效的,定期搜集OS统计信息的工具。除了非常轻便,与标准的OS监控工具相比OSWbb的好处是双重的:



  • 默认情况下,它每30秒搜集一次信息。许多OS监控工具使用更大的时间间隔(例如5分钟)收集信息。在解决节点驱逐或实例驱逐问题时,每1分钟或5分钟搜集数据与实际所需要的时间间隔差距太大了。以30秒甚至更短的间隔,Oracle技术支持更有可能了解在问题期间OS的行为。对于节点重启的问题,Oracle技术支持建议OSWbb20秒收集一次信息。

  • OSWbb的第二个关键优势是它可以很容易的被Oracle技术支持分析。当然您可以自由的使用其它OS监控工具,但是,您可能需要借助第三方供应商解释这些信息。由于缺乏对Oracle集群的基本理解,这样做会减慢问题解决的进程,甚至可能将问题导向错误的解决方向。


从版本11.2.0.3开始,在所有的平台(HP-UX除外)上,Oracle GI包含了新的监测工具,Cluster Health Monitor (CHM)CHM也是轻量级的,收集数据比OSW更加频繁,然而,数据保留时间比OSW短。因此,这两个工具是互补的。


Oracle技术支持强烈建议所有的集群环境都安装OSWbb/CHM,并确保能够正常运行,旨在对群集的运作提供额外的信息和深入了解,从而提高稳定性。至于OSWbb,请确保该工具安装在每个RAC节点,并且在系统重新启动后仍然能够自动启动(请参阅NOTE 580513.1“How To Start
OS Watcher Black Box Every System Boot”
获得更多信息)。


关于OSWbbCHM的更多信息, 请参考下面的MOS文章:



  • NOTE
    301137.1
    OS Watcher Black Box User Guide

  • NOTE
    1328466.1
    Cluster
    Health Monitor (CHM) FAQ

  • NOTE
    810394.1
    RAC and Oracle Clusterware Best Practices and Starter
    Kit


总结


本文重点介绍了您的RAC/ Oracle集群环境中应注意的最关键的3个领域。认真地执行以上3项,您将在确保RAC系统的稳定上,迈出重大的一步。查看完整的建议列表,请参阅以下MOS文章:



  • NOTE 1344678.1 Top 11 Things to do NOW
    to Stabilize your RAC Cluster Environment

除此以外,请加入 MOS-RAC/Scalability community 社区,和 Oracle 专家以及世界各地的用户,讨论您的 RAC/ Oracle 集群问题。

这篇关于使RAC环境稳定运行的首要三件事nbsp;nbsp;…的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/222772

相关文章

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

eclipse如何运行springboot项目

《eclipse如何运行springboot项目》:本文主要介绍eclipse如何运行springboot项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目js录当在eclipse启动spring boot项目时出现问题解决办法1.通过cmd命令行2.在ecl