automated storage management ,即自动存储管理,简称asm .。

在oracle 10g 这个版本之前,管理一个大型数据库成千上万的数据文件对数据库管理员来说是一个既无技术含量又十分枯燥的工作,并且要求数据库管理员掌握系统lvm的相关知识,做好磁盘规划,lv的条带化等相关知识。而asm则大大减轻了这方面的工作,数据库管理员 只需管理少数几个磁盘组即可。磁盘组是asm 管理的一个逻辑单元,由一组磁盘设备组成。我们可以定义一个磁盘组作为数据库的默认磁盘组,oracle asm 包括创建,删除数据文件等。 oracle  会自动将这些文件与一个合适的数据库对象作关联,这样我们在管理这些对象时只需提供对象的名称,无须像以前那样提供详细的文件名。

asm 提供了很多有用的存储技术,如RIAD,LVM等。像这些技术一样,asm 允许你在一组独立的磁盘上创建一个单独的磁盘组。这样就实现了单个磁盘组的I/O均衡。同时ASM还实现了条带化(striping )和磁盘镜像(mirroring)以提高I/O的性能和数据可靠性。与RAID,LVM不同的是,ASM在文件级实现的条带化和镜像,这样的实现方式给用户带来了很大选择自由度,我们可以在同一个磁盘组中对不同的文件配置不同的存储属性,实现不同的存储方式。

在11g中ASM 的新特性:

1。快速重新同步 ASM Fast Mirror Resync

短暂的磁盘路径发生问题时,恢复ASM磁盘组(DISK GROUP )的允余性是很浪费时间的,特别是这种恢复操作需要重新布局整个磁盘组。ASM快速磁盘重新同步这个新特性能显著减少重新同步一块坏磁盘时这种情况的时间,当你更换了坏磁盘,ASM能够快速的同步ASM磁盘的extent.

任何使磁盘组临时不可用的问题被认为是暂时的失效,这是ASM快速重新同步新特性可以恢复的。磁盘路径失效,例如接口线问题,磁盘控制器问题,或者是磁盘电源问题这些都能引起瞬时失效。缺省的情况下,当一块磁盘脱机时,ASM 会立刻 移出该磁盘。ASM快速再同步功能够记录脱机磁盘在脱机期间该磁盘上区的所有变化,当磁盘被修复或者再次联机时,这期间在 数据库 更改的extent 能够被快速的重新同步 到刚才失效的这些磁盘中。

你可以设定DISK_REPAIRE_TIME 这个属性使失效 磁盘在被修复和再次联机这段时间内重新整理这样的操作不发生。这个时间可以以分钟或者小时为单位,如果不指定时间单位,缺省的时间单位为小时。如果DISK_REPAIRE_TIME 这个属性没有设定,其缺省值为3.6小时。需要注意的是,这个缺省值使用与磁盘被设定为脱机模式而操作语句没有drop after 这样的情况。大部分来说环境,3.6个小时这个DISK_REPAIRE_TIME缺省属性数值应该都是合适的。

根据材料:

注意:

使用这项新功能,ASM磁盘组的兼容性需要设定至11.1或者更高。

例:create diskgroup asmdskgrp1 disk '/dev/raw/*'

set attribute 'compatible.rdbms'='11.1','compatible.asm'='11.1';

只有当包含脱机磁盘的磁盘组再次被挂上,消逝时间都是增加的,v$asm_disk的repaire_time 这列显示的是脱机磁盘在被删除之前所剩余的时间(单位:秒 ),当指定的时间到达后,asm 删除磁盘,可以用带有drop after 的alter diskgroup disk  offline语句来覆盖这个属性 。

注意:

drop after 也是11g 的新特性。

如果一条alter diskgroup set attribute disk_repaire_time操作的磁盘组含有脱机的磁盘,这个属性只对那些非脱机模式的磁盘时生效的。

当一块脱机磁盘被第二次执行脱机操作,消逝时间会被重置并开始计算。如果另一个时间这块磁盘又被执行了drop after 操作,上一个值会被覆盖并且新知生效。不能用alter diskgroup drop disk 语句删除处于脱机状态的磁盘,这样操作时会抱错。如果在某时情况,例如磁盘不能被修复,需要在disk_repaire_time到达之前把磁盘删除时,可以再次执行带有drop after 子句的offline语句,drop after 指定oh 或者om ,表示立刻删除。

你可以用alterdiskgroup dg1 set attribute 'disk_repaire_time'='4.5h'

alter diskgroup dg1 set attribute 'disk_repaire_time'='270m';

在你修复磁盘后,运行alter diskgroup disk online 这条sql语句可以使磁盘恢复到联机状态,新的读写操作都可以正常进行了,这条语句也可以触发把磁盘维修期间内更改的extent 从磁盘组冗余的数据重新同步到刚才失效的这些磁盘中。

