Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle...

16
Maclean Liu 技术分 享】深入了解 Oracle ASM()基础概念 by Maclean.liu [email protected] www.askmaclean.com

Transcript of Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle...

Page 1: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

【Maclean Liu技术分享】深入了解 Oracle

ASM(一)基础概念

by [email protected]

www.askmaclean.com

Page 2: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

About Me

l Email:[email protected]

l Blog:www.askmaclean.com

l Oracle Employee

l Oracle Certified Database Administrator Master 10g and 11g

l Over 7 years experience with Oracle DBA technology

l Over 8 years experience with Linux technology

l Member Independent Oracle Users Group

l Member All China Users Group

l Presents for advanced Oracle topics: RAC, DataGuard, Performance Tuning and Oracle Internal.

Page 3: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

How to Find ME?

Page 4: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

Automatic Storage Management是Oracle 在版本 10g中率先(对比其他RDBMS)提出的数据库存储自动解决方案,在版本 11g中得到进一步升华。ASM提供了数据库管理所需要的一个简单、有效的存储管理

接口,该接口实现了跨服务器和存储平台。 ASM是文件系统 filesystem和 volume manager卷管理软件的一体化,专门为Oracle 的数据库文件锁设计的; ASM在保证如文件系统般管理简单的基础上提供高性能的异步 Async IO。ASM的引入提高了数据库的可扩展容量,同时节约了DBA的时间,使其能够更敏捷、更高效地管理一个流动性较大的数据库环境。

ASM的出现是为RDBMS管理文件存储

•注意 ASM不会替代RDBMS去实施 IO读写,很多对这一点存在误解,认为RDBMS发送 IO request给 ASM,ASM去做真正的 IO操作,这是错误的。•真正的 IO还是由RDBMS进程去实施,和不用 ASM的裸设备一样•因此 ASM不是 IO的中间层,也就不存在因为 ASM而出现所谓的 IO瓶颈•对于 ASM而言 LUN DISK可以是裸设备也可以直接是块设备(10.2.0.2以后)•适合存放在 ASM中的文件类型包括:数据文件 datafile、控制文件 controlfile、重做日志 redolog、归档日志 archivelog、闪回日志 flashback log、spfile、RMAN备份以及 block tracking file、datapump文件•从 11gR2开始,ASM引入了 ACFS 特性可以存放任何类型的文件;但是 ACFS不支持存放数据文件

ASM基础概念:

•ASM ”的最小存储单位是一个 allocation unit”(AU),通常为 1MB,在 Exadata上推荐为 4MB•ASM的核心是存储文件• ”文件被划分为多个文件片,称之为 extent”•11g之前 extent的大小总是为一个 AU,11g之后一个 extent可以是 1 or 8 or 64个 AU•ASM使用 file extent map维护文件 extent的位置•ASM在 LUN DISK的头部 header维护其元数据,而非数据字典•同时RDBMS DB会在 shared pool中缓存 file extent map,当 server process处理 IO时使用•因为 ASM instance使用类似于普通RDBMS的原理的 instance/crash recovery,所以 ASM instance奔溃后总是能复原的。

ASM存储以 diskgroups的概念呈现:•Diskgroup DG对RDBMS实例可见,例如一个DATA DG,对于RDBMS ’来说就是以 +DATA’表示

的一个存储点,可以在该DG上创建一个 tablespace ,例如: create tablespace ONASM datafile ‘+DATA’ size 10M。•Diskgroup下面是一个或者多个 failure group (FG)•FG被定义为一组Disk•Disk在这里可以是裸的物理卷、磁盘分区、代表某个磁盘阵列的 LUN,亦或者是 LVM或者NAS设备

•多个 FG中的 disk不应当具备相同的单点故障,否则 ASM的冗余无效

ASM所提供的高可用性:

Page 5: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

