oracle asm原理

Oracle ASM( Automatic Storage Management )是Oracle官方提供的一种存储管理解决方案,可用于管理Oracle数据库中的数据文件、日志文件、控制文件、备份等数据。

Oracle ASM采用类似磁盘阵列的方式,把多个磁盘组成一个逻辑设备,然后把逻辑设备分成若干个ASM盘组(ASM Disk Group)和ASM磁盘(ASM Disk)。

例如:有三个磁盘/dev/sdb、/dev/sdc、/dev/sdd。首先在这三个磁盘上创建ASM磁盘分区/dev/sdb1、/dev/sdc1、/dev/sdd1。然后使用这三个ASM磁盘分区创建一个ASM盘组,可命名为DATA。

CREATE DISKGROUP DATA NORMAL REDUNDANCY
FAILGROUP f1 DISK '/dev/sdb1', '/dev/sdc1'
	FAILGROUP f2 DISK '/dev/sdd1';

创建完成后,我们可以向这个ASM盘组创建数据库中需要使用的对象,例如表、索引等。我们可以直接在SQL中创建数据库表,而不需要在操作系统中预先为数据库指定数据文件。因为ASM会自动把表分散在不同的互不相关的ASM磁盘上,可以帮助我们更平衡地利用存储设备。

CREATE TABLESPACE TBS1 DATAFILE 
'+DATA' SIZE 50M REUSE AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

ASM盘组概念类似于磁盘阵列中的RAID0和RAID1,不同的是ASM盘组可以自动完成的数据均衡,无需进行软、硬件设置。ASM盘组通常由至少一个ASI磁盘和至少一份数据创建而成,ASM盘组操作是一种逻辑抽象,与底层磁盘、存储设备等硬件相独立。该功能与RAID级别等硬件存储产品不同,RAID级别需要共享存储设备提供该特性。

在ASM盘组中的ASM DISK都能被多个ASM实例同时访问,Oracle ASM可以通过镜像和数据条带进行数据备份与恢复,从而可以更安心地组建数据库高可用方案。

如果一台ASM实例的某个ASM磁盘在使用过程中出现故障,Oracle ASM将会自动检测到该情况并将数据迁移到其他磁盘上。管理员可通过ASM磁盘在线替换、ASM盘组增加或删除ASM磁盘等操作来管理ASM盘组。

总体来说,Oracle ASM利用类似磁盘阵列的方式对多个磁盘进行数据管理,可以有效提升Oracle数据库中数据文件等数据的存储性能和数据的安全可靠性。

本文链接:https://my.lmcjl.com/post/13753.html

展开阅读全文

4 评论

留下您的评论.