3。asm 可扩展性和性能的增强

asm文件区管理在11g都有改进,体现在性能的提升和显著的减少用于存储文件区的sga内存方面。当ASM 的文件在大小上增加时,每一个区的大小也会自动增加,因此,会有需要很少的指向区 指针描述文件。当访问20GB至128TB大小的ASM 文件时11g的这个新特征 会提升性能。当然,这样的文件通常是非常大的数据库(VLDBs)所用的。

除此之外。当你创建新的磁盘组时,你现在有多个分配单位大小选项,例如1,2,4,8,16,32,和64(MB)。依据数据库的负载和存储系统的类型,选择大的分配单位可能会获得明显的性能提升。

磁盘组存储的ASM 文件的内容是由N个数据区组成的,数据区存储在独立的磁盘上 。区 包含一个或多个分配单位(AU)。为适应逐渐增大的大文件,ASM使用变化大小的区。

变化大小的区能够支持更大的ASM 文件,减少大数据对SGA内存的使用,并且提升文件创建和打开操作的性能。一个ASM文件开始的一个区是由一个分配单位组成的。当文件大小增加时,如果大小超出预先定义的值,新的区大小也会在增加到8分配单位,然后新的区大小增加到64个分配单位。对于新创建 的文件,这一特征自动生效的。

分配单位的大小为多少在磁盘组建立的时候确定,可以为1,2,4,8,16,32及64 (MB),当ASM文件的大小范围在1到20,000个区这个量级是,每个区的大小与分配单位的大小相等;ASM当文件大小超出20,000个区,到20,001到40,000个区这个范围,新的区的大小分自动增至 8个分配单位大小;再有当ASM文件大小超出40,000个区,新的区的大小自动增至 64个分配单位大小。下图表示的是含自快磁盘的磁盘组,文件由1AU增至8AU的变化状况,在这个配置中,ASM没有做文件镜像的。

4。为asm管理员新增了sysasm 权限和osasm 操作系统用户组

在oracle 10g这个版本,oracle 没有为asm管理员定制相应的角色,asm管理员以sysdba角色进行管理工作,在实际工作中asm管理员与数据库管理员可能是不同的来年国歌或几个人完成的,相对来说权限界定不清晰。11g这个新特征引入sysasm 这一新权限目的就是为了清晰asm管理员与数据库管理员的界面,防止越权操作的发生,使asm 管理员更好的进行asm 管理工作。

这个新特性同时在操作系统中也为asm 新增了osasm 用户组,osasm 这个组时专门为asm设计的,可以通过操作系统授权,别授权的这个组成员本地连接具有sysasm 权限,能够以sysasm 角色进行权限的asm 管理工作。最初,只有asm 的安装用户是这个组的成员,在后继的工作,你可以添加新的用户组到osasm 这个组,使新用户有asm 管理的去那部权限。

需要注意的是,在oracle 11g release的版本,系统osdba 组的成员,连入数据库具有sysdba 的权限,这样的用户荏苒可以连接并管理asm 的实例,但相信在后续的版本中有sysdba权限的用户不会被授权由asm 实例的管理权限。

5。asm 滚动升级

6。asm 的命令

asmcmd 有下列的四个新的命令:lsdsk,md_backup,md_restore和remap.除此之外,你还能使用带有新选项的ls和lsdg命令。下面描述一下这四个新的asm 命令:

lsdsk 不论是否有一个 asm 的实例正在运行,这个命令都能列出asm 磁盘的信息。当系统管理员或者存储管理员想查看一下asm 实例都用了那些磁盘时,这个命令非常有用。

md_backup 和md_restore 这两个命令使能够用相同的磁盘路径,磁盘名,失败组,属性,模板及目录结构别名来重新建立已经存在的磁盘组。你可以使用md_backup备份磁盘组的环境,在出现问题的时候用mk_restore来恢复相应的磁盘组。

remap   你可以使用这个命令重映射或者恢复normal 及high redundancy 模式asm 磁盘组中的坏块,asm 读取asm 映像好的拷贝中相应的快,并且把这些快重新写到磁盘组中一个替代的位置。

7。asm 镜像优先读取

在扩展集群中,如果远程结点的访问是不均衡的,这一新特性对于提升性能是很有用的。这导致更好的存储利用率,降低网络负载。 oracle 10g 中,asm 总读一个镜像区集的主要拷贝,我们知道这样做的目的是为了分散i/o,提升性能。而对于一个磁盘组的一块盘,对于某一个结点来说,可能是本地盘,也可能是远程盘,如果从主拷贝读取数据,这个主拷贝又是远程盘,显然没有本地盘效率高。不过在oracle 10g 中是不能完成设定从那块盘读取数据的,在11g 中引入了asm_preferred_read_failure_groups 这个参数,即我们所谈的asm 优先镜像读取新特征,可以完成这样的功能,如下再详细说一下这个新特征。