•ASM提供数据镜像以便从磁盘失败中恢复•用户可以选择 EXTERNAL、NORMAL、HIGH三种冗余镜像•EXTERNAL即 ASM本身不做镜像,而依赖于底层存储阵列资深实现镜像;在 External下任何的写错误都会导致Disk Group被强制 dismount。在此模式下所有的 ASM DISK必须都存在健康,否则Disk Group将无法MOUNT•NORMAL 即 ASM将为每一个 extent创建一个额外的拷贝以便实现冗余;默认情况下所有的文件都会被镜像,这样每一个 file extent都有 2份拷贝。若写错误发生在 2个Disk上且这 2个Disk是partners时将导致 disk Disk Group被强制 dismount。若发生失败的磁盘不是 partners则不会引起数据丢失和不可用。

•HIGH 即 ASM为每一个 extent创建两个额外的拷贝以便实现更高的冗余。2个互为 partners的Disk的失败不会引起数据丢失,当然不能有更多的 partners Disk失败了。•数据镜像依赖于 failure group和 extent partnering实现。ASM在NORMAL 或 HIGH 冗余度下可以容许丢失一个 failure group中所有的磁盘。

Failure Group镜像的使用

•ASM的镜像并不像RAID 1那样•ASM的镜像基于文件 extent的粒度,extent分布在多个磁盘之间,称为 partner•Partner disk会存放在一个或者多个分离的 failure group上•ASM自动选择 partner并限制其数量小于 10个•若磁盘失败,则 ASM更新其 extent map使今后的读取操作指向剩余的健康 partner•在 11g中,若某个 disk处于 offline状态,则对于文件的变更会被追踪记录这样当 disk被重现 online时则这些变化得以重新应用,前提是 offline的时间不超过DISK_REPAIR_TIME所指定的时间(默认为 3.6个小时). 这种情况常发生在存储控制器故障或者类似的短期磁盘故障:•这种对于文件变更的追踪基于一个发生变化的 file extent的位图,该位图告诉 ASM哪些 extents需要从健康的 partner哪里拷贝至需要修复的 disk,该特性称之为 fast mirror resync•在 10g中没有 fast mirror resync特性,若 disk出现 offline则直接自动被 drop掉,不存在允许修复的周期

•对于无法再 online的 disk,则必须被 drop 掉;一个新的 disk会被 ASM选择并通过 rebalancing 操作拷贝数据,这些工作是后台自动完成的。

重新平衡Rebalancing

•Rebalancing是在磁盘之间移动文件 extent以实现 diskgroup上的 IO负载均衡的过程•Rebalancing在后台异步发生,是可监控的•在集群环境中,一个 diskgroup的重平衡只能在一个 ASM instance上发生,不能通过集群多节点同时处理以加速

•当 disk被加入或移除时,ASM会自动在后台开始数据重新平衡工作•重平衡的速度和力度可以通过 asm_power_limit参数控制•asm_power_limit参数默认为 1,其范围为 0~11(从 11.2.0.2开始是 0-1024),该参数控制实施重平衡后台进程的数量;Level 0表示不实施重新平衡•在重新平衡过程中 IO性能(主要是吞吐量和响应时间)可能受到影响,其影响程度取决于存储本身的能力和重新平衡的力度,默认的 asm_powner_limit=1不会造成过度的影响

性能方面

Page 6: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

•ASM会通过在DG中条带化文件 extent分布以最大化可用的 IO带宽•有 2种可用条带化宽度:coarse粗糙条带化大小为 1个 AU,fine精细条带化为 128K•即便是 fine精细条带化仍采用普通大小的 file extent,但是条带化以更小的片形式循环式地分布在多个 extent上•ASM默认不让RDBMS去读备用的镜像拷贝 extent,即使这样请放心 IO还是均衡的•默认情况下RDBMS总是去读取主 primary extent,从 11.1开始可以通过PREFERRED_READ_FAILURE_GROUP参数设置让本地节点优先读取某个 failure group中的extent; 该特性主要为 extended distance RAC设计,不建议在常规 ASM中使用

