SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
【Maclean Liu 技术分
享】深入了解 Oracle
 ASM(一)基础概念




     by Maclean.liu
         liu.maclean@gmail.com
          www.askmaclean.com
About Me

l Email:liu.maclean@gmail.com
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.
How to Find ME?
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 所提供的高可用性:
•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 不会造成过度的影响


性能方面
•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。
注意虽然可以使用普通 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
ASM 相关的 V$和 X$视图


视图名                         X$基表名                       描述
V$ASM_DISKGROUP             X$KFGRP                     实施磁盘发现 disk discovery 和列出磁
V$ASM_DISKGROUP_STAT        X$KFGRP_STAT                显示 disk group 状态

                                                        实施磁盘发现 disk discovery 和列出磁
V$ASM_DISK                  X$KFDSK, X$KFKID
                                                        些磁盘的使用度量信息
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
                            X$KFNSDSKIOST(new in 11g)   I/O 统计信息
11g)
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)
X$KFFXP 包含了文件、extent 和 AU 之间的映射关系。 从该 X$视图可以追踪给定文件的 extent 的条带
化和镜像情况。注意对于 primary au 和 mirror au 读操作的负载是均衡的, 而写操作要求同时写 2 者到磁
盘。以下是 X$KFFXP 视图列的含义




X$KFFXP Column Name   Description
ADDR                  x$ table address/identifier
INDX                  row unique identifier
INST_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


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

                      0->primary extent, ->mirror extent, 2->2nd mirror copy (high redundancy and
LXN_KFFXP
                      metadata)
FLAGS_KFFXP           N.K.
CHK_KFFXP             N.K.




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


X$KFDAT Column Name   Description
ADDR                  x$ table address/identifier
INDX                  row unique identifier
INST_ID               instance number (RAC)
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


                      Disk allocation unit (relative position from the beginning of the disk), join with
AUNUM_KFDAT
                      x$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
                             Description
Name
ADDR                         x$ table address/identifier
INDX                         row unique identifier
INST_ID                      instance number (RAC)
GRP                          diskgroup number, join with v$asm_diskgroup
DISK                         disk number, join with v$asm_disk
COMPOUND                     disk identifier. Join with compound_index in v$asm_disk
NUMBER_KFDPARTNER            partner disk number, i.e. disk-to-partner (1-N) relationship
MIRROR_KFDPARNER             if=1 in a healthy normal redundancy config
PARITY_KFDPARNER             if=1 in a healthy normal redundancy config
ACTIVE_KFDPARNER             if=1 in a healthy normal redundancy config


研究 ASM 必要的技巧