oracle asm 概念的更多相关文章

  1. 探索ORACLE之ASM概念(完整版)

    探索ORACLE之ASM概念(完整版) 本文出自https://www.jb51.net/article/43527.htm ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出 ...

  2. [置顶] Oracle 11g R2 ASM:了解 Oracle ASM 基本概念

    About Oracle ASM Instances About Oracle ASM Disk Groups About Mirroring and Failure Groups About Ora ...

  3. BayaiM__ORACLE之ASM概念 --V 1.0.0

    BayaiM__ORACLE之ASM概念                                --V 1.0.0 -------------------------------------- ...

  4. Linux CentOS6.5下安装Oracle ASM

    Oracle版本:Oracle 11g 1.确定自己的Linux版本: [root@localhost ~]#uname -r 2.6.32-431.el6.x86_64 2.6.32-431.el6 ...

  5. Oracle ASM

    一 Oracle ASM簡介 Oracle 10g推出的管理磁盤的新方式,用於取代LVM技術.主要用于RAC環境 二 Oracle ASM的配置安裝 1.安裝asm包 RedHat Linux5.x ...

  6. 使用裸设备配置Oracle ASM实例一例

    1.查看当前磁盘 [root@std u01]# fdisk -l Disk /dev/sda: bytes heads, sectors/track, cylinders Units = cylin ...

  7. Oracle asm介绍和安装linux+oracle10g+asm过程

    Oracle asm介绍和安装linux5.2+oracle10g+asm过程   1)ASM(自动存储管理)的来由:   ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来 ...

  8. 转://Window下安装Oracle ASM单实例数据库

    之前做的Oracle ASM实验都是基于Linux或者Unix操作系统的,最近想试试如何在Windows环境下使用Oracle ASM.本文介绍如何在windows下创建裸设备,并创建ASM磁盘组以及 ...

  9. [转载] 虚拟机下面安装windows+oracle ASM的过程

    转帖:https://www.2cto.com/database/201303/195261.html 最开始的时候 我找了一个挺好的教程 安装过 但是已经找不到了,先转载一下这个内容,后续再测试完善 ...

随机推荐

  1. JSF dataTable 添加列 动态创建数据表 列

    @Named @ViewScoped public class LiveRangeService implements Serializable { private List< Map<S ...

  2. 怎样查看MySQL是否区分大小写

    MySQL默认情况下是否区分大小写,使用show Variables like '%table_names'查看lower_case_table_names的值,0代表区分,1代表不区分.

  3. C#实现录制屏幕

    以前写过两篇录制麦克风语音和摄像头视频的文章(实现语音视频录制.在服务器端录制语音视频),最近有朋友问,如果要实现屏幕录制这样的功能,该怎么做了?实际上原理是差不多的,如果了解了我前面两篇文章中介绍的 ...

  4. 20145212《Java程序程序设计》课程总结

    20145212<Java程序程序设计>课程总结 一.每周读书笔记链接汇总 第一周读书笔记 第二周读书笔记 第三周读书笔记 第四周读书笔记 第五周读书笔记 第六周读书笔记 第七周读书笔记 ...

  5. Java数据库——事务处理

    在数据库中执行5条SQL语句,这些SQL语句本身需要保持一致,即要么同时成功,要么同时失败 事务基本操作 //============================================= ...

  6. 移动端图片上传解决方案localResizeIMG先压缩后ajax无刷新上传

    现在科技太发达,移动设备像素越来越高,随便一张照片2M+,但是要做移动端图片上传和pc上略有不同,移动端你不能去限制图片大小,让用户先处理图片再上传,这样不现实.所以理解的解决方案就是在上传先进行图片 ...

  7. 新版WampServer项目路径前面没有localhost

    1.第一种情况:http://localhost/页面中不能访问 解决方式: 在www目录下找到index.php 然后修改里面查找$projectContents 或直接查看338行代码 修改'ht ...

  8. Django笔记-字符编码相关问题整理

    1.添加中文注释后编译出错,提示:Non-ASCII   解决方法: 在Python脚本文件的第一行或第二行添加一句:      #coding:gbk或#coding:utf-8或##-*- cod ...

  9. AWK改变输入输出分隔符实例分析

    awk默认从STDIN接受数据,打印文本到STDOUT. awk的默认输入和输出分隔符: FS : 输入字段分隔符,默认空格. RS : 输入行分隔符,默认\n. OFS : 输出字段分隔符,默认空格 ...

  10. 用实例揭示notify()和notifyAll()的本质区别

    用实例揭示notify()和notifyAll()的本质区别 收藏   notify()和notifyAll()都是Object对象用于通知处在等待该对象的线程的方法.两者的最大区别在于: notif ...