其他知识

•并非RAC才能使用 ASM,单节点同样可以从 ASM哪里获得好处•节点上的一个 ASM instance实例可以为多个RDBMS DB实例服务•RAC环境中的 ASM必须也是集群化的,以便能够协调更新元数据•从 11.2开始,ASM从RDBMS HOME分离出来,而和 clusterware一起安装在GRID HOME下。

Disk Group:Disk Group” ” 磁盘组 是 ASM管理的逻辑概念对象,一个Disk Group由多个 ASM disk组成。每一个Disk Group都是子描述的,如同一个标准的文件系统一样。所有关于该Diskgroup 空间使用信息的元数据均

完整地包含在这个磁盘组中。若 ASM可以找到所有属于该 ASM diskgroup的DISK则他不需要任何其他额外的元数据。

文件空间从Disk Group中分配。任何一个 ASM文件总是完整地包含在一个单独的Disk Group中。但是,一个Disk Group可能包含了属于多个数据库的文件,一个单独的数据库的文件也可以存放在多个不同的Disk Group 中。在大多数实际的部署中,不会创建太多数量的Disk Groups,一般在 3~4个。Disk Group提供三种不同的 redundancy冗余度,详见上文。

ASM Disk 一个 ASM Disk是组成Disk Group 的基本的持久的存储。当一个 ASM Disk加入到Disk Group中时,它要么采用管理员指定的 ASM Disk Name要么采用系统自动分配的Disk Name 。这不同于OS 给用于访

” ” 问该设备的 艺名 。 在一个Cluster 集群中,同一个Disk 可能在不同的节点上显示不同的Device Name 设备名,例如在 Node1 上的 /dev/sdc ,对应于Node2上的/dev/sdd 。 ASM Disk必须在所有使用该Disk

Group的实例上可用直接磁盘 I/O访问。实际上对于RDBMS Oracle而言访问 ASM disk和访问普通的文件并没有什么不同,除非使用了ASMLIB(ASMLIB不是 ASM必须的,再次强调!)。常规情况下 ASM Disk是OS上可见的 LUN的partition ,该分区覆盖了所有不被操作系统所保留的磁盘的空间。大多数操作系统需要保留 LUN的第一个 block作为分区表(partition table) ;由于 ASM总是会写 ASM Disk的第一个块,所以要保证 ASM不会去覆盖前几个 block上的分区表(partition table),例如在 Solaris上分区时不要把前几个柱面划给partition。LUN可以是简单的物理 JBOD,或者是由高级存储阵列管理的虚拟 LUN。既可以是直连的设备也可以是 SAN。ASM Disk 可以是任何被开发系统调用所访问的东西,除了本地文件系统。甚至于NFS上的文件都可以被当做一个 ASM Disk来用,这样便于喜欢NAS的用户使用 ASM,当然比起NFS来我更建议干脆用 ISCSI。

Page 7: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

注意虽然可以使用普通 logical Volume Manager LVM管理的 logical volume作为 ASM Disk,但是这并不

是推荐组合,除非你想不到其他更好的办法。即便你一定要这样用,但是注意也不要在 LVM级别做镜像和条带化。

ASM将任何文件以 AU大小均匀分布在Disk Group的所有Disk上。每一个 ASM Disk均被维护以保持同样的使用比率。这保证同一个Disk Group中的所有Disk的 IO负载基本一致。由于 ASM在一个Disk Group中的磁盘上的负载均衡,所以为同一个物理磁盘的不同区域划分为 2个 ASM Disk不会对性能有所影响;而同一个物理磁盘上划分 2个不同分区置于不同的 2个Disk Group则有效。当 ASM Disk Group启用冗余时单个 ASM Disk仅是一个失败单元。对于该 ASM Disk的写失败在 10g会自动从该Disk Group drop掉该Disk,前提是该Disk的丢失被容许。

