0

0

什么是oracle asm

青灯夜游

青灯夜游

发布时间:2022-04-18 16:16:29

|

8257人浏览过

|

来源于php中文网

原创

oracle asm指的是“自动存储管理”,是一种卷管理器,可自动管理磁盘组并提供有效的数据冗余功能;它是做为单独的Oracle实例实施和部署。asm的优势:1、配置简单、可最大化推动数据库合并的存储资源利用;2、支持BIGFILE文件等。

什么是oracle asm

本教程操作环境:Windows7系统、Oracle 10g版、Dell G3电脑。

一、ASM是什么

ASM(Automatic Storage Management,自动存储管理)是Oracle10g R2中为了简化Oracle数据库的管理而推出来的一项新功能,这是Oracle自己提供的卷管理器,主要用于替代操作系统所提供的LVM,它不仅支持单实例,同时对RAC的支持也是非常好。

ASM可以自动管理磁盘组并提供有效的数据冗余功能。使用ASM(自动存储管理)后,数据库管理员不再需要对 ORACLE中成千上万的数据文件进行管理和分类,从而简化了DBA的工作量,可以使得工作效率大大提高。

使用 ASM,可以将存储作为少量被称作 ASM 磁盘组的存储池进行管理。数据库相关文件分配给 ASM 磁盘组,ASM 管理布局和数据组织,确保实现卓越性能并防止出现存储硬件故障。使用 ASM 磁盘组可以轻松、便捷地整合存储,并简化以前需要 DBA 和系统管理员执行的管理任务。ASM 为 ASM Cluster File System (ACFS) 提供底层存储管理,后者可以集中存储数据库外的数据。

ASM提供了与平台无关的文件系统、逻辑卷管理以及软RAID服务。ASM可以支持条带化和磁盘镜像,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡I/O以删除“热点”。它还支持直接和异步的I/O并使用Oracle9i中引入的Oracle数据管理器 API(简化的I/O系统调用接口)。

ASM是做为单独的Oracle实例实施和部署,并且它只需要有参数文件,不需要其它的任何物理文件,就可以启动ASM实例,只有它在运行的时候,才能被其它数据访问。在Linux平台上,只有运行了OCSSD服务(Oracle安装程序默认安装)了才能和访问ASM。

二、使用ASM的好处

优点:

(1)将I/O平均分部到所有可用磁盘驱动器上以防止产生热点,并且最大化性能。在ASM中是DiskGroup概念与LVM卷组管理中VG的概念类似,也是将多块物理磁盘总成一个磁盘组,一个磁盘组中的数据是均匀分布在各个物理磁盘上的。手工添加和删除物理磁盘时,数据会自动均衡(ReBalance);

(2) 配置更简单,并且最大化推动数据库合并的存储资源利用;数据文件都存储在DiskGroup中(简称DG),管理相对简单。

(3) 内在支持大文件,支持BIGFILE文件。

(4) 在增量增加或删除存储容量后执行自动联系重分配,即自动ReBalance;

(5) 维护数据的冗余副本以提高可用性;

(6) 支持10g、11g的数据存储及RAC的共享存储管理,相对来说11g的ASM更稳定,10g中有些BUG。

(7) 支持第三方的多路径软件;如powerpath(aix)、mutlipath(linux)

(8) 使用OMF(Oracle Managed Files)方式来管理文件。

缺点:

(1)   数据库中新增一个ASM实例,维护上需要对ASM进行管理,增加了维护成本;

(2)   ASM相对来说是个黑匣子,如果出问题,恢复起来也是个难点。

三、ASM冗余方式

  ASM使用独特的镜像算法:不镜像磁盘,而是镜像盘区。作为结果,为了在产生故障时提供连续的保护,只需要磁盘组中的空间容量,而不需要预备一个热备(hot spare)磁盘。不建议用户创建不同尺寸的故障组,因为这将会导致在分配辅助盘区时产生问题。ASM将文件的主盘区分配给磁盘组中的一个磁盘时,它会将该盘区的镜像副本分配给磁盘组中的另一个磁盘。给定磁盘上的主盘区将在磁盘组中的某个伙伴磁盘上具有各自的镜像盘区。ASM确保主盘区和其镜像副本不会驻留在相同的故障组中。磁盘组的冗余可以有如下的形式:双向镜像文件(至少需要两个故障组)的普通冗余(默认冗余)和使用三向镜像(至少需要3个故障组)提供较高保护程度的高冗余。一旦创建磁盘组,就不可以改变它的冗余级别。为了改变磁盘组的冗余,必须创建具有适当冗余的另一个磁盘组,然后必须使用RMAN还原或DBMS_FILE_TRANSFER将数据文件移动到这个新创建的磁盘组。

