月归档:2014 年五月

Exadata上,ASM的Req_mir_free_MB 是如何得到的?

Exadata上,ASM的Req_mir_free_MB 是如何得到的? 首先,我们都知道,可通过v$asm_diskgroup来查看required_mirror_free_mb: 这里看到,实际上lsdg的输出跟v$asm_diskgroup是一致的(注意,早起的数据库版本由于rebalance时的bug,可能造成显示不一致,例如 Bug 7699985) 由于Exadata上,没有外部冗余,数据完全通过ASM镜像,那么就要考虑当磁盘故障或者cell故障时的数据保护,需要相应的根据Normal Redundancy或者High Redundancy来考虑分别两种情况: 1,在Normal Redundancy时,要考虑1块磁盘损坏或者1个cell不能启动时,如果修复时间超过缺省的3.6小时,需要使用现有系统中可用磁盘空间做Rebalance 2,在HighRedundancy时,要考虑2块磁盘损坏或者2个cell不能启动时,如果修复时间超过缺省的3.6小时,需要使用现有系统中可用磁盘空间做Rebalance Oracle根据内部算法,使用一个调解因子做系数,比如,不同版本的Oracle,评估方法不同: 如果数据库是11.2.0.3或者11.2.0.4,那么这个调解因子为1.10,如果是低于这个版本的数据库,调解因子是1.5(具体该因子的算法尚未知道) 对于每一个磁盘组,他们需要调解的空间大小(即,预留空间)=v$asm_diskgroup.required_mirror_free_mb * 调解因子 然后根据不同的镜像(Normal或者High),以及不同的Exadata配置(1/8,1/4、1/2,满配)再分别乘以一个系数,下面的代码根据每个磁盘组的最大的failgroup的大小来确定需要保留的空间: 然后,计算出来总共的需要“预留的空间”按照不同配置的Exadata乘以一个比例,就是我们这看到的 REQUIRED_MIRROR_FREE_MB: 对于Normal Redundancy: 对于High Redundancy: 完整的代码可在这里下载

发表在 ASM, FAQ, 内部机制 | 标签为 , , | 留下评论

Exadata和非Exadata平台上,ASM的可用空间如何计算?

曾经很多次,有客户问到ASM上可用的空闲空间问题,实际上,由于ASM带有3中冗余设置方式,分别应对不同场景的数据冗余情况,因此,通常在Exadata上的选择和非Exadata上的选择是不同的。 . 在非Exadata的环境中,通常我们会使用RAID,比如RAID10,因此ASM中使用External Redundancy,例如: ASMCMD> lsdg State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 4096 1048576 51200 45862 0 45862 0 N CFARCH1/ MOUNTED EXTERN N 512 4096 1048576 51200 47653 … 继续阅读

发表在 ASM, FAQ, 内部机制 | 标签为 , , | 2 条评论

我在Oracle的第二个ppt——Exadata运维交流

在Oracle工作8年了,这是第二个ppt,最满意的我学会了修改ppt模板,O(∩_∩)O哈哈~ 本次交流的主要能容源于本网站,主要是跟同事一起交流Exadata运维中的常见问题,以及如何更好的为客户做好Exadata的相关服务。 Exadata运维交流

发表在 日常运维 | 2 条评论

Exadata上的进程-Diskmon进程

Master Diskmon是Oracle Clusterware 11.1.0.7版本引入的一个新的进程(主要是为了Exadata Storage Server软件而设计的),该进程作为缺省安装的一部分随着Oracle Clusterware的安装就存在了。 Master Diskmon主要负责监控cell,并负责跟数据库节点的diskmon进程通信。该进程还参与IO fencing机制和IORM(IO Resource Manager)。 Master Diskmon进程是一个单独的进程,他跟ocssd进程通信,即便是非Exadata环境,该进程也是存在的(只是非Exadata环境,Diskmon进程没有什么作用,后面会解释这个)。 在11.1.0.7中,/bin/sh /etc/init.d/init.cssd 会启动2个diskmon相关进程,即: root 1717 0.0 0.0 6716 1368 ? Ss 11:43 0:07 /bin/sh /etc/init.d/init.cssd fatal <span>root 2799 0.0 0.0 6720 1364 ? S 11:44 0:00 … 继续阅读

发表在 FAQ | 标签为 , | 留下评论

Exadata上的Writeback和Writethrouth-4-X3和X4上的Flash Card