Allocation Unit每一个 ASM Disk都被划分为许多个 AU allocation units(单个 AU 的大小在 1MB ~64MB,注意总是 2的次方MB)。而且 AU allocation unit也是Disk Group的基本分配单元。一个 ASM Disk上的可用空间总是整数倍个 AU。在每一个 ASM Disk的头部均有一个表,该表的每一条记录代表该 ASM Disk上的一个AU。文件的 extent指针(pointer)给出了 ASM Disk Number磁盘号和 AU号,这就描述了该 extent的物理位置。由于所有的空间操作都以 AU为单位,所以不存在所谓 ASM碎片这样的概念和问题。一个 AU(1M~64M)足够小,以便一个文件总是要包含很多个 AU,这样就可以分布在很多磁盘上,也不会造成热点。一个 AU又足够大以便能够在一个 IO操作中访问它,以获得更加的吞吐量,也能提供高效的顺序访问。访问一个 AU的时间将更多的消耗在磁盘传输速率上而非花在寻找 AU头上。对于Disk Group的重新平衡也是对每一个 AU逐次做的。

了解 ASM后台进程的作用: GMON: ASM Diskgroup监控进程ASMB: ASM后台网络进程RBAL: ASM reblance master process 重新平衡主进程ARBx: reblance slave process实际实施 reblance的后台进程MARK: AU resync AU重新同步的指挥家进程

了解 ASM前台进程的作用: ASM的 client(主要是RDBMS DB和CRSD))在连接 ASM实例时会产生前台进程,前天进程的名字一般为 oracle+ASM_<process>_<product> (例如: oracle+ASM_DBW0_DB1)。

OCR 特有的前台进程 foreground: oracle+ASM1_ocr

Page 8: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

ASM相关的 V$和 X$视图

视图名 X$基表名 描述

V$ASM_DISKGROUP X$KFGRP 实施磁盘发现 disk discovery 和列出磁盘组

V$ASM_DISKGROUP_STAT X$KFGRP_STAT 显示 disk group 状态

V$ASM_DISK X$KFDSK, X$KFKID 实施磁盘发现 disk discovery 和列出磁盘以及这些磁盘的使用度量信息

V$ASM_DISK_STAT X$KFDSK_STAT,X$KFKID 列出磁盘和其使用度量信息

V$ASM_FILE X$KFFIL 列出 ASM 文件也包括了元数据信息

V$ASM_ALIAS X$KFALS 列出了 ASM 的别名,文件和目录

V$ASM_TEMPLATE X$KFTMTA 列出可用的模板和其属性

V$ASM_CLIENT X$KFNCL 列出链接到 ASM 的 DB 实例

V$ASM_OPERATION X$KFGMG 列出 rebalancing 重平衡操作

N/A X$KFKLIB 可用的 ASMLIB 路径

N/A X$KFDPARTNER 列出 Disk-partners 关系

N/A X$KFFXP 所有 ASM 文件的 extent map

N/A X$KFDAT 所有 ASM Disk 的 extent 列表

N/A X$KFBH 描述 ASM cache

N/A X$KFCCE ASM block 的链表

V$ASM_ATTRIBUTE(new in 11g) X$KFENV(new in 11g) Asm 属性,该 X$基表还显示一些隐藏属性V$ASM_DISK_IOSTAT(new in 11g) X$KFNSDSKIOST(new in 11g) I/O 统计信息

N/A X$KFDFS(new in 11g)N/A X$KFDDD(new in 11g)N/A X$KFGBRB(new in 11g)N/A X$KFMDGRP(new in 11g)N/A X$KFCLLE(new in 11g)N/A X$KFVOL(new in 11g)N/A X$KFVOLSTAT(new in 11g)N/A X$KFVOFS(new in 11g)N/A X$KFVOFSV(new in 11g)

Page 9: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