三种不同的冗余方式如下:

  (1)外部冗余(external redundancy)--常用

  表示Oracle不帮你管理镜像,功能由外部存储系统实现,比如通过RAID技术;有效磁盘空间是所有磁盘设备空间的大小之和。

  (2)默认冗余(normal redundancy)

DreamStudio
DreamStudio

SD兄弟产品!AI 图像生成器

下载

  表示Oracle提供2份镜像来保护数据,有效磁盘空间是所有磁盘设备大小之和的1/2 (使用最多)

  (3)高度冗余(high redundancy)

  表示Oracle提供3份镜像来保护数据,以提高性能和数据的安全,最少需要三块磁盘(三个failure group);有效磁盘空间是所有磁盘设备大小之和的1/3,虽然冗余级别高了,但是硬件的代价也最高。

四、ASM进程

ASM实例除了传统的DBWR,LGWR,CKPT,SMON,PMON等进程还包含如下四个新后台进程:

  (1) RBAL:负责协调磁盘组的重新平衡活动(负责磁盘组均衡)

  (2) ARB0-ARBn:在同一时刻可以存在许多此类进程,它们分别名为ARB0、ARB1,以此类推,执行实际的重新平衡分配单元移动进程。

  (3) GMON:用于ASM磁盘组监控

  (4) 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支持文件类型

  ASM支持datafile,logfiles,control files,archivelogs,RMAN backup sets等自动的数据库文件管理。

  一般来说,一个采用ASM单实例数据库由两个DG组成。一个是datadg,另外一个是fradg。Datadg主要是存放数据文件,而fradg(flash recovery area)存放archivelog文件,control文件和备份文件等。

六、ASM实例和数据库实例对应关系

 1.png

七、Cluster ASM 架构

 2.png

八、相关视图

视图名

X$基表名

描述

V$ASM_DISKGROUP

X$KFGRP

实施磁盘发现disk discovery和列出磁盘组

V$ASM_DISKGROUP_STAT

X$KFGRP_STAT

显示disk group状态

V$ASM_DISK

X$KFDSK, X$KFKID

实施磁盘发现disk discovery和列出磁盘以及这些磁盘的使用度量信息

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重平衡操作

 

X$KFKLIB

可用的ASMLIB路径

 

X$KFDPARTNER

列出Disk-partners关系

 

X$KFFXP

所有ASM文件的extent map

 

X$KFDAT

所有ASM Disk的extent列表

 

X$KFBH

描述ASM cache

 

X$KFCCE

ASM block的链表

V$ASM_ATTRIBUTE(new in 11g)

X$KFENV(new in 11g)

Asm属性,该X$基表还显示一些隐藏属性

V$ASM_DISK_IOSTAT(new in 11g)

X$KFNSDSKIOST(new in 11g)

I/O统计信息

 

X$KFDFS(new in 11g)

 

 

X$KFDDD(new in 11g)

 

 

X$KFGBRB(new in 11g)

 

 

X$KFMDGRP(new in 11g)

 

 

X$KFCLLE(new in 11g)

 

 

X$KFVOL(new in 11g)

 

 

X$KFVOLSTAT(new in 11g)

 

 

X$KFVOFS(new in 11g)

 

 

X$KFVOFSV(new in 11g)

 

推荐教程:《Oracle教程

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1969

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

658

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2406

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

47

2026.01.19

golang map内存释放
golang map内存释放

本专题整合了golang map内存相关教程,阅读专题下面的文章了解更多相关内容。

77

2025.09.05

golang map相关教程
golang map相关教程

本专题整合了golang map相关教程,阅读专题下面的文章了解更多详细内容。

40

2025.11.16

golang map原理
golang map原理

本专题整合了golang map相关内容,阅读专题下面的文章了解更多详细内容。

67

2025.11.17

java判断map相关教程
java判断map相关教程

本专题整合了java判断map相关教程,阅读专题下面的文章了解更多详细内容。

47

2025.11.27

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

49

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 4.3万人学习

Java 教程
Java 教程

共578课时 | 82.1万人学习

oracle知识库
oracle知识库

共0课时 | 0.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号