当前位置: 首页 > news >正文

Oracle+ASM+High冗余详解及空间计算

        Oracle ASM(Automatic Storage Management)的High冗余模式是一种提供高度数据保护的策略,它通过创建多个数据副本来确保数据的可用性和安全性。

        以下是关于Oracle ASM High冗余的详细解释:

一、High冗余的特点

        1.数据冗余度

        在High冗余模式下,Oracle ASM会为每个数据块创建三份镜像,这意味着即使有两份数据损坏,仍然有一份可用的数据副本,从而保证了数据的持续可用性。

        2.故障组要求

        为了支持High冗余,至少需要三个故障组(failure group)。故障组是Oracle ASM中将磁盘逻辑上分组的一种方式,每个故障组内的磁盘在物理上应该是独立的,以减少单点故障的风险。

        3.磁盘空间利用率

        由于High冗余需要创建三份数据副本,因此磁盘空间的有效利用率是所有磁盘设备大小之和的1/3。这意味着相对于其他冗余级别,High冗余会牺牲更多的磁盘空间用于数据保护。

二、适用场景

        High冗余模式适用于对数据安全性要求极高的场景,如金融行业、关键业务系统等。这些系统对数据的连续性和可用性有着极高的要求,即使发生硬件故障或磁盘损坏,也必须保证数据的完整性和可恢复性。

三、空间计算

        在High冗余模式下,usable_file_mb(即磁盘组可用于新文件分配的剩余空间,以MB为单位)的计算大致可以基于以下公式(注意,这是一个简化的表示,实际算法可能更复杂,并且可能因Oracle版本而异):

        Usable_file_mb = (Free_MB - Req_mir_free_mb) / 3

        但需要注意的是,这里的/ 3是基于High冗余模式下通常的三份数据副本假设。然而,Oracle的ASM在计算时可能会考虑更多的因素,如故障组的数量、大小以及具体的冗余策略。

四、相关指标解释

        1.Free_MB

        表示磁盘组中当前未被分配或未被使用的空间量(以MB为单位)。

        2.Req_mir_free_mb

        在High冗余模式下,这个值代表了为了维持磁盘组在高冗余状态下的冗余度而必须保留的空闲空间量。

        其计算通常基于故障组的大小和数量,以及Oracle内部对冗余策略的考虑。

        在High冗余下,由于需要存储三份数据副本,Req_mir_free_mb的计算可能会更加复杂,并且可能会预留更多的空间以应对可能的故障情况。

        3.故障组(Failgroup)

        故障组是Oracle ASM用于管理冗余和故障恢复的一个逻辑单元。

        在High冗余模式下,每个数据块都将被存储在至少三个不同的故障组中,以确保数据的可靠性和可恢复性。

        故障组的大小和数量将直接影响Req_mir_free_mb的计算。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Ubuntu24.04使用SRS 搭建 RTMP流媒体服务器
  • `kill -9` 和 `pkill`
  • 31集-33集【求助】AIGC返回的对话内容文字转语音失败-《MCU嵌入式AI开发笔记》
  • 驾驭时间之舟:SQL中时序数据处理的深度探索
  • ActiveMQ、RabbitMQ、Kafka、RocketMQ在事务性消息、性能、高可用和容错、定时消息、负载均衡、刷盘策略的区别
  • MFC系列-改变控件字体和颜色
  • 【经典算法】BFS_FloodFill算法
  • flume系列之:java.lang.OutOfMemoryError: unable to create new native thread
  • 【前端VUE】npm i 出现版本错误等报错 简单直接解决命令
  • 使用Windows11搭建代理服务器
  • 出海笔记精华问答|第三期
  • 【Leetcode 645 】 错误的集合 —— 纯数学 之 等差数列求和
  • 【大模拟】逻辑回环类
  • QT:QTableWidget 如何不显示行头?
  • FPGA串口调试中当电脑串口无法正常通信,设备管理器中“其它设备”位置显示“USB-Blaster”显示感叹号等问题应该怎么解决?
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 77. Combinations
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • Fastjson的基本使用方法大全
  • Java 内存分配及垃圾回收机制初探
  • javascript面向对象之创建对象
  • node入门
  • python3 使用 asyncio 代替线程
  • Shell编程
  • vue 配置sass、scss全局变量
  • vue学习系列(二)vue-cli
  • 创建一种深思熟虑的文化
  • 基于遗传算法的优化问题求解
  • 讲清楚之javascript作用域
  • 深度学习在携程攻略社区的应用
  • 协程
  • MPAndroidChart 教程:Y轴 YAxis
  • MyCAT水平分库
  • ​第20课 在Android Native开发中加入新的C++类
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #Linux(Source Insight安装及工程建立)
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (阿里云万网)-域名注册购买实名流程
  • (二十三)Flask之高频面试点
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (理论篇)httpmoudle和httphandler一览
  • (四)linux文件内容查看
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)h264中avc和flv数据的解析
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET8 动态添加定时任务(CRON Expression, Whatever)
  • .Net程序帮助文档制作
  • .NET和.COM和.CN域名区别
  • @Value读取properties中文乱码解决方案
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证