ASM自动存储管理

本文详细介绍了Oracle的自动存储管理(ASM)的配置和使用,包括ASM的安装、ASMlib驱动配置、Oracle Grid Infrastructure集群安装、ASM磁盘组的创建与管理,以及ASMCMD工具的使用命令,强调了ASM在数据库文件管理中的重要角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



1.  ASM
简介

ASM 不是一个通用的文件系统,并只能用于 Oracle数据文件、重做日志以及控制文件,是一种用于管理磁盘的工具

由于操作系统无法访问 ASM 中存储的文件,因此对使用 ASM 文件的数据库执行备份和恢复操作的唯一途径就是通过恢复管理器 (RMAN)。

ASM从OracleDatabase 11g R2开始,ASM与Oracle GridInfrastrueture集成在一起。

系统和存储管理员大多喜欢使用ASMCMD使用工具来管理ASM。

ASM可以自动管理磁盘组并提供有效的数据冗余功能。

 

2. 安装配置 ASM磁盘

 

ASMlib是一个存储管理界面

下载并配置asmlib所需要的软件包

一共需要3个包可供使用,两个基本的rpm包是:  oracleasmlib包,它提供实际ASM库

还有oracleasm-support包,它提供用于配置和启动ASM驱动程序的实用工具。第三个包最关键的包kmod-oracleasm,它为ASM库提供核心驱动程序。

 

http://www.oracle.com/technetwork/server-storage/linux/asmlib/rhel6-1940776.html

以上地址只可以下载到oracleasmlib、 oracleasm-support两个包,还有一个最关键的包kmod-oracleasm需要以下方式下载:

下载kmod-oracleasm软件包

下载oracle提供的yum配置文件,从Oracle服务器上安装kmod-oracleasm文件:

 

[root@racnode1yum.repos.d]# wget http://public-yum.oracle.com/public-yum-ol6.repo

 

wgethttp://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

 

yuminstall kmod-oracleasm -y

 

[root@rac1 src]# rpm -ivhoracleasmlib-2.0.4-1.el6.x86_64.rpm

Preparing...               ########################################### [100%]

   1:oracleasmlib          ########################################### [100%]

[root@rac1 src]# rpm -ivhoracleasm-support-2.1.8-1.el6.x86_64.rpm

Preparing...               ########################################### [100%]

   1:oracleasm-support      ###########################################[100%]

注意:全部安装完成后需要重启机器才不会报错

 

3. 配置ASM驱动(ASMlib)

[root@racnode1~]#oracleasm configure -i

Configuringthe Oracle ASM library driver.

Thiswill configure the on-boot properties of the Oracle ASM library

driver.  The following questions will determinewhether the driver is

loadedon boot and what permissions it will have. The current values

willbe shown in brackets ('[]').  Hitting<ENTER> without typing an

answerwill keep that current value.  Ctrl-Cwill abort.

 

Defaultuser to own the driver interface []: grid

Default group to own the driverinterface []: asmadmin

StartOracle ASM library driver on boot (y/n) [n]: y

Scanfor Oracle ASM disks on boot (y/n) [y]: y

WritingOracle ASM library driver configuration: done

初始化

[root@racnode1~]#oracleasm init

Creating/dev/oracleasm mount point: /dev/oracleasm

Loadingmodule "oracleasm": oracleasm

Configuring"oracleasm" to use device physical block size

MountingASMlib driver filesystem: /dev/oracleasm

创建ASM磁盘

[root@racnode1~]# oracleasmcreatedisk asmdisk1 /dev/sdb1

Writingdisk header: done

Instantiatingdisk: done

[root@racnode1~]# oracleasmcreatedisk asmdisk2 /dev/sdc1

Writingdisk header: done

Instantiatingdisk: done

如果有多个就继续创建。完成后执行oracleasmscandisks:

[root@racnode1~]# oracleasm scandisks

Reloadingdisk partitions: done

Cleaningany stale ASM disks...

Scanningsystem for ASM disks...

查看asm 磁盘

[root@racnode1~]#oracleasm listdisks

ASMDISK1

ASMDISK2

 

4. 安装Oracle GridInfrastrueture集群

   这里我们创建ASM disk group,给一个名字“DATA” ,选择Redundancy External。不镜像ASM中的数据,使用外部存储阵列提供冗余。

三种不同的冗余方式如下:(对文件进行镜像)

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

 

