BayaiM__ORACLE之ASM概念                                --V 1.0.0

-----------------------------------------------------------------------------———--------------------------------------------------------------------------------

<<  以下内容纯属抄袭,如有雷同,爱咋咋地 ,但是值得你学习>>
 
一、     ASM(自动存储管理)的来由:
ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来的一项新功能,这是Oracle自己提供的卷管理器,主要用于替代操作系统所提供的LVM,它不仅支持单实例,同时对RAC的支持也是非常好。ASM可以自动管理磁盘组并提供有效的数据冗余功能。使用ASM(自动存储管理)后,数据库管理员不再需要对ORACLE中成千上万的数据文件进行管理和分类,从而简化了DBA的工作量,可以使得工作效率大大提高。
 
二、     什么是ASM
ASM它提供了以平台无关的文件系统、逻辑卷管理以及软RAID服务。ASM可以支持条带化和磁盘镜像,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡I/O以删除“热点”。它还支持直接和异步的I/O并使用Oracle9i中引入的Oracle数据管理器API(简化的I/O系统调用接口)。
ASM是做为单独的Oracle实例实施和部署,并且它只需要有参数文件,不需要其它的任何物理文件,就可以启动ASM实例,只有它在运行的时候,才能被其它数据访问。在Linux平台上,只有运行了OCSSD服务(Oracle安装程序默认安装)了才能和访问ASM。
 
三、     使用ASM的好处:
1、 将I/O平均分部到所有可用磁盘驱动器上以防止产生热点,并且最大化性能。
2、 配置更简单,并且最大化推动数据库合并的存储资源利用。
3、 内在的支持大文件
4、 在增量增加或删除存储容量后执行自动联系重分配
5、 维护数据的冗余副本以提高可用性。
6、 支持10g,11g的数据存储及RAC的共享存储管理
7、 支持第三方的多路径软件
8、 使用OMF方式来管理文件
 
四、     ASM冗余:
ASM使用独特的镜像算法:不镜像磁盘,而是镜像盘区。作为结果,为了在产生故障时提供连续的保护,只需要磁盘组中的空间容量,而不需要预备一个热备(hot spare)磁盘。不建议用户创建不同尺寸的故障组,因为这将会导致在分配辅助盘区时产生问题。ASM将文件的主盘区分配给磁盘组中的一个磁盘时,它会将该盘区的镜像副本分配给磁盘组中的另一个磁盘。给定磁盘上的主盘区将在磁盘组中的某个伙伴磁盘上具有各自的镜像盘区。ASM确保主盘区和其镜像副本不会驻留在相同的故障组中。磁盘组的冗余可以有如下的形式:双向镜像文件(至少需要两个故障组)的普通冗余(默认冗余)和使用三向镜像(至少需要3个故障组)提供较高保护程度的高冗余。 一旦创建磁盘组,就不可以改变它的冗余级别。为了改变磁盘组的冗余,必须创建具有适当冗余的另一个磁盘组,然后必须使用RMAN还原或DBMS_FILE_TRANSFER将数据文件移动到这个新创建的磁盘组。
 
三种不同的冗余方式如下:
1、 外部冗余(external redundancy):表示Oracle不帮你管理镜像,功能由外部存储系统实现,比如通过RAID技术;有效磁盘空间是所有磁盘设备空间的大小之和。
2、 默认冗余(normal redundancy):表示Oracle提供2份镜像来保护数据,有效磁盘空间是所有磁盘设备大小之和的1/2 (使用最多)
3、 高度冗余(high redundancy):表示Oracle提供3份镜像来保护数据,以提高性能和数据的安全,最少需要三块磁盘(三个failure group);有效磁盘空间是所有磁盘设备大小之和的1/3,虽然冗余级别高了,但是硬件的代价也最高。
 
五、     ASM进程
ASM实例除了传统的DBWR,LGWR,CKPT,SMON,PMON等进程还包含如下四个新后台进程:
RBAL:负责协调磁盘组的重新平衡活动(负责磁盘组均衡)
 
ARB0-ARBn:在同一时刻可以存在许多此类进程,它们分别名为ARB0、ARB1,以此类推,执行实际的重新平衡分配单元移动进程。
 
GMON:用于ASM磁盘组监控
 
O0nn 01-10:这组进程建立到ASM实例的连接,某些长时间操作比如创建数据文件,RDBMS会通过这些进程向ASM发送信息
 
ASMB与ASM 实例的前台进程连接,周期性的检查两个instance的健康状况。每个数据库实例同时只能与一个ASM实例连接,因此数据库只会有一个ASMB后台进程。如一个节点上有多个数据库实例,它们只能共享一个ASM实例。
 
RBAL用来进行全局调用,以打开某个磁盘组内的磁盘。ASMB进程与该节点的CSS守护进程进行通信,并接收来自ASM实例的文件区间映射信息。ASMB还负责为ASM实例提供I/O统计数据
 
CSS集群同步服务。要使用ASM,必须确保已经运行了CSS集群同步服务,CSS负责ASM实例和数据库实例之间的同步。 
注意:ASM实例必须要先于数据库实例启动,和数据库实例同步运行,迟于数据库实例关闭。ASM 实例和数据库实例的关系可以是1:1,也可以是1:n。如果是1:n,最好为ASM 安装单独的ASM_HOME。
 
六、   ASM支持datafile,logfiles,control files,archivelogs,RMAN backup sets等自动的数据库文件管理
 
 
七、     ASM实例和数据库实例对应关系
 
 
八、     Cluster ASM 架构
 
 
 
