ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 了解ASM

了解ASM

原创 Linux操作系统 作者:tolywang 时间:2011-01-18 15:07:45 0 删除 编辑

 

1 ASM 作为Oracle推荐的首选方案,除了具有集群文件系统的功能,同时
还集成了冗余,I/O分散等卷管理器的功能.可以通过两种方式使用ASM,
包括建立在裸设备上,如果安装ASMLIB, 也可以建立在块设备上.


2 ASM Instance 与RDBMS 的交互
当ASM实例挂载一个磁盘组之后,ASM会把Disk Group Name, ASM Instance
Name, Oracle Home Path等信息注册到CSS,这些信息会被用来构造Connect
String.

当RDBMS启动过程中需要访问某个ASM File时, RDBMS会和CSS联系,从CSS中获
取Connect String, 然后发起一个到ASM实例的连接,这条ASM和RDBMS实例之间
的初始连接叫作 Umbilicu(脐带), 只要RDBMS打开ASM File,这个连接就会保持
活动.直到所有ASM File都被RDBMS实例关闭之后,这个连接才会关闭.


3 SGA
ASM 的SGA和RDBMS没有区别, 也包括Buffer Cache, Shared Pool, Large Pool
等部分,需要注意的是Shared Pool, 因为Extent Map也放在这部分内存中.

Extent Map: 存储RDBMS实例中的存储分配单元Extent与ASM实例中的分配单元AU
的对应关系.


4 后台进程

ASM实例:

1) RBAL: rebalancer进程,负责规划ASM磁盘组的Reblance活动
2) ABRn: 是RBAL进程的子进程,真正完成Reblance活动

RDBMS实例:

1) RBAL: 负责打开每个磁盘组的所有磁盘
2) ASMB: 这个进程作为ASM实例和数据库实例之间的信息通道.这个进程负责与
ASM实例的通信,它先利用Diskgroup name从CSS获得管理该Diskgroup的ASM实例的
连接串,然后建立到ASM的持久连接,两个实例通过这条连接定期交换信息,同时也
是一种心跳机制.
3)O0nn 01-10:这组进程建立到ASM实例的连接,某些长时间操作比如创建数据文件,
RDBMS会通过这些进程向ASM发送信息


5 文件

ASM实例的运行表面上看不需要任何文件,实际上ASM也需要许多"文件"用来保证正常
运行,只是这些文件是Oracle内部维护的, 对于DBA不可见,而且也不需要DBA的干预.


6 存在的问题

问题记录:

1) Oracle文档一再强调的在线添加/删除DiskGroup, Disk, 在ASM层面的管理操作
时不影响应用系统, 在RAC层面, 对某一个节点上ASM操作,这个节点上的RDBMS必须
Shutdown, ASM 实例必须Dismount.  但由于这是RAC, 业务不会受到影响, 还可以
走另一个节点. 不是这样的.

ASM 与RAC 并没有必然的关联, Oracle一再强调的可以在线管理,是指DiskGroup组
之间不会互相影响.假定你想删除一个DiskGroup,只要这个DiskGroup上的文件在RDBMS
不是 ACTIVE的就行.


2) 对ASM的理解,ASM其实就是LVM披上了Oracle的马甲,
Disk对应PV, Diskgroup 对应VG,


3) ASM 实例的Spfile, 或pfile 在哪里呢?
$ORACLE_HOME/dbs/spfile+ASM.ora

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/35489/viewspace-684102/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695689