从X3开始采用 Flash Accelerator F40 400GB Solid State Memory ,每个cell上有4块F40卡,每个卡上有4个100GB的FDOM(每个F40的容量为4*100GB=400GB),这样,每个cell的总Flash容量为1.6T。可见从容量上已经突飞猛进了。 这里,我们再回来思考上一篇《Exadata上的Writeback和Writethrouth-4-V2和X2上的Flash Card》中提到的一个问题:是否可以将Exadata上的Flash Card作为ASM disk使用? Exadata上的Writeback和Writethrouth-4-X3和X4上的Flash Card

发表在 FAQ, 体系架构 | 标签为 , , , | 留下评论

Exadata上的Writeback和Writethrouth-3-V2和X2上的Flash Card

从V2和X2的机器上硬件带有4块写缓存功能Sun Flash Accelerator F20 PCIe Card卡,每个F20上有4个FMOD模块,每个FMOD模块是24G(每个F20为24*4=96GB容量)。因此V2和X2的每台存储服务器上可以支持4*96GB=384GB的缓存,如图: Exadata上的Writeback和Writethrouth-3-V2和X2上的Flash Card

发表在 FAQ, 体系架构 | 标签为 , , , | 留下评论

Exadata上的Writeback和Writethrouth-2-SSD篇

在了解Exadata上的Flash Card的使用方式之前,我也先给自己科普了一下SSD的相关知识,具体如下: SSD,也就是我们常说的固态硬盘(Solid State Disk),他是用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成,好一点的还可以多一个缓存芯片。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。 从发展实践来看,1970年,StorageTek公司(Sun StorageTek)开发了第一个固态硬盘驱动器。1989年,世界上第一款固态硬盘出现。 固态硬盘(Solid State Drives),是用固态电子存储芯片阵列而制成的硬盘,其芯片的工作温度范围很宽,商规产品(0~70℃)工规产品(-40~85℃)。这些指标都的使用范围都远超过硬盘的工作规范,因此,我们常说固态盘适应的环境更多…… Exadata上的Writeback和Writethrouth-2-SSD篇

发表在 FAQ, 体系架构 | 标签为 , , | 留下评论

Exadata上的Writeback和Writethrouth-1-硬盘篇

以前写过一些关于Exadata上磁盘管理相关的文章: Exadata的磁盘自动管理-1-教你读懂cell alert中的磁盘相关信息 Exadata的磁盘自动管理-2-Cell上各种磁盘相关的概念 Exadata的磁盘自动管理-3-磁盘自动管理的操作规则 如何看待exadata的cell节点出现的writethrough/wirteback模式更换或者控制器充放电信息 Exadata更换硬盘的操作过程和解释 今天偶然间看见一段alert的信息,这是Exadata上Disk Controller BBU充放电的相关信息,具体解释请参见《如何看待exadata的cell节点出现的writethrough/wirteback模式更换或者控制器充放电信息》: 联想到Exadata上Flash Card的“Writeback和Writethrough”功能的变迁,以及目前为什么社会上各家一体机的架构(我所了解的大一点的Oracle运维三方基本都有了,没有的也在研发中了,只有一些目前宣称只做软件的三方还没做一体机,O(∩_∩)O哈哈~),忽然间想更多的了解下各种硬盘和SSD的发展历程,于是就开始给自己扫盲…………………… Exadata上的Writeback和Writethrouth-1-硬盘篇

发表在 FAQ, 体系架构 | 标签为 , | 留下评论

Oracle对各家虚拟化产品的支持——1-vmware

Support Position for Oracle Products Running on VMWare Virtualized Environments (Doc ID 249212.1) Purpose ——— Explain to customers how Oracle supports our products when running on VMware Scope & Application ———————- For Customers running Oracle products on VMware virtualized environments. … 继续阅读

发表在 虚拟化 | 标签为 , | 留下评论

bbed会产生cr块么?

先说下结论,bbed不会产生cr块,具体请看测试结果: 这个结论我的测试不知道是不是科学或者完整,因此,有不同结论的测试,欢迎交流,O(∩_∩)O哈哈~ 在没有flush buffer cache的情况下,我们看看: 上面这段信息基本跟X$BH的内容对应。 这里,表示file 4 block 131是object_id为18222的对象的一个块(st: XCURRENT,即当前块),该块作为class 1 block被prefetch(class 1表示数据块,比如如果这是是class 8,就表示1st level bmb ,如果是3就表示3级位图块等等……) 这个块是脏块(buffer_dirty)。同时,在LRU链表的末端有一个该块的CR块,在辅助链表还有一个该块的副本(FREE状态,表示跟数据文件上该块的是一致的)。 其中LRU_FLAG的解释如下: KCBBHLDF 0x01 8.1 LRU Dump Flag used in debug print routine KCBBHLMT 0x02 8.1 moved to tail of lru (for … 继续阅读

发表在 Internal | 留下评论