X$KFFXP包含了文件、extent和 AU 之间的映射关系。从该 X$视图可以追踪给定文件的 extent的条带化和镜像情况。注意对于 primary au和mirror au 读操作的负载是均衡的,而写操作要求同时写 2者到磁盘。以下是 X$KFFXP视图列的含义

X$KFFXP Column Name DescriptionADDR x$ table address/identifierINDX row unique identifierINST_ID instance number (RAC)

NUMBER_KFFXP ASM file number. Join with v$asm_file and v$asm_alias

COMPOUND_KFFXP File identifier. Join with compound_index in v$asm_file

INCARN_KFFXP File incarnation id. Join with incarnation in v$asm_file

PXN_KFFXP Progressive file extent number

XNUM_KFFXP ASM file extent number (mirrored extent pairs have the same extent value)

GROUP_KFFXP ASM disk group number. Join with v$asm_disk and v$asm_diskgroup

DISK_KFFXP Disk number where the extent is allocated. Join with v$asm_disk

AU_KFFXPRelative position of the allocation unit from the beginning of the disk. The allocation unit size(1 MB) in v$asm_diskgroup

LXN_KFFXP 0->primary extent, ->mirror extent, 2->2nd mirror copy (high redundancy and metadata)

FLAGS_KFFXP N.K.CHK_KFFXP N.K.

X$KFDAT该 X$视图包含了所有 allocation unit AU的细节,不管是 FREE的还是USED。

X$KFDAT Column Name DescriptionADDR x$ table address/identifierINDX row unique identifierINST_ID instance number (RAC)

Page 10: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

GROUP_KFDAT diskgroup number, join with v$asm_diskgroup

NUMBER_KFDAT disk number, join with v$asm_disk

COMPOUND_KFDAT disk compund_index, join with v$asm_disk

AUNUM_KFDAT Disk allocation unit (relative position from the beginning of the disk), join withx$kffxp.au_kffxp

V_KFDAT V=this Allocation Unit is used; F=AU is free

FNUM_KFDAT file number, join with v$asm_file

I_KFDAT N/K

XNUM_KFDAT Progressive file extent number join with x$kffxp.pxn_kffxp

RAW_KFDAT raw format encoding of the disk,and file extent information

X$KFDPARTNER 这个 X$ 视图包含了 disk-partner(1-N)的映射关系,在一个给定 ASM Diskgroup,若 2个Disk存有同一个 extent的镜像拷贝,则将 2个 disk视作 partners。因此 partners必须属于同一个diskgroup下的不同的 failgroup。

X$KFDPARTNER Column Name Description

ADDR x$ table address/identifierINDX row unique identifierINST_ID instance number (RAC)GRP diskgroup number, join with v$asm_diskgroupDISK disk number, join with v$asm_diskCOMPOUND disk identifier. Join with compound_index in v$asm_diskNUMBER_KFDPARTNER partner disk number, i.e. disk-to-partner (1-N) relationshipMIRROR_KFDPARNER if=1 in a healthy normal redundancy configPARITY_KFDPARNER if=1 in a healthy normal redundancy configACTIVE_KFDPARNER if=1 in a healthy normal redundancy config

研究 ASM必要的技巧 1)找出 ASM的镜像mirror extent,在例子中是 ASM的 spfile

Page 11: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

[grid@localhost ~]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.3.0 Production on Wed Feb 13 11:13:39 2013

Copyright (c) 1982, 2011, Oracle. All rights reserved.

Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionWith the Automatic Storage Management option

INSTANCE_NAME----------------+ASM

SQL> SQL> show parameter spfile

NAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile string +SYSTEMDG/asm/asmparameterfile /registry.253.805993079

select GROUP_KFFXP, DISK_KFFXP, AU_KFFXP from x$kffxp where number_kffxp = (select file_number from v$asm_alias where name = 'REGISTRY.253.805993079');

