细化解析-Oracle 10g ASM 的一点经验

| |
[2007/08/31 20:56 | 分类: SQL技术 | by gdgzboy ]
[此文来源于互联网,牛C网只负责收集整理]

Oracle 10g 的 ASM (自动存储管理) 是一把双刃剑,对于存储的管理给 DBA 带来了不少便利,可也存在无穷多的问题。

ASM_POWER_LIMIT 参数这个参数 ASM_POWER_LIMIT 参数控制 ASM 后台进程 ARBx 的数量。ARBx 进程用来进行 ASM 磁盘数据重新分布打散。ASM_POWER_LIMIT 取值 从 0 到 11(据说从 10gR2 开始可以设置为 0 ). 当新添加磁盘或者删除磁盘后,ASM 会启动 ARBx 进行 IO 分散操作,这是个非常消耗资源的动作,所以一定要选择系统空闲的时候进行。

关于 ASM 的条带与分配单元 ASM 默认的 Stripe Size 为 128K。 (一般操作系统的一个 IO 最大是 1M,对于 Block Size 为 8K 的系统,一般来说,db_file_multiblock_read_count 设置为 16 即可)。分配单元( Allocation Unit ) 是 1M,这个 AU 对应 extent 。在一些 DW 环境,随着数据量增大,AU 会非常的多,会产生性能影响。Stripe Size 和 AU 是可以通过 ASM 实例上的两个隐含参数调整的:

_asm_ausize _asm_stripesize(注意最大1M,否则会有负面影响) 磁盘组不能 mount 错误信息类似如下:

ORA-15063: ASM discovered an insufficient
number of disks for diskgroup

"FOO" 这个问题是因为 设备 PVID 导致的,一般可以通过如下三个方法解决: 对磁盘组中的设备进行 dd 操作抹去磁盘 0 块的内容用 FORCE 选项把磁盘添加到其他磁盘组中。用 FORCE 选项用所有这些磁盘创建新的磁盘组。 哪一种方式都有风险,操作需要谨慎。

        

            


作者:gdgzboy@牛C网
地址:http://www.niuc.net/post/2324/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!



评论(0) | 引用(0) | 阅读(171)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我