ASM概述、组件、优点、条带化

ASM的全称是 Automatic Storage Management,ASM 是为存放oracle 数据文件而设计的一个volume manager 和 文件系统 管理的技术。 
ASM 支持oracle 单实例,也是RAC。

ASM存储结构:
每个ASM disk 被划分成多个AU(allocation units), 一个AU 是disk group 基本的分配单元。
一个file extent 由一个或者多个AU 单元组成,而一个ASM file 则由多个file extents组成。即 au->extents->asm file

ASM metadata:

ASM metadata的数据保存在disk group中,ASM 使用这些metadata 来控制disk group。 ASM metadata包含如下内容:
(1) disk group中有哪些disk 
(2) disk group中的多少可用空间
(3) disk group 保存的文件名称
(4) disk group 中data file extents的位置
(5) Redo log record信息,其保存了metadata block的操作记录
(6) Oracle ADVM volume信息

Oracle ASM Files 说明
可以在ASM disk group中存储如下类型的文件:
(1) Control files
(2) Data files, temporary data files, and data file copies
(3) SPFILEs
(4) Online redo logs, archive logs, and Flashback logs
(5) RMAN backups
(6) Disaster recovery configurations
(7) Change tracking bitmaps
(8) Data Pump dumpsets

Oracle ASM 组件构成:

ASM 实例的架构和Database 实例类似,也是由SGA(System Global Area)和一些后台进程组成。 因为ASM 实例所做的工作要比database 实例少很多,所以ASM 实例需要的SGA 很小,对服务器性能的影响也很小。 ASM 实例只需要挂载disk groups,来保证groups上保存的ASM files对数据库实例可用。

ASM的优点:

1. REBALANCE
ASM 会把文件均衡的存放在所有的disk group中的disk上。 这种分配模式维护每个disk 使用相同的空间,同时也确保disk group中的每个disk 具有相同的I/O 负载。

我们可以在数据库使用的过程中,对某个disk group 添加或者删除disk, 在我们执行这些操作的时候,ASM 会自动的重新分部这些disk 上的内容,比如我们要删除一个disk,那么这个disk上的数据就需要转移到其他的disk上。这个过程也不需要停数据库。

2. 镜像冗余
ASM 的volume manager 功能提供了几种不同的镜像冗余。 目前对disk group 可以选择ASM Normal 和 high 冗余,Normal 对数据提供了2份镜像,High对数据提供了3份镜像。

3. OMF
ASM 使用了Oracle Managed Files (OMF)的特性来简化数据文件的管理。OMF 可以自动的在指定的目录创建文件.

Oracle ASM 条带化

粗粒度的条带化提供负载均衡功能(load balance),而细粒度的条带化能降低IO 延时.为了条带化,
ASM 把文件分离成strip,然后将strip data存放在disk group的所有disk上。
在任何配置下,细粒度的条带化的stripe size 总是等于128KB, 这样能降低在小IO 操作时的IO等待。 
粗粒度的strip size 总是等于AU SIZE 大小,注意这里是AU SIZE 而不是extent size。 


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

转载于:http://blog.itpub.net/31383567/viewspace-2134309/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
格式ASM磁盘头可以使用ASMCMD命令或者SQL命令来完成。 ASMCMD命令: 1. 首先,使用ASMCMD命令进入到ASM实例所在目录,例如: ``` $ cd $ORACLE_HOME/bin $ ./asmcmd ``` 2. 然后,使用如下命令格式ASM磁盘头: ``` ASMCMD> dsget <diskgroup_name> <disk_number> | asmcmd format -d <disk_path> ``` 其中,<diskgroup_name>表示要格式的磁盘组名称,<disk_number>表示要格式的磁盘编号,<disk_path>表示要格式的磁盘路径。 例如,要格式磁盘组DATA中的第1块磁盘,可以使用如下命令: ``` ASMCMD> dsget DATA 1 | asmcmd format -d /dev/oracleasm/disks/DISK1 ``` 3. 最后,验证磁盘头是否已经格式成功,可以使用如下命令: ``` ASMCMD> lsdsk -k ``` SQL命令: 1. 首先,连接到ASM实例,例如: ``` $ sqlplus / as sysasm ``` 2. 然后,使用如下命令格式ASM磁盘头: ``` SQL> ALTER DISKGROUP <diskgroup_name> DROP DISK <disk_number> KEEP HEADER; SQL> ALTER DISKGROUP <diskgroup_name> ADD DISK '<disk_path>' REBALANCE POWER <power>; ``` 其中,<diskgroup_name>表示要格式的磁盘组名称,<disk_number>表示要格式的磁盘编号,<disk_path>表示要格式的磁盘路径,<power>表示磁盘重平衡的并行度。 例如,要格式磁盘组DATA中的第1块磁盘,可以使用如下命令: ``` SQL> ALTER DISKGROUP DATA DROP DISK 1 KEEP HEADER; SQL> ALTER DISKGROUP DATA ADD DISK '/dev/oracleasm/disks/DISK1' REBALANCE POWER 4; ``` 3. 最后,验证磁盘头是否已经格式成功,可以使用如下命令: ``` SQL> SELECT HEADER_STATUS FROM V$ASM_DISK WHERE GROUP_NUMBER = <diskgroup_number> AND DISK_NUMBER = <disk_number>; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值