网站首页 > 技术文章 正文
概述
Oracle Automatic Storage Management Cluster File System (Oracle ACFS) and Oracle ASM Dynamic Volume Manager (Oracle ADVM) extend Oracle ASM functionality.
ADVM主要是为了使除了数据库之外的第三方应用程序也可以使用asm存储,这样不限于使asm局限于自家的数据库领域。ACFS不能用于linux根分区,不能用于grid的安装目录,不支持数据库文件(即asm存储的文件),使用acfs要依赖于advm卷。下面主要从ASM实例、ASM磁盘组、镜像和故障组、ASM磁盘、AU和Extents来介绍oracle ACFS文件系统。
小编辛辛苦苦整理总结出来的,看完帮忙点个赞哦!
Oracle ASM Instances
1、概念
Oracle ASM metadata is the information that Oracle ASM uses to control a disk group and the metadata resides within the disk group.
Oracle ASM实例具有与Oracle数据库类似的系统全局区域(SGA)和后台进程。Oracle ASM实例装载磁盘组以使Oracle ASM文件可用于数据库实例;Oracle ASM实例不装载数据库。
Oracle ASM实例可以使用Oracle群集软件进行群集;每个群集节点都有一个Oracle ASM实例。如果同一节点上有多个不同数据库的数据库实例,则数据库实例在该节点上共享同一个Oracle ASM实例。
如果标准Oracle ASM集群中某个节点上的Oracle ASM实例失败,则该节点上的所有数据库实例也会失败。但是,在Oracle Flex ASM配置中,Oracle 12c数据库实例不会失败,因为它们可以远程访问另一个节点上的另一个Oracle ASM实例。
2、一个Oracle ASM实例和多个数据库实例的单节点配置
Oracle ASM实例管理元数据并为Oracle ASM文件提供空间分配。当数据库实例创建或打开Oracle ASM文件时,它将这些请求传递给Oracle ASM实例。作为响应,Oracle ASM实例向数据库实例提供文件范围映射信息。
3、Oracle RAC环境中的Oracle ASM群集
这里的Oracle ASM提供群集存储池。集群中的每个节点都有一个Oracle ASM实例,为多个Oracle RAC或单个实例数据库提供服务。所有数据库都是合并的,并且共享同两个Oracle ASM磁盘组。
4、多个单实例Oracle数据库共享集群存储池
如果要在多个节点之间共享磁盘组,必须在所有节点上安装Oracle Clusterware,而不管是否在节点上安装Oracle RAC。单独节点上的Oracle ASM实例不需要是Oracle ASM集群的一部分。但是,如果Oracle ASM实例不是Oracle ASM集群的一部分,则它们无法相互通信。不属于Oracle ASM群集的多个节点不能共享磁盘组。
Oracle ASM Disk Groups
A disk group consists of multiple disks and is the fundamental object that Oracle ASM manages.
Each disk group contains the metadata that is required for the management of space in the disk group. Disk group components include disks, files, and allocation units.
ASM磁盘组文件是从磁盘组分配的。任何Oracle ASM文件都完全包含在单个磁盘组中。但是,磁盘组可能包含属于多个数据库的文件。
一般是用asmca和命令行来配置asm磁盘组,之前有介绍过,篇幅有限,这里过滤下~
Mirroring and Failure Groups
Mirroring protects data integrity by storing copies of data on multiple disks.
镜像通过在多个磁盘上存储数据副本来保护数据完整性。
The redundancy level controls how many disk failures are tolerated without dismounting the disk group or losing data. The disk group type determines the mirroring levels with which Oracle creates files in a disk group.
主要有以下三个冗余级别:
- Normal for 2-way mirroring
- High for 3-way mirroring
- External to not use Oracle ASM mirroring, such as when you configure hardware RAID for redundancy
1、 外部冗余(external redundancy):
表示Oracle不帮你管理镜像,功能由外部存储系统实现,比如通过RAID技术;有效磁盘空间是所有磁盘设备空间的大小之和。
2、 默认冗余(normal redundancy):
表示Oracle提供2份镜像来保护数据(镜像数据一次),有效磁盘空间是所有磁盘设备大小之和的1/2 (使用最多)。
3、 高度冗余(high redundancy):
表示Oracle提供3份镜像来保护数据(镜像数据两次),以提高性能和数据的安全,最少需要三块磁盘(三个failure group);
有效磁盘空间是所有磁盘设备大小之和的1/3,虽然冗余级别高了,但是硬件的代价也最高。
Oracle ASM Disks
Oracle ASM disks are the storage devices that are provisioned to Oracle ASM disk groups. ASM磁盘组成ASM磁盘组。
Oracle ASM磁盘包括:
1)存储阵列中的磁盘或分区
2)整个磁盘或磁盘分区
3)逻辑卷
4)网络附加文件(NFS)
Oracle ASM将文件按比例分布在磁盘组中的所有磁盘上。这种分配模式将每个磁盘保持在相同的容量级别,并确保磁盘组中的所有磁盘具有相同的I/O负载。由于Oracle ASM在磁盘组中的所有磁盘之间进行负载平衡,不同的Oracle ASM磁盘不应共享同一个物理驱动器。
Oracle ASM Allocation Units和ASM Extents
1、oracle ASM AU
An allocation unit is the fundamental unit of allocation within a disk group. A file extent consists of one or more allocation units. An Oracle ASM file consists of one or more file extents.
每个Oracle ASM磁盘都被划分为分配单元(AU)。
创建磁盘组时,可以使用au_size磁盘组属性设置Oracle ASM分配单元大小。AU一般可以是1、2、4、8、16、32或64 MB,具体取决于特定的磁盘组兼容性级别。如果不指定AU的大小,默认值是1MB(Exadata下为4MB)。较大的AU大小通常为使用大型顺序读取的数据仓库应用程序提供性能优势。
2、Oracle ASM Extents
一个或多个AU组成一个extent,一个或多个ASM extent组成了一个ASM的文件,因此一个ASM文件逻辑上是由extent组成的。
我们需要区分物理extent和虚拟extent,一个虚拟extent或者说extent set,在外部冗余的磁盘组中,是由一个物理extent组成,在normal冗余的磁盘组中,是由至少2个物理extent组成,在一个high冗余的磁盘组中,由至少3个物理extent组成。
在ASM 11.1版本之前,extent的大小是固定的,在ASM 11.1版本之后,出现了可变extent,可变extent的出现是为了更好的支持大数据文件,减少对ASM和数据库实例的SGA要求、提升创建文件和打开文件等操作的性能,初始化的extent大小等于磁盘组的AU_SIZE设定值,随着一个文件分配的extent越来越多,extent的size会按照4或16倍的AU_SIZE增大。这个特性在文件新建或者resize的时候自动起作用,当然ASM磁盘组的属性值COMPATIBLE.ASM 和COMPATIBLE.RDBMS要设置为大于等于11.1。
3、Oracle ASM Extent与AU的关系
这里前八个扩展数据块(0到7)分布在四个Oracle ASM磁盘上,大小等于AU。在第一个20000个范围集之后,接下来的20000个范围集(20000-39999)的范围大小将变为4*au。这显示为用范围集编号20000到20007标记的粗体矩形,依此类推。Oracle ASM扩展盘区的下一个增量是16*au。
一个文件的extent大小变化规律遵循如下方式:
一个文件的前20000个extent set,extent的size等于磁盘组的AU_SIZE的设定值。
接下来的20000个extent set,extent的size等于磁盘组的AU_SIZE*4。
如果一个文件的总extent set数多于40000个,那么后面所有的extent的size等于磁盘组的AU_SIZE*16。
总结:
ACFS=ASM Cluster File System,其建立于来自ASM的 Volume上,除了与普通文件系统类似,还可以在多个节点间共享。主要有ASM,ADVM,ACFS三个组件,ADVM(ASM Dynamic Volume Manager,可翻译为,ASM动态卷管理器)主要负责将ASM空间输出到OS的,也就是用来实现Volume的。大家可以跟lvm对照着理解:
asm disk -> lvm pv asm dg -> lvm vg asm advm acfs -> lv+fs
后面会分享更多关于DBA方面的内容,感兴趣的朋友可以关注下!!
猜你喜欢
- 2024-10-20 oracle11g awr报告分析—WORKLOAD REPOSITORY report
- 2024-10-20 oracle影响数据库打开速度的因素-前滚和回滚
- 2024-10-20 Oracle数据库集群建设 oracle19c集群搭建
- 2024-10-20 周六福利--分享Oracle学习笔记:日常应用、深入管理、性能优化
- 2024-10-20 Oracle体系结构之数据库启停(二)--实例操作
- 2024-10-20 【Oracle】数据库执行慢问题排查 oracle数据库卡顿排查
- 2024-10-20 Oracle内核技术揭秘第一篇 linux oracle内核参数
- 2024-10-20 4种方法教你获取Oracle数据库当前会话/进程的session id
- 2024-10-20 ORACLE体系 - 1 oracle体系架构图 高清
- 2024-10-20 详解Oracle数据库如何获取当前会话/进程的session id
你 发表评论:
欢迎- 07-10Oracle 与 Google Cloud 携手大幅扩展多云服务
- 07-10分享收藏的 oracle 11.2.0.4各平台的下载地址
- 07-10Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- 07-10Oracle Database@Azure 推进到南美等新区域并增加了新服务
- 07-10Oracle宣布推出 Oracle Database@AWS 的有限预览版
- 07-10Oracle与Nextcloud合作,推出主权云上的安全协作平台
- 07-10NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 07-10对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 602℃几个Oracle空值处理函数 oracle处理null值的函数
- 594℃Oracle分析函数之Lag和Lead()使用
- 582℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 579℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 574℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 567℃【数据统计分析】详解Oracle分组函数之CUBE
- 554℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 548℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- Oracle 与 Google Cloud 携手大幅扩展多云服务
- 分享收藏的 oracle 11.2.0.4各平台的下载地址
- Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- Oracle Database@Azure 推进到南美等新区域并增加了新服务
- Oracle宣布推出 Oracle Database@AWS 的有限预览版
- Oracle与Nextcloud合作,推出主权云上的安全协作平台
- NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 解读丨《归档文件整理规则》— 电子文件元数据存储
- Data Guard跳归档恢复的实践(dataguard failover)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)