如需了解更详细信息请参见Oracle数据库管理员指南(Oracle首次放出):
http://docs.oracle.com/cd/B28359_01/server.111/b31107/toc.htm
阅读(54779) | 评论(2323) | 转发(2334) | 
 
 
 

BayaiM__ORACLE之ASM概念 --V 1.0.0的更多相关文章

  1. Downgrade ASM DATABASE_COMPATIBILITY (from 11.2.0.4.0 to 11.2.0.0.0) on 12C CRS stack.

    使用Onecommand完成快速Oracle 12c RAC部署后 发现ASM database compatibilty无法设置,默认为11.2.0.4.0. 由于我们还有些数据库低于这个版本,所以 ...

  2. javascirpt历史澄清误解基本概念特点编程语言web2.0网页javascript - javascirpt知识大全

    目录1历史 2澄清误解 3基本概念 4特点 5与Java的不同 6开发工具 历史 大概在1992年,一家称作Nombas的公司开始开发一种叫做C减减(C-minus-minus,简称Cmm)的嵌入式脚 ...

  3. 仅仅需手动添加一行代码就可以让Laravel4执行在SAE (v. 1.0.0)

    Github:https://github.com/chariothy/laravel4-sae (已更新至v1.1.0) laravel4-sae (v. 1.0.0) 仅仅需手动添加一行代码就可以 ...

  4. w​i​n​d​o​w​s​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​r​2​ ​启​用​索​引(转)

    08r2的“windows search”服务默认是不安装的,要想启用索引执行下列步骤:        1.打开“服务器管理”——选中“角色”——右边选中“添加角色”——勾选“文件服务”.    2. ...

  5. S​Q​L​_​S​e​r​v​e​r​_​2​0​0​8​定​期​自​动​备​份​详​细​图​解

    S​Q​L​_​S​e​r​v​e​r​_​2​0​0​8​定​期​自​动​备​份​详​细​图​解 设置自动数据库的定期备份计划. http://wenku.baidu.com/link?url=Tu ...

  6. LightningChart JS v.3.3.0全新版本现已发布!

    LightningChart JS v.3.3.0已经发布啦!!! 欢迎了解更多关于最新的性能改进.新的用户界面功能和新的图表类型的信息! WebGL兼容性和新的UI功能 WebGL是Lightnin ...

  7. BUTTONS V. 2.0.0——CSS按钮库

    BUTTONS-V2-CSS库样式职责 CSS库样式职责分离优点 模块样式命名更清晰化 易于维护.扩展性强 动画效果——修改样式后有过度效果,默认样式 源码如下 <!DOCTYPE html&g ...

  8. Redis 3.0.0 正式版出炉,高性能 K/V 服务

    Redis 3.0.0 正式版最终到来了,与 RC6 版本号比較.该版本号改进包含: * 修复了无磁盘的复制问题 (Oran Agra) * 在角色变化后对 BLPOP 复制进行測试 (Salvato ...

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

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

随机推荐

  1. thinkphp 5.x No input file specified 解决

    原规则: <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond ...

  2. GIT命令行统计代码提交行数

    项目中遇到写报告的时候要反馈某个人或者某个功能的代码量,又没有集成CI这些插件,可以简单的用GIT命令统计下代码提交量: --统计某个人的提交代码 git log --author="old ...

  3. iOS中计算字符串NSString的高度

    根据固定宽度计算字符串高度: NSString *info = @"但是公司的高度是广东省公司的广东省高速度来开个大帅哥多撒谎个爱好就跟他说噶三公司噶是的刚好是我哥如果黑暗如果坏都干撒降低公 ...

  4. nginx——keepalived

    nginx--keepalived 1.keepalived高可用基本概述 什么是高可用 一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快速的接管,对于访问的用 ...

  5. MySQL-python终于安装成功了

    所有的所有全是驱动搞的鬼, 针对我的Win7 64位 Python2.7 用的wamp环境继承的mysql(或者卸载wamp环境单独安装Mysql)这里一定要用这个MySQL-python-1.2.3 ...

  6. vue/cli2.0优化

    vue/cli2.0 脚手架 在项目写完了之后, 运行npm run build --report可以看出这个项目的资源占比情况.可以看出整个项目哪一个资源在整个项目占比最大.它会自动打开一个可视化的 ...

  7. 基于Docker的Consul服务发现集群搭建

    在去年的.NET Core微服务系列文章中,初步学习了一下Consul服务发现,总结了两篇文章.本次基于Docker部署的方式,以一个Demo示例来搭建一个Consul的示例集群,最后给出一个HA的架 ...

  8. IT兄弟连 Java语法教程 数组 数组的初始化

    Java语言中数组必须先初始化,然后才可以使用.所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值. 这时有人会问,能不能只分配内存空间,不赋初始值呢?答案是肯定不行的,一旦为数组 ...

  9. 使用os模块动态获取目录或文件路径

    在接口自动化测试框架中,我们的代码除了能在本地运行,也能在不在修改代码的前提下在其他的环境下能够运行,这样才能达到高复用性和低维护成本,我们在接口测试的模块调用中,会定义很多相关路径,而这些路径必须使 ...

  10. JMS入门Demo

    2.1点对点模式(邮箱) 点对点的模式主要建立在一个队列上面,当连接一个列队的时候,发送端不需要知道接收端是否正在接收,可以直接向ActiveMQ发送消息,发送的消息,将会先进入队列中,如果有接收端在 ...