GROUP_KFFXP DISK_KFFXP AU_KFFXP----------- ---------- ---------- 3 2 38 3 1 39 3 0 44

Page 12: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

也可以这样定位

select GROUP_KFDAT, NUMBER_KFDAT, AUNUM_KFDAT from x$kfdat where fnum_kfdat = (select file_number from v$asm_alias where name = 'REGISTRY.253.805993079')

GROUP_KFDAT NUMBER_KFDAT AUNUM_KFDAT----------- ------------ ----------- 3 0 44 3 1 39 3 2 38

==> 找到该 DISK对应的路径SQL> select path,DISK_NUMBER from v$asm_disk where GROUP_NUMBER=3 and disk_number in (0,1,2);

PATH DISK_NUMBER-------------------- -----------/dev/asm-diski 2/dev/asm-diskh 1/dev/asm-diskg 0

SQL> create pfile='/home/grid/pfile' from spfile;

File created.

SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionWith the Automatic Storage Management option

[grid@localhost ~]$ cat pfile +ASM.asm_diskgroups='EXTDG','NORDG'#Manual Mount*.asm_diskstring='/dev/asm*'

Page 13: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

*.asm_power_limit=1*.diagnostic_dest='/g01/app/grid'*.instance_type='asm'*.large_pool_size=12M*.local_listener='LISTENER_+ASM'*.remote_login_passwordfile='EXCLUSIVE'

通过 dd读取该 AU

[grid@localhost ~]$ dd if=/dev/asm-diski of=/tmp/spfile.dmp skip=38 bs=1024k count=11+0 records in1+0 records out1048576 bytes (1.0 MB) copied, 0.00328614 seconds, 319 MB/s

[grid@localhost ~]$ strings /tmp/spfile.dmp +ASM.asm_diskgroups='EXTDG','NORDG'#Manual Mount*.asm_diskstring='/dev/asm*'*.asm_power_limit=1*.diagnostic_dest='/g01/app/grid'*.instance_type='asm'*.large_pool_size=12M*.local_listener='LISTENER_+ASM'*.remote_login_passwordfile='EXCLUSIVE'

[grid@localhost ~]$ dd if=/dev/asm-diskh of=/tmp/spfile1.dmp skip=39 bs=1024k count=1 1+0 records in1+0 records out1048576 bytes (1.0 MB) copied, 0.0325114 seconds, 32.3 MB/s

[grid@localhost ~]$ strings /tmp/spfile1.dmp +ASM.asm_diskgroups='EXTDG','NORDG'#Manual Mount*.asm_diskstring='/dev/asm*'*.asm_power_limit=1*.diagnostic_dest='/g01/app/grid'

Page 14: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

*.instance_type='asm'*.large_pool_size=12M*.local_listener='LISTENER_+ASM'*.remote_login_passwordfile='EXCLUSIVE'

[grid@localhost ~]$ dd if=/dev/asm-diskg of=/tmp/spfile2.dmp skip=44 bs=1024k count=11+0 records in1+0 records out1048576 bytes (1.0 MB) copied, 0.0298287 seconds, 35.2 MB/s

[grid@localhost ~]$ strings /tmp/spfile2.dmp +ASM.asm_diskgroups='EXTDG','NORDG'#Manual Mount*.asm_diskstring='/dev/asm*'*.asm_power_limit=1*.diagnostic_dest='/g01/app/grid'*.instance_type='asm'*.large_pool_size=12M*.local_listener='LISTENER_+ASM'*.remote_login_passwordfile='EXCLUSIVE'

2) 显示 asm disk failure group 和 disk partners的映射关系:

1* select DISK_NUMBER,FAILGROUP,path from v$asm_disk where group_number=3SQL> /

DISK_NUMBER FAILGROUP PATH----------- ------------------------------ -------------------- 3 SYSTEMDG_0003 /dev/asm-diskj 2 SYSTEMDG_0002 /dev/asm-diski 1 SYSTEMDG_0001 /dev/asm-diskh 0 SYSTEMDG_0000 /dev/asm-diskg

