`

Oracle 10g RAC中的DRM问题及关闭

 
阅读更多

在RAC环境中,Oracle使用GRD(Global Resource Service)来记录各个RAC节点的资源信息,具体通过GCS(Global Cache Service)和GES(Global Enqueue Service)这两个服务进行管理。
      由于在RAC中每个节点都有自己的SGA和buffer cache,为了保证Cache资源的一致性和提高性能,GCS和GES会指定RAC中的一个instance来管理Cache,这个节点这时就是Resource Master。
      在10g以前,Cache资源是不能在各个节点间移动的,除非重启或者某节点因为其他异常被RAC驱逐等情况。而10g的DRM就解 决了这个问题,它可以保证cache能够被remaster到频繁访问这部分数据的节点上,从而提高RAC的性能。DRM的全称是 Dynamic Resource Mastering,metalink上的Doc ID:  390483.1文档详细介绍了DRM的信息。 

      从理论上讲,利用此项技术,非master节点对所需资源有频繁访问需求时,可以提升为master节点,从而减少大量后续的跨节点资源访问需求。
      但是,首先从根本上说,一个好的RAC应用设计,本就应该极尽所能的取避免同一资源的多节点访问,如果不存在同一资源的多节点访问, 则DRM所要解决的问题,就根本不存在。其次,DRM本身是需要消耗资源的,并且存在诸多bug,对于一个设计较差的系统而言,频繁的DRM,也会引发 Libary cache lock而导致实例挂住。
      更严重的,在10.2.0.3系统上,曾经遇到一个case,电信行业的巨型数据库,rac的2号节点由于批量处理作业在非业务时间 段,首先cache了一张40G的表,而到了业务时间段后,rac的1号节点的OLTP业务需要频繁访问该表,此时,故障发生了,由于DRM的介入,2号 节点开始将内存内的40Gcache数据向1号节点传输,心跳网段千兆带宽被耗尽,RAC陷入僵死阶段,足足维持了40分钟。
      事后检查网络流量图,该时段内,私有网络流量持续保持在90M/s的峰值水平。
      根据metalink确认,该问题确实由DRM机制引起,最终解决方案,使用隐含参数,将DRM特性屏蔽:
_gc_affinity_time=0  
_gc_undo_affinity=FALSE 

      因此,从根本上来说,drm的出现,只是在理论上的一种缓解,而并不能在实际的大型应用中发挥其作用。就类似于Oracle自己针对 RAC推出的自动负载平衡一样,只是一种看起来很美的东西,如果真的有人用了,呵呵,那就只能等死吧。或许压力极小的数据库无所谓,但我没遇到过,话又说 回来,压力极小,又何必上RAC呢。
      为了技术而技术,不是我们的最终目的,科技以人为本,技术也一样,人,才是最重要的决定因素。

分享到:
评论

相关推荐

    oracle 10g rac 教程

    Oracle 10g Real Application Clusters (RAC) 是一种高可用性和可伸缩性的数据库解决方案,它允许多个实例同时访问同一个物理数据库。在Oracle RAC中,多个服务器节点共享一个物理数据库,从而提供了故障切换和负载...

    AIX7.1 ORACLE 11G RAC生产环境搭建(含打补丁)

    根据提供的文件内容,这是一份关于在AIX7.1操作系统下安装Oracle 11g RAC(Real Application Clusters)数据库,并包含补丁安装过程的详细指南。以下是从标题、描述、标签以及部分内容中提炼的知识点: ### Oracle ...

    Oracle 11g RAC维护资料.zip

    在Oracle 11g RAC中,关键知识点包括: 1. **RAC架构**:RAC由多个数据库实例(称为节点)组成,它们共享一个物理数据库。每个实例都有自己的内存结构(如SGA)和后台进程,但它们都访问同一个磁盘上的数据文件。...

    Oracle 10g rac on windows2003 using vmware

    《Oracle 10g RAC on Windows 2003 Using VMware》 Oracle数据库是全球广泛使用的数据库管理系统,而Real Application Clusters (RAC) 是Oracle 提供的一种高可用性和可伸缩性的解决方案,它允许多个实例共享同一个...

    OracleRAC数据库集群视频教程(10讲)

    教程名称:Oracle RAC数据库集群视频教程(10讲)课程目录:【】1.OracleRAC集群体系结构_drm【】10.测试OracleRAC数据库集群功能【】2.安装OracleRAC数据库(一)【】3.安装OracleRAC数据库(二)_drm【】4.安装...

    Oracle Database 11g RAC Administration

    以下是Oracle Database 11g RAC管理中的关键知识点: 1. **集群基础知识**:RAC是Oracle数据库的一个特性,它通过共享存储将多个物理服务器节点联结成一个逻辑单元。每个节点都有自己的内存结构(SGA)和后台进程,...

    Oracle+10g+数据库管理艺术

    Oracle 10g数据库管理系统是Oracle公司发布的一款重要的数据库产品,尤其在企业级应用中广泛使用。本资料集“Oracle 10g 数据库管理艺术”深入探讨了Oracle 10g版本中的核心特性和管理技巧,旨在帮助数据库管理员...

    Oracle 9i RAC 管理文档

    ### Oracle 9i RAC 管理文档关键知识点解析 #### 一、Oracle 9i RAC 概述 **Oracle 9i Real Application Clusters (RAC)** 是 Oracle 数据库的一种高可用性解决方案,它允许多个数据库实例同时访问同一组数据文件...

    Oracle RAC 动态资源管理.zip_EDD_oracle_oracle RAC

    在Oracle RAC环境中,动态资源管理(DRM)是用于优化集群内资源分配和调度的机制。DRM通过全局队列和本地队列的概念,确保了数据库工作负载在各个节点间均匀分布,避免了单点过载。全局队列存储跨节点的等待事务,而...

    Oracle RAC Cache Fusion介绍.pdf

    Oracle RAC Cache Fusion 是一种高效的缓存机制,在 Oracle Real Application Clusters (RAC) 环境中, 实现多个节点对数据的并发访问和修改。Cache Fusion 的要点包括高速私有网络、共享存储和节点间的访问机制。 ...

    10g RAC向11g GRID演进.pdf

    在Oracle数据库领域,从10g RAC (Real Application Clusters) 向 11g GRID 的演进是一个重要的技术跨越。这一演进不仅提升了数据库集群的性能与稳定性,还极大地简化了管理和维护工作。 #### 二、11g GRID带来的新...

    Oracle10g的参考手册

    在本参考手册中,你将找到关于Oracle 10g的详尽信息,包括安装、配置、管理、优化以及故障排查等方面的内容。以下是对Oracle 10g主要特性和功能的详细介绍: 1. **网格计算**:Oracle 10g引入了网格计算的理念,...

    商业银行Oracle 11gr2 Rac For Linux安装方案.docx

    文档控制 2 目 录 3 一、硬件及软件需求 4 1.1 硬件需求 4 1.2 操作系统环境准备 5 1.3 本地文件系统 5 1.4 存储划分(VMWARE下) 6 二、安装环境准备 15 ...9.2 在11g RAC中通过如下方式禁用DRM 47

    Oracle_RAC_最佳实践

    ### 在Linux上安装Oracle 10g RAC的步骤 - **运行CVU**:在安装前、安装中和安装后,多次运行CVU进行环境检查。 - **操作系统版本与核心参数**:使用最新的受支持版本,正确配置核心参数,以确保最佳性能。 - **...

    Oracle 10g--为DBA提供的最佳前20位的特性(中文 chm)

    10. **Partitioning Enhancements**:分区功能在10g中得到了扩展,支持更多的分区类型,如范围、列表和哈希分区,增强了大数据处理能力。 11. **Policy-Based Management (PBM)**:PBM允许DBA定义策略,统一管理多...

    oracle-10g-10201-database

    压缩包中的"oracle-10g版.txt"可能是关于Oracle 10g的详细说明或安装指南,包含了安装过程、配置参数、常见问题解答等内容,对于理解和操作Oracle 10g数据库非常有帮助。 总的来说,Oracle 10g 10.2.0.1 是一个强大...

    oracle11g和12c下载

    Oracle 11g和12c是Oracle公司推出的两个不同版本的关系型数据库管理系统。这两个版本在功能、性能和架构上都有各自的特点,适用于不同的应用场景。 Oracle 11g(第11代)是Oracle数据库的一个重要里程碑,它首次...

    Oracle Database 11g R2高可用性

    Oracle Database 11g R2高可用性是Oracle公司推出的一种关键数据库系统解决方案,旨在确保企业数据和服务在各种故障情况下的连续性和可访问性。这一版本的数据库系统提供了多种先进的特性,以提升系统的稳定性和灾难...

    Oracle RAC性能优化实践.pptx

    Oracle RAC,即Real Application Clusters,是一种集群数据库技术,用于提供高可用性和可扩展性。这份名为"Oracle RAC性能优化实践.pptx"的文档深入探讨了如何通过多种方法来优化RAC系统的性能。 首先,硬件架构是...

    Oracle9日常操作及维护手册.doc

    Oracle 9i还包含其他一些新特性,如数据库资源管理(DRM)、数据泵(Data Pump)、分区增强、闪回技术等,这些都增强了数据库的性能、安全性和恢复能力。 综上所述,Oracle 9i的日常操作和维护涉及多个方面,包括...

Global site tag (gtag.js) - Google Analytics