Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10222864
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: Oracle

2011-12-26 10:34:19

ASM的隐含参数和X$表

ASM Instance从本质上来说,和数据库的实例是没有太大的区别的,基本的结构都差不多,只是专门用于管理存储而已。就像windows操作系统也有个专门的存储版本一样。

ASM Instance中也有一些隐含参数。当然,既然Oracle将它们隐藏了就是不希望我们去修改,所以在生产库中,千万不要尝试去修改这些隐含参数。我这里列出来纯属用于学习研究,擅自使用,后果自负^_^


select a.ksppinm “Name”, b.ksppstvl “Value”
from x$ksppi a, x$ksppcv b
where a.indx = b.indx
and ksppinm like ‘\_%asm%’ escape ‘\’
order by a.ksppinm;

10G

_asm_acd_chunks 1
_asm_allow_only_raw_disks TRUE
_asm_allow_resilver_corruption FALSE
_asm_ausize 1048576
_asm_blksize 4096
_asm_disk_repair_time 14400
_asm_droptimeout 60
_asm_emulmax 10000
_asm_emultimeout 0
_asm_kfdpevent 0
_asm_libraries ufs
_asm_maxio 1048576
_asm_stripesize 131072
_asm_stripewidth 8
_asm_wait_time 18
_asmlib_test 0
_asmsid asm

11G

_asm_acd_chunks 1
_asm_allow_only_raw_disks FALSE
_asm_allow_resilver_corruption TRUE
_asm_ausize 1048576
_asm_blksize 4096
_asm_compatibility 10.1
_asm_dbmsdg_nohdrchk FALSE
_asm_disk_repair_time 14400
_asm_emulmax 10000
_asm_emultimeout 0
_asm_kfdpevent 0
_asm_kfioevent 0
_asm_libraries ufs
_asm_maxio 1048576
_asm_repairquantum 60
_asm_runtime_capability_volume_support FALSE
_asm_skip_resize_check FALSE
_asm_stripesize 131072
_asm_stripewidth 8
_asm_wait_time 18
_asmlib_test 0
_asmsid asm
_lm_asm_enq_hashing TRUE

上一次ASM故障处理中有提到清空了前面4k的头部,为什么是4K,就是因为_asm_blksize=4096,这是一个block的大小,可不是随便来的,呵呵。

一些研究Database Instance的方法在ASM中照样有效,比如sql trace10046事件等,这可以帮助我们认识到ASM内部的一些东西。


alter session set sql_trace=true;
select count(*) from v$asm_file;
alter session set sql_trace=false;

找到对应的trace file,可以发现有如下语句:

select inst_id,group_kffil,number_kffil,compound_kffil,incarn_kffil,
blksiz_kffil,blkcnt_kffil,filsiz_kffil,filspc_kffil,sftype_kffil,
decode(redun_kffil,17,’UNPROT’,18,’MIRROR’,19,’HIGH’,
35,’PARITY’,36,’PARITY’,37,’PARITY’,38,’PARITY’),
decode(bitand(fdflg_kffil, 2), 2, ‘FINE’, ‘COARSE’),
crdate_kffil,mddate_kffil,
decode(thinned_kffil, 0, ‘U’, 4294967295, ‘N’, ‘Y’)
from x$kffil
where incarn_kffil <> 0 and number_kffil > 255

可以发现v$asm_file是基于x$kffil的,同样的方法,可以追踪到其他相关的v$视图的来源。可以通过v$fixed_table来列出所有的x$表:


Oracle11G> select name from v$fixed_table where name like ‘X$KF%’;

NAME
—————————————-
X$KFALS
X$KFCBH
X$KFCCE
X$KFBH
X$KFDSK
X$KFDSK_STAT
X$KFDAT
X$KFDFS
X$KFDDD
X$KFGRP
X$KFGRP_STAT
X$KFGMG
X$KFGBRB
X$KFKID
X$KFKLIB
X$KFMDGRP
X$KFNCL
X$KFNSDSKIOST
X$KFTMTA
X$KFFIL
X$KFFXP
X$KFDPARTNER
X$KFCLLE
X$KFENV
X$KFVOL
X$KFVOLSTAT
X$KFVOFS
X$KFVOFSV

ASM的X$表的命名比database的相对要易懂一些,但也是缩写的,具体和v$的对应关系和描述可以。

阅读(1011) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~