默认冗余(normal redundancy):表示Oracle提供2份镜像来保护数据,有效磁盘空间是所有磁盘设备大小之和的1/2 (使用最多)(有一个镜像副本)。

 

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

如果底层存储不受RAID配置的保护,就应当为ASM磁盘组选择正确的冗余!!!

 

给ASM的两个默认用户SYS、ASMSNMP配置为相同的口令,注意的是密码为强度密码!!

数据库管理员(OSDBA,一般为 dba)

单独的 ASM OSDBA 组 (asmdba),其成员包括 grid 和 oracle,拥有对Oracle ASM 的访问权限。

 

 数据库操作员组(OSOPER,一般为 oper)

单独的 ASM OSOPER 组 (asmoper),其成员包括 grid,拥有有限的 Oracle ASM 管理员权限(包括启动和停止 Oracle ASM 实例的权限)。

 

自动存储管理组(一般为 asmadmin)必须要有

 单独的 OSASM 组 (asmadmin),其成员拥有 SYSASM 权限,可以管理 Oracle Clusterware 和 Oracle ASM。

 

5. ASM启动和关闭操作选项

启动和关闭ASM实例

ASM实例的启动和关闭操作与RDBMS数据库实例类似的选项:

 

执行STARTUP操作

FORCE,这个选项强行关闭,执行的是SHUTDOWNABORT操作,然后再启动;

MOUNT,执行启动ASM实例并挂载参数ASM_DISKGROUPS指定的磁盘组操作;

NOMOUNT,执行启动ASM实例操作但是不挂载任何磁盘组;

OPEN,注意,ASM实例没有OPEN这个选项操作,实际上是MOUNT之后OPEN的。

 

执行SHUTDOWN操作

NORMAL,ASM实例等待所有的连接退出后才关闭实例;

IMMEDIATE,不等待会话退出但是等待会话完成后关闭;

TRANSACTIONAL,与IMMEDIATE等同;

ABORT,立即关闭。

 

6. ASMCMD管理工具的使用命令

 

 在Oracle 环境下,使用grid帐号执行

运行asmcmd进入asm命令模式,如:

[grid@oradb-node1~]$ asmcmd

ASMCMD>

 

ASMCMD>du               //显示指定的ASM目录下ASM文件占用的所有磁盘空间

ASMCMD>ls -ls             //列出ASM目录下的内容及其属性、磁盘空间占用

ASMCMD>pwd             //查看当前路径

ASMCMD>cd ../DATA       //切换目录

ASMCMD>lsct              //列出当前ASM客户端的信息

ASMCMD>lsdg             //列出所有磁盘组及其属性

ASMCMD>lsof              //列出数据文件信息

ASMCMD>lsdsk             //列出盘的信息

ASMCMD> rm -f *.dbf        //删除当前所有扩展名为 .dbf 文件

ASMCMD> rm -fr orcldemo   //删除当前 orcldemo 目录

 

磁盘组管理命令

 

chdg       修改磁盘组(增加磁盘,删除磁盘,调整磁盘大小,重新平衡磁盘组,基于XML配置文件的)

chkdg            检查或修复磁盘组

dropdg           删除磁盘组

iostat             显示磁盘IO统计,信息来源于V$ASM_DISK_IOSTAT视图

lsattr             显示磁盘组属性,信息来源于V$ASM_ATTRIBUTE视图

lsdg              显示已挂载的磁盘组和他们的信息,与ls -ls输出结果一样,信息来源于V$ASM_DISKGROUP_STAT视图,如果指定了--discovery,则查询V$ASM_DISKGROUP

lsdsk            显示ASM磁盘,信息来源于V$ASM_DISK_STAT视图;连接模式查询V$ASM_DISK_STAT and V$ASM_DISK返回信息;非连接模式通过扫描磁盘头来返回信息

lsod             显示已打开的设备

md_backup    创建已挂载的磁盘组元数据备份

md_restore      恢复磁盘组元数据备份

mkdg            创建磁盘组,基于XML配置文件创建。注意:mkdg创建的磁盘组只挂载在本地节点

mount           挂载磁盘组

offline       使磁盘或失效磁盘组离线

online       使磁盘或失效磁盘组上线

rebal        重新平衡磁盘组

remap       重定位数据在磁盘上的物理块的范围内

setattr       设置磁盘组属性

umount       卸载磁盘组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值