1)找出 ASM 的镜像 mirror extent,在例子中是 ASM 的 spfile
[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 Production

With 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
也可以这样定位



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 Production

With the Automatic Storage Management option



[grid@localhost ~]$ cat pfile

+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'



通过 dd 读取该 AU



[grid@localhost ~]$ dd if=/dev/asm-diski of=/tmp/spfile.dmp skip=38 bs=1024k
count=1

1+0 records in

1+0 records out

1048576 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 in

1+0 records out

1048576 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'
*.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=1

1+0 records in

1+0 records out

1048576 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=3

SQL> /



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;
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 个 AU
ASM 做 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
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 log
11gR2 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 Disks
Oracle 内部视图 X$KFFXP
Fixed X$ Tables in ASM
了解 AMDU 工具生成的 MAP 文件
使用 AMDU 工具从无法 MOUNT 的 DISKGROUP 中抽取数据文件



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

Contenu connexe

Tendances

对MySQL应用的一些总结
对MySQL应用的一些总结对MySQL应用的一些总结
对MySQL应用的一些总结Lixun Peng
 
分区表基础知识培训
分区表基础知识培训分区表基础知识培训
分区表基础知识培训maclean liu
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 Lheima911
 
配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制maclean liu
 
Mysql企业备份发展及实践
Mysql企业备份发展及实践Mysql企业备份发展及实践
Mysql企业备份发展及实践maclean liu
 
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局Alex Lau
 
Altibase管理培训 安装篇
Altibase管理培训 安装篇Altibase管理培训 安装篇
Altibase管理培训 安装篇小新 制造
 
Hadoop基线选定
Hadoop基线选定Hadoop基线选定
Hadoop基线选定baggioss
 
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rmanted-xu
 
MySQL新技术探索与实践
MySQL新技术探索与实践MySQL新技术探索与实践
MySQL新技术探索与实践Lixun Peng
 
Maclean介绍oracle asm基础概念和原理
Maclean介绍oracle asm基础概念和原理Maclean介绍oracle asm基础概念和原理
Maclean介绍oracle asm基础概念和原理maclean liu
 
PostgreSQL 9 Standby
PostgreSQL 9 StandbyPostgreSQL 9 Standby
PostgreSQL 9 StandbyMarch Liu
 
MySQL优化、新特性和新架构 彭立勋
MySQL优化、新特性和新架构 彭立勋MySQL优化、新特性和新架构 彭立勋
MySQL优化、新特性和新架构 彭立勋Lixun Peng
 
Ceph in UnitedStack
Ceph in UnitedStackCeph in UnitedStack
Ceph in UnitedStackRongze Zhu
 
MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程Lixun Peng
 
TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例maclean liu
 
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略maclean liu
 
Deployment with Capistrano
Deployment with CapistranoDeployment with Capistrano
Deployment with Capistrano旭 張
 
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案maclean liu
 

Tendances (20)

对MySQL应用的一些总结
对MySQL应用的一些总结对MySQL应用的一些总结
对MySQL应用的一些总结
 
分区表基础知识培训
分区表基础知识培训分区表基础知识培训
分区表基础知识培训
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
 
配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制
 
Mysql企业备份发展及实践
Mysql企业备份发展及实践Mysql企业备份发展及实践
Mysql企业备份发展及实践
 
Oracle 資料庫建立
Oracle 資料庫建立Oracle 資料庫建立
Oracle 資料庫建立
 
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局
 
Altibase管理培训 安装篇
Altibase管理培训 安装篇Altibase管理培训 安装篇
Altibase管理培训 安装篇
 
Hadoop基线选定
Hadoop基线选定Hadoop基线选定
Hadoop基线选定
 
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman
 
MySQL新技术探索与实践
MySQL新技术探索与实践MySQL新技术探索与实践
MySQL新技术探索与实践
 
Maclean介绍oracle asm基础概念和原理
Maclean介绍oracle asm基础概念和原理Maclean介绍oracle asm基础概念和原理
Maclean介绍oracle asm基础概念和原理
 
PostgreSQL 9 Standby
PostgreSQL 9 StandbyPostgreSQL 9 Standby
PostgreSQL 9 Standby
 
MySQL优化、新特性和新架构 彭立勋
MySQL优化、新特性和新架构 彭立勋MySQL优化、新特性和新架构 彭立勋
MySQL优化、新特性和新架构 彭立勋
 
Ceph in UnitedStack
Ceph in UnitedStackCeph in UnitedStack
Ceph in UnitedStack
 
MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程
 
TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例
 
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
 
Deployment with Capistrano
Deployment with CapistranoDeployment with Capistrano
Deployment with Capistrano
 
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
 

En vedette

презентация к вебинару 2 планирование
презентация к вебинару 2 планированиепрезентация к вебинару 2 планирование
презентация к вебинару 2 планированиеMonomax
 
Hurricane katrina presentation
Hurricane katrina presentationHurricane katrina presentation
Hurricane katrina presentationbethanyf
 
Pitch Perfect: Giving Journalists What they Want
Pitch Perfect: Giving Journalists What they WantPitch Perfect: Giving Journalists What they Want
Pitch Perfect: Giving Journalists What they WantVuelio
 
黃問_如何問出好問題 _台北市健言社(作大夢的歐吉桑)
黃問_如何問出好問題 _台北市健言社(作大夢的歐吉桑)黃問_如何問出好問題 _台北市健言社(作大夢的歐吉桑)
黃問_如何問出好問題 _台北市健言社(作大夢的歐吉桑)Alan Huang
 
04. a. salinan permendikbud no. 66 th 2013 ttg standar penilaian
04. a. salinan permendikbud no. 66 th 2013 ttg standar penilaian04. a. salinan permendikbud no. 66 th 2013 ttg standar penilaian
04. a. salinan permendikbud no. 66 th 2013 ttg standar penilaianIrma Muthiara Sari
 
Digital storytelling reflection
Digital storytelling reflectionDigital storytelling reflection
Digital storytelling reflectionMegan Smith
 
Power of 3 consulting act v16 launch event presentation
Power of 3 consulting act v16 launch event presentationPower of 3 consulting act v16 launch event presentation
Power of 3 consulting act v16 launch event presentationPower of 3 Consulting, Inc.
 
Fr i final exam review
Fr i final exam reviewFr i final exam review
Fr i final exam reviewLiz Bucrek
 
New Zealand Franchising Confidence Index | April2014
New Zealand Franchising Confidence Index | April2014New Zealand Franchising Confidence Index | April2014
New Zealand Franchising Confidence Index | April2014Franchize Consultants
 
Barnes Introduction
Barnes IntroductionBarnes Introduction
Barnes Introductionkatischmidt
 
2 clasificación de los ángulos
2 clasificación de los ángulos2 clasificación de los ángulos
2 clasificación de los ángulosRicardo Castro
 
Vortex Mobile @ Facebook Developer Garage Toronto
Vortex Mobile @ Facebook Developer Garage TorontoVortex Mobile @ Facebook Developer Garage Toronto
Vortex Mobile @ Facebook Developer Garage TorontoSarah Tang
 
Ci 102 assignment power point
Ci 102 assignment power pointCi 102 assignment power point
Ci 102 assignment power pointjaronchilders100
 
04. b. salinan lampiran permendikbud no. 66 th 2013 tentang standar penilaian
04. b. salinan lampiran permendikbud no. 66 th 2013 tentang standar penilaian04. b. salinan lampiran permendikbud no. 66 th 2013 tentang standar penilaian
04. b. salinan lampiran permendikbud no. 66 th 2013 tentang standar penilaianIrma Muthiara Sari
 
Prioritization Survey Results
Prioritization Survey ResultsPrioritization Survey Results
Prioritization Survey ResultsMichal Bularz
 
Nomensa iof 110706
Nomensa iof 110706Nomensa iof 110706
Nomensa iof 110706Jason Potts
 
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410maclean liu
 
Digital storytelling reflection
Digital storytelling reflectionDigital storytelling reflection
Digital storytelling reflectionMegan Smith
 

En vedette (20)

презентация к вебинару 2 планирование
презентация к вебинару 2 планированиепрезентация к вебинару 2 планирование
презентация к вебинару 2 планирование
 
Hurricane katrina presentation
Hurricane katrina presentationHurricane katrina presentation
Hurricane katrina presentation
 
Pitch Perfect: Giving Journalists What they Want
Pitch Perfect: Giving Journalists What they WantPitch Perfect: Giving Journalists What they Want
Pitch Perfect: Giving Journalists What they Want
 
黃問_如何問出好問題 _台北市健言社(作大夢的歐吉桑)
黃問_如何問出好問題 _台北市健言社(作大夢的歐吉桑)黃問_如何問出好問題 _台北市健言社(作大夢的歐吉桑)
黃問_如何問出好問題 _台北市健言社(作大夢的歐吉桑)
 
04. a. salinan permendikbud no. 66 th 2013 ttg standar penilaian
04. a. salinan permendikbud no. 66 th 2013 ttg standar penilaian04. a. salinan permendikbud no. 66 th 2013 ttg standar penilaian
04. a. salinan permendikbud no. 66 th 2013 ttg standar penilaian
 
Digital storytelling reflection
Digital storytelling reflectionDigital storytelling reflection
Digital storytelling reflection
 
Power of 3 consulting act v16 launch event presentation
Power of 3 consulting act v16 launch event presentationPower of 3 consulting act v16 launch event presentation
Power of 3 consulting act v16 launch event presentation
 
Fr i final exam review
Fr i final exam reviewFr i final exam review
Fr i final exam review
 
New Zealand Franchising Confidence Index | April2014
New Zealand Franchising Confidence Index | April2014New Zealand Franchising Confidence Index | April2014
New Zealand Franchising Confidence Index | April2014
 
Ais life #1_2010
Ais life #1_2010Ais life #1_2010
Ais life #1_2010
 
Barnes Introduction
Barnes IntroductionBarnes Introduction
Barnes Introduction
 
2 clasificación de los ángulos
2 clasificación de los ángulos2 clasificación de los ángulos
2 clasificación de los ángulos
 
Vortex Mobile @ Facebook Developer Garage Toronto
Vortex Mobile @ Facebook Developer Garage TorontoVortex Mobile @ Facebook Developer Garage Toronto
Vortex Mobile @ Facebook Developer Garage Toronto
 
Ci 102 assignment power point
Ci 102 assignment power pointCi 102 assignment power point
Ci 102 assignment power point
 
04. b. salinan lampiran permendikbud no. 66 th 2013 tentang standar penilaian
04. b. salinan lampiran permendikbud no. 66 th 2013 tentang standar penilaian04. b. salinan lampiran permendikbud no. 66 th 2013 tentang standar penilaian
04. b. salinan lampiran permendikbud no. 66 th 2013 tentang standar penilaian
 
Prioritization Survey Results
Prioritization Survey ResultsPrioritization Survey Results
Prioritization Survey Results
 
Nomensa iof 110706
Nomensa iof 110706Nomensa iof 110706
Nomensa iof 110706
 
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
 
Fci apr 2012
Fci    apr 2012Fci    apr 2012
Fci apr 2012
 
Digital storytelling reflection
Digital storytelling reflectionDigital storytelling reflection
Digital storytelling reflection
 

Similaire à 【Maclean liu技术分享】深入了解oracle asm(一)基础概念

Installation and configuration 11g r2 asm using job role separation(grid & or...
Installation and configuration 11g r2 asm using job role separation(grid & or...Installation and configuration 11g r2 asm using job role separation(grid & or...
Installation and configuration 11g r2 asm using job role separation(grid & or...Zhaoyang Wang
 
How to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentHow to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentAnna Yen
 
Hp Storage
Hp StorageHp Storage
Hp Storageamulopan
 
Hdfs raid migration to hadoop 1.x
Hdfs raid migration to hadoop 1.x Hdfs raid migration to hadoop 1.x
Hdfs raid migration to hadoop 1.x Jiang Yu
 
Parnassus data技术白皮书v0.1
Parnassus data技术白皮书v0.1Parnassus data技术白皮书v0.1
Parnassus data技术白皮书v0.1maclean liu
 
【Ask maclean技术分享】oracle dba技能列表 z
【Ask maclean技术分享】oracle dba技能列表 z【Ask maclean技术分享】oracle dba技能列表 z
【Ask maclean技术分享】oracle dba技能列表 zmaclean liu
 
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...Alan Tsai
 
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223Jinrong Ye
 
TSM6培训教程
TSM6培训教程TSM6培训教程
TSM6培训教程acqua young
 
Cassandra简介.ppt
Cassandra简介.pptCassandra简介.ppt
Cassandra简介.pptjames tong
 
Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)ykdsg
 
网站存储经验谈pdf
网站存储经验谈pdf网站存储经验谈pdf
网站存储经验谈pdfYu Lin
 
网站存储经验谈-pdf
网站存储经验谈-pdf网站存储经验谈-pdf
网站存储经验谈-pdfYu Lin
 
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)涛 吴
 
1, OCP - architecture intro
1, OCP - architecture intro1, OCP - architecture intro
1, OCP - architecture introted-xu
 
4, files & folders
4, files & folders4, files & folders
4, files & foldersted-xu
 
8, OCP - backup with rman
8, OCP - backup with rman8, OCP - backup with rman
8, OCP - backup with rmanted-xu
 

Similaire à 【Maclean liu技术分享】深入了解oracle asm(一)基础概念 (20)

linux mm
linux mmlinux mm
linux mm
 
Installation and configuration 11g r2 asm using job role separation(grid & or...
Installation and configuration 11g r2 asm using job role separation(grid & or...Installation and configuration 11g r2 asm using job role separation(grid & or...
Installation and configuration 11g r2 asm using job role separation(grid & or...
 
Asm+aix
Asm+aixAsm+aix
Asm+aix
 
How to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentHow to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environment
 
Hp Storage
Hp StorageHp Storage
Hp Storage
 
Hdfs raid migration to hadoop 1.x
Hdfs raid migration to hadoop 1.x Hdfs raid migration to hadoop 1.x
Hdfs raid migration to hadoop 1.x
 
Proxmox 5.0
Proxmox 5.0Proxmox 5.0
Proxmox 5.0
 
Parnassus data技术白皮书v0.1
Parnassus data技术白皮书v0.1Parnassus data技术白皮书v0.1
Parnassus data技术白皮书v0.1
 
【Ask maclean技术分享】oracle dba技能列表 z
【Ask maclean技术分享】oracle dba技能列表 z【Ask maclean技术分享】oracle dba技能列表 z
【Ask maclean技术分享】oracle dba技能列表 z
 
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
 
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
 
TSM6培训教程
TSM6培训教程TSM6培训教程
TSM6培训教程
 
Cassandra简介.ppt
Cassandra简介.pptCassandra简介.ppt
Cassandra简介.ppt
 
Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)
 
网站存储经验谈pdf
网站存储经验谈pdf网站存储经验谈pdf
网站存储经验谈pdf
 
网站存储经验谈-pdf
网站存储经验谈-pdf网站存储经验谈-pdf
网站存储经验谈-pdf
 
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
 
1, OCP - architecture intro
1, OCP - architecture intro1, OCP - architecture intro
1, OCP - architecture intro
 
4, files & folders
4, files & folders4, files & folders
4, files & folders
 
8, OCP - backup with rman
8, OCP - backup with rman8, OCP - backup with rman
8, OCP - backup with rman
 

Plus de maclean liu

Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアルOracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアルmaclean liu
 
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案maclean liu
 
PRM DUL Oracle Database Health Check
PRM DUL Oracle Database Health CheckPRM DUL Oracle Database Health Check
PRM DUL Oracle Database Health Checkmaclean liu
 
Vbox virtual box在oracle linux 5 - shoug 梁洪响
Vbox virtual box在oracle linux 5 - shoug 梁洪响Vbox virtual box在oracle linux 5 - shoug 梁洪响
Vbox virtual box在oracle linux 5 - shoug 梁洪响maclean liu
 
【诗檀软件】Mysql高可用方案
【诗檀软件】Mysql高可用方案【诗檀软件】Mysql高可用方案
【诗檀软件】Mysql高可用方案maclean liu
 
Shoug at apouc2015 4min pitch_biotwang_v2
Shoug at apouc2015 4min pitch_biotwang_v2Shoug at apouc2015 4min pitch_biotwang_v2
Shoug at apouc2015 4min pitch_biotwang_v2maclean liu
 
Apouc 4min pitch_biotwang_v2
Apouc 4min pitch_biotwang_v2Apouc 4min pitch_biotwang_v2
Apouc 4min pitch_biotwang_v2maclean liu
 
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1maclean liu
 
诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 maclean liu
 
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wangOrclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wangmaclean liu
 
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24maclean liu
 
追求Jdbc on oracle最佳性能?如何才好?
追求Jdbc on oracle最佳性能?如何才好?追求Jdbc on oracle最佳性能?如何才好?
追求Jdbc on oracle最佳性能?如何才好?maclean liu
 
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践maclean liu
 
Prm dul is an oracle database recovery tool database
Prm dul is an oracle database recovery tool   databasePrm dul is an oracle database recovery tool   database
Prm dul is an oracle database recovery tool databasemaclean liu
 
Oracle prm dul, jvm and os
Oracle prm dul, jvm and osOracle prm dul, jvm and os
Oracle prm dul, jvm and osmaclean liu
 
Oracle dba必备技能 使用os watcher工具监控系统性能负载
Oracle dba必备技能   使用os watcher工具监控系统性能负载Oracle dba必备技能   使用os watcher工具监控系统性能负载
Oracle dba必备技能 使用os watcher工具监控系统性能负载maclean liu
 
Parnassus data recovery manager for oracle database user guide v0.3
Parnassus data recovery manager for oracle database user guide v0.3Parnassus data recovery manager for oracle database user guide v0.3
Parnassus data recovery manager for oracle database user guide v0.3maclean liu
 
Oracle prm安装说明
Oracle prm安装说明Oracle prm安装说明
Oracle prm安装说明maclean liu
 
诗檀软件 Oracle数据块损坏知识
诗檀软件 Oracle数据块损坏知识诗檀软件 Oracle数据块损坏知识
诗檀软件 Oracle数据块损坏知识maclean liu
 
Oracle prm数据库恢复工具与asm
Oracle prm数据库恢复工具与asmOracle prm数据库恢复工具与asm
Oracle prm数据库恢复工具与asmmaclean liu
 

Plus de maclean liu (20)

Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアルOracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
 
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
 
PRM DUL Oracle Database Health Check
PRM DUL Oracle Database Health CheckPRM DUL Oracle Database Health Check
PRM DUL Oracle Database Health Check
 
Vbox virtual box在oracle linux 5 - shoug 梁洪响
Vbox virtual box在oracle linux 5 - shoug 梁洪响Vbox virtual box在oracle linux 5 - shoug 梁洪响
Vbox virtual box在oracle linux 5 - shoug 梁洪响
 
【诗檀软件】Mysql高可用方案
【诗檀软件】Mysql高可用方案【诗檀软件】Mysql高可用方案
【诗檀软件】Mysql高可用方案
 
Shoug at apouc2015 4min pitch_biotwang_v2
Shoug at apouc2015 4min pitch_biotwang_v2Shoug at apouc2015 4min pitch_biotwang_v2
Shoug at apouc2015 4min pitch_biotwang_v2
 
Apouc 4min pitch_biotwang_v2
Apouc 4min pitch_biotwang_v2Apouc 4min pitch_biotwang_v2
Apouc 4min pitch_biotwang_v2
 
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
 
诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础
 
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wangOrclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
 
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
 
追求Jdbc on oracle最佳性能?如何才好?
追求Jdbc on oracle最佳性能?如何才好?追求Jdbc on oracle最佳性能?如何才好?
追求Jdbc on oracle最佳性能?如何才好?
 
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
 
Prm dul is an oracle database recovery tool database
Prm dul is an oracle database recovery tool   databasePrm dul is an oracle database recovery tool   database
Prm dul is an oracle database recovery tool database
 
Oracle prm dul, jvm and os
Oracle prm dul, jvm and osOracle prm dul, jvm and os
Oracle prm dul, jvm and os
 
Oracle dba必备技能 使用os watcher工具监控系统性能负载
Oracle dba必备技能   使用os watcher工具监控系统性能负载Oracle dba必备技能   使用os watcher工具监控系统性能负载
Oracle dba必备技能 使用os watcher工具监控系统性能负载
 
Parnassus data recovery manager for oracle database user guide v0.3
Parnassus data recovery manager for oracle database user guide v0.3Parnassus data recovery manager for oracle database user guide v0.3
Parnassus data recovery manager for oracle database user guide v0.3
 
Oracle prm安装说明
Oracle prm安装说明Oracle prm安装说明
Oracle prm安装说明
 
诗檀软件 Oracle数据块损坏知识
诗檀软件 Oracle数据块损坏知识诗檀软件 Oracle数据块损坏知识
诗檀软件 Oracle数据块损坏知识
 
Oracle prm数据库恢复工具与asm
Oracle prm数据库恢复工具与asmOracle prm数据库恢复工具与asm
Oracle prm数据库恢复工具与asm
 

Dernier

函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptxNCU MCL
 
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptxSymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptxNCU MCL
 
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptxNCU MCL
 
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】黑客 接单【TG/微信qoqoqdqd】
 
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptxNCU MCL
 
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptxNCU MCL
 
20170104 - transaction_pattern
20170104 - transaction_pattern20170104 - transaction_pattern
20170104 - transaction_patternJamie (Taka) Wang
 
20211119 - demystified artificial intelligence with NLP
20211119 - demystified artificial intelligence with NLP20211119 - demystified artificial intelligence with NLP
20211119 - demystified artificial intelligence with NLPJamie (Taka) Wang
 
20161220 - domain-driven design
20161220 - domain-driven design20161220 - domain-driven design
20161220 - domain-driven designJamie (Taka) Wang
 
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptxSymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptxNCU MCL
 

Dernier (15)

20200226 - AI Overview
20200226 - AI Overview20200226 - AI Overview
20200226 - AI Overview
 
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
 
20151111 - IoT Sync Up
20151111 - IoT Sync Up20151111 - IoT Sync Up
20151111 - IoT Sync Up
 
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptxSymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
 
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
 
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
买假和真英国驾驶执照买了假的英国驾照,那跟真的有什么区别吗?买假和真正的澳大利亚驾驶执照【微信qoqoqdqd】
 
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
 
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
 
20200323 - AI Intro
20200323 - AI Intro20200323 - AI Intro
20200323 - AI Intro
 
20161027 - edge part2
20161027 - edge part220161027 - edge part2
20161027 - edge part2
 
20170104 - transaction_pattern
20170104 - transaction_pattern20170104 - transaction_pattern
20170104 - transaction_pattern
 
Entities in DCPS (DDS)
Entities in DCPS (DDS)Entities in DCPS (DDS)
Entities in DCPS (DDS)
 
20211119 - demystified artificial intelligence with NLP
20211119 - demystified artificial intelligence with NLP20211119 - demystified artificial intelligence with NLP
20211119 - demystified artificial intelligence with NLP
 
20161220 - domain-driven design
20161220 - domain-driven design20161220 - domain-driven design
20161220 - domain-driven design
 
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptxSymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
 

【Maclean liu技术分享】深入了解oracle asm(一)基础概念

  • 1. 【Maclean Liu 技术分 享】深入了解 Oracle ASM(一)基础概念 by Maclean.liu liu.maclean@gmail.com www.askmaclean.com
  • 2. About Me l Email:liu.maclean@gmail.com 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.
  • 4. 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 所提供的高可用性:
  • 5. •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 不会造成过度的影响 性能方面
  • 6. •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。
  • 7. 注意虽然可以使用普通 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
  • 8. ASM 相关的 V$和 X$视图 视图名 X$基表名 描述 V$ASM_DISKGROUP X$KFGRP 实施磁盘发现 disk discovery 和列出磁 V$ASM_DISKGROUP_STAT X$KFGRP_STAT 显示 disk group 状态 实施磁盘发现 disk discovery 和列出磁 V$ASM_DISK X$KFDSK, X$KFKID 些磁盘的使用度量信息 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 X$KFNSDSKIOST(new in 11g) I/O 统计信息 11g) 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)
  • 9. X$KFFXP 包含了文件、extent 和 AU 之间的映射关系。 从该 X$视图可以追踪给定文件的 extent 的条带 化和镜像情况。注意对于 primary au 和 mirror au 读操作的负载是均衡的, 而写操作要求同时写 2 者到磁 盘。以下是 X$KFFXP 视图列的含义 X$KFFXP Column Name Description ADDR x$ table address/identifier INDX row unique identifier INST_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 Relative position of the allocation unit from the beginning of the disk. The AU_KFFXP allocation unit size (1 MB) in v$asm_diskgroup 0->primary extent, ->mirror extent, 2->2nd mirror copy (high redundancy and LXN_KFFXP metadata) FLAGS_KFFXP N.K. CHK_KFFXP N.K. X$KFDAT 该 X$视图包含了所有 allocation unit AU 的细节,不管是 FREE 的还是 USED。 X$KFDAT Column Name Description ADDR x$ table address/identifier INDX row unique identifier INST_ID instance number (RAC)
  • 10. 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 Disk allocation unit (relative position from the beginning of the disk), join with AUNUM_KFDAT x$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 Description Name ADDR x$ table address/identifier INDX row unique identifier INST_ID instance number (RAC) GRP diskgroup number, join with v$asm_diskgroup DISK disk number, join with v$asm_disk COMPOUND disk identifier. Join with compound_index in v$asm_disk NUMBER_KFDPARTNER partner disk number, i.e. disk-to-partner (1-N) relationship MIRROR_KFDPARNER if=1 in a healthy normal redundancy config PARITY_KFDPARNER if=1 in a healthy normal redundancy config ACTIVE_KFDPARNER if=1 in a healthy normal redundancy config 研究 ASM 必要的技巧 1)找出 ASM 的镜像 mirror extent,在例子中是 ASM 的 spfile
  • 11. [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 Production With 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
  • 12. 也可以这样定位 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 Production With the Automatic Storage Management option [grid@localhost ~]$ cat pfile +ASM.asm_diskgroups='EXTDG','NORDG'#Manual Mount *.asm_diskstring='/dev/asm*'
  • 13. *.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=1 1+0 records in 1+0 records out 1048576 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 in 1+0 records out 1048576 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'
  • 14. *.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=1 1+0 records in 1+0 records out 1048576 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=3 SQL> / 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;
  • 15. 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 个 AU ASM 做 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
  • 16. 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 log 11gR2 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 Disks Oracle 内部视图 X$KFFXP Fixed X$ Tables in ASM 了解 AMDU 工具生成的 MAP 文件 使用 AMDU 工具从无法 MOUNT 的 DISKGROUP 中抽取数据文件 © 2013, www.askmaclean.com. 版权所有.文章允许转载,但必须以链接方式注明源地址,否则追求法律责任.