分类目录归档:内部机制

Exadata上验证ASM磁盘头备份的位置

我们都知道,从Oracle 10.2.0.5开始,ASM磁盘会自动备份磁盘头块,备份块的位置在第2个AU的倒数第2个块上。 通常,缺省情况下,AU SIZE是1M,每个AU可以有256个block(每个block 4k),256*4k()=1M 因此,第2个AU同样存放了256个block(0~255),其备份块的位置为 au=1 blkn=254(au和block都是从0开始计数的) 具体的恢复案例,可以参考: ASM磁盘头被fdisk损坏的修复过程 那么在exadata上,缺省的AU是4M,也就是每个AU可以存储 1024个block,即 block 0 ~ block 1023 那么第二个AU的倒数第二个block就是 au=1 blkn=1022 ( au和block都是从0开始计数的 ) 我们来检测一下是不是这样: 注意: 这里kfed命令中,需要指定ausz=4m,否则kfed缺省按照1M来计算,那么结果就是错误的了: 在kfed中指定ausz=4m,检测结果: 经过检查,我们发现,这个规律在exadata上依然有效,ASM除了缺省4M的AU,其余没什么变化,O(∩_∩)O哈哈~ 顺便介绍一个小方法,快速计算备份块的位置:(该方法根据ASM Support Guy修改而来)

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

exadata存储节点上的/etc/init.d/cell.d和celladmin

在cell节点上,系统启动时,Oracle 运行 /etc/init.d/cell.d。使用celladmin操作系统用户执行 /etc/init.d/cell.d,运行“alter cell startup services rs”脚本启动Restart 服务。 休眠1秒钟后,这个脚本运行“alter cell startup services all”来启动了所有其他的进程,包括CELLSRV和MS。 在/etc/init.d/cell.d脚本中存在一个检测机制,用以确定是否存在任何故障或不正确的配置。如果存在,Oracle会尝试从最近一次好的状态重新启动。 上述内容,在/etc/init.d/cell.d中相关内容如下: #this is just to make sure that if MS was running then it is down (with/without RS) su celladmin -c “. /etc/profile.d/cell_env.sh; cellcli -e … 继续阅读

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