暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ASM磁盘组的管理

原创 michaelliu 2023-11-09
488

1 ASM存储技术
ASM是Oracle的逻辑卷管理器,利用ASM,把多个磁盘组织为一个磁盘组,数据均匀分布在这些磁盘上

在ASM磁盘组中可以存储OCR、Voting文件以及数据库中的数据文件、控制文件和重做日志文件

借助于OMF,在磁盘组中存储文件时,文件名称和大小都可省略,全部自动指定

在ASM磁盘组中可以创建卷和ACFS文件系统,

ASM实例负责磁盘组进行挂接,读写,重新平衡等操作

为了使用ASM,在每个节点上需要创建并运行一个ASM实例,在共享存储设备上需要创建至少一个ASM磁盘组,通过ASM实例访问这些磁盘组

在安装Grid infrastructure软件时如果选择使用ASM,那么ASM实例和磁盘组将自动创建

ASM实例和磁盘组可以通过SQL*Plus、ASMCA、ASMCMD以及EM等各种工具进行管理

以下命令用于对ASM实例进行管理:

$ srvctl status asm

$ srvctl stop asm

$ srvctl start asm

以下命令用于对ASM磁盘组进行管理:

srvctl status diskgroup -g data

srvctl stop diskgroup -g data

srvctl start diskgroup -g data

$ export ORACLE_SID=+ASM1

$ sqlplus / as sysasm

SQL> CREATE DISKGROUP dg1 external REDUNDANCY

DISK

'/dev/raw/raw1',

'/dev/raw/raw2'

SQL>SELECT name,state,type,total_mb,free_mb

FROM v$asm_diskgroup;

SQL>SELECT group_number,path,state,total_mb,

free_mb

FROM v$asm_disk;

磁盘组通过mirror方式保证数据的安全

普通冗余:每个磁盘组有两个FAILGROUP

高冗余:每个磁盘组有三个FAILGROUP

外部冗余:通过存储设备的冗余来保证数据安全

SQL> CREATE DISKGROUP dg1 NORMAL REDUNDANCY

FAILGROUP fg1 DISK

‘/dev/raw/raw1, '/dev/raw/raw3'

FAILGROUP fg2 DISK

‘/dev/raw/raw2’, '/dev/raw/raw4'

在创建磁盘组的节点上,磁盘组被自动挂接。在其他节点上的挂接:

SQL>ALTER DISKGROUP dg1 MOUNT;

磁盘组的卸载:

ALTER DISKGROUP dg1 DISMOUNT;

向磁盘组中添加磁盘:

SQL>ALTER DISKGROUP dg1

ADD DISK

'/dev/raw/raw3' NAME disk3,

'/dev/raw/raw4' NAME disk4;

从磁盘组中删除磁盘:

SQL>ALTER DISKGROUP dg1 DROP DISK disk3;

SQL>alter diskgroup dg1 drop disk3 in failgroup fg2;

SQL>ALTER DISKGROUP DG1 UNDROP DISKS;

当磁盘组中的磁盘发生变化时,磁盘组将自动进行重新平衡

平衡级别为0-11,当手工进行重新平衡时,可以指定平衡级别

可用的最高级别通过初始化参数ASM_POWER_LIMIT指定

SQL>ALTER DISKGROUP dg1 REBALANCE POWER 3;

SQL>ALTER DISKGROUP dg1 REBALANCE POWER 3 WAIT;

2 磁盘组的删除
在其中一个选定的节点上保持磁盘组处于mounted状态,在其他节点上将磁盘组卸载,在选定的节点上执行:

SQL> DROP DISKGROUP dg1;

SQL> DROP DISKGROUP dg1 INCLUDING CONTENTS;

oracleasm deletedisk scdata01

oracleasm deletedisk scdata02

dd if=/dev/null of=/dev/sdb1 bs=1m count=1 ---清理磁盘头信息方法。

3 磁盘组的查询
select name,state,type,total_mb,free_mb from v$asm_diskgroup;

select group_num,path,total_mb,free_mb from v$asm_disk;

select group_number,instance_name,db_name,status from v$asm_client;

4 磁盘组重平衡
1 磁盘的平衡能力在0-11,共12个级别,其中0表示停止进行平衡,11表示以最快的方式进行平衡。

2 在语句中指定平衡参数超过asm_power_limit时,指定值无效 。

3 ASM磁盘组重新过程主要通过rbal进程实现。

4 如果希望平衡操作完成后上述命令才返回,可以加上wait指令。

执行平衡语句:

alter diskgroup dg1 rebalance power 0;

alter diskgroup dg1 rebalance power 3;

alter diskgroup dg1 rebalance power 3 wait;


客户端访问查询
可以通过动态性能视图v$asm_client可以访问数据库实例和ASM实例的访问情况。

4 磁盘组中目录的管理
目录的创建:

SQL>ALTER DISKGROUP dg1 ADD DIRECTORY '+dg1/dir1';

目录的重新命名:

SQL>ALTER DISKGROUP dg1 RENAME DIRECTORY ‘+dg1/dir1’ TO ‘+dg1/dir2‘

n目录的删除:

SQL>ALTER DISKGROUP dg1 DROP DIRECTORY '+dg1/dir1' FORCE;

n删除磁盘组中不再需要的文件,例如:

SQL> ALTER DISKGROUP dg1 DROP FILE '+dg1/myfiles/my_undo_ts';

原文链接:https://blog.csdn.net/oradbm/article/details/96994634

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论