SQL> select disk,NUMBER_KFDPARTNER,DISKFGNUM from X$KFDPARTNER where grp=3;

Page 15: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

DISK NUMBER_KFDPARTNER DISKFGNUM---------- ----------------- ---------- 0 1 1 0 2 1 0 3 1 1 0 2 1 2 2 1 3 2 2 0 3 2 1 3 2 3 3 3 0 4 3 1 4 3 2 4

12 rows selected.

ASM 常见问题, FAQ: Q:ASM 做 rebalance 和 mirror 的基本颗粒是什么?A: ASM做mirror 镜像的基本颗粒是 file的 extent,默认情况下一个 extent等于一个 AU,11g之后一个extent可以是 1 or 8 or 64个 AUASM做 rebalance重新平衡的基本颗粒也是 extent,虽然重新平衡是对每一个 AU逐次做的。

Q:ASMLIB和 ASM的关系是什么?A:ASMLIB是一种种基于 Linux module,专门为Oracle Automatic Storage Management特性设计的内核支持库(kernel support library)。简单来说 ASMLIB是一种 Linux下的程序包,它不属于Oracle ASM kernel 。通过 ASMLIb可以做到设备名绑定,便于 ASM 使用的目的;但是 Linux上能实现设备名绑定并便于 ASM使用的服务有很多,例如udev、mpath等;所以 ASMLIB并不是 ASM 必须的组件;国内的中文文章对于该概念的描述大多不清晰,造成了

ASMLIB=ASM或者 ASM必须用 ASMLIB的误解,这是以讹传讹。ASMLIB 的缺点见拙作《 Why ASMLIB and why not? 》一文

Q: ASM是否是 raid 10或者 raid 01?A:ASM的mirror是基于 file extent的,而不是像 raid那样基于 disk或者 block 。所以 ASM既不同于Raid

Page 16: Maclean Liu 技术分 享】深入了解 Oracle ASM(一 基础概念 · 2013-04-14 · l Oracle Certified Database Administrator Master 10g and 11g l Over 7 years experience with

10,也不是Raid 01 。如果硬要说相似点的话,因为 ASM是先mirror镜像后 stripe条带化,所以在这个特征上更像Raid 10 。但是注意,再次强调,ASM既不是RAID 10也不是RAID 01 ,重复一千遍。。。。。。。。。。。。。

相关文章链接:

Asm Instance Parameter Best Practice为什么 RHEL 6 上没有 ASMLIB? Unix ”上如何查看文件名开头为 +asm” 的 TRACE 文件 asm_power_limit 对 IO 的影响 针对 11.2 RAC 丢失 OCR 和 Votedisk 所在 ASM Diskgroup 的恢复手段 10g ASM lost disk log11gR2 RAC ASM 启动揭秘 在 11gR2 RAC 中修改 ASM DISK Path 磁盘路径 在 Linux 6 上使用 UDEV 解决 RAC ASM 存储设备名问题 Script: 找出 ASM 中的 Spfile 参数文件 如何诊断 ASMLIB 故障 Script: 收集 ASM 诊断信息 Comparation between ASM note [ID 373242.1] and note [ID 452924.1]Why ASMLIB and why not?ASM file metadata operation 等待事件 几个关于 oracle 11g ASM 的问题 利用 UDEV 服务解决 RAC ASM 存储设备名 Discover Your Missed ASM DisksOracle 内部视图 X$KFFXP Fixed X$ Tables in ASM了解 AMDU 工具生成的 MAP 文件 使用 AMDU 工具从无法 MOUNT 的 DISKGROUP 中抽取数据文件

© 2013, www.askmaclean.com. 版权所有.文章允许转载,但必须以链接方式注明源地址,否则追求法律责任.