| oracle Automatic Storage Management简介 |
| 2009-1-16 |
|
ASM概述: ASM中的基本数据库结构是磁盘组,它由一个或多个磁盘组成。其中“磁盘”可以是一个磁盘分区、一个完整的磁盘、一个级联磁盘、一个存储设备的分区或一个完整的存储设备。一定要认识到,ASM并非通用集群文件系统。相反,ASM是一个具有集群感知的文件系统,专门为处理Oracle数据文件、控制文件、日志文件而设计的。ASM不应与逻辑卷管理器(LVM)共用,这是因为后者会使ASM无法识别磁盘。 ASM自身作为实例来运行,该实例先于数据库实例启动。 ASM实例和Oracle数据库实例的区别: 有5个初始化参数用于ASM实例,其中instance_type是必要的,并应该设置如下: 配置ASM磁盘: [注] 以上操作将加载oracleasm.o驱动,并且mount上ASM文件系统。如果当前操作系统得内核和编译的ASMLib的内核不同,那么就会出错,可以查看日志文件/var/log/messages。如果内核是对的,还是出错,请检查SELinux是否为disable状态,可以命令修改system-config-securitylevel。
创建ASM磁盘
# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1 # /etc/init.d/oracleasm createdisk VOL2 /dev/sdc1 可以通过命令查看建好的ASM disk # /etc/init.d/oracleasm listdisks VOL1 VOL2 [注] 如果是在RAC环境中,要在其他节点执行命令来查找 刚生成的disk。/etc/init.d/oracleasm scandisks。 删除disk:/etc/init.d/oracleasm deletedisk VOL1 启动asm:/etc/init.d/oracleasm enable 禁用asm:/etc/init.d/oracleasm disable 查询现有的磁盘:/etc/init.d/oracleasm querydisk VOL1 使用标准 Linux I/O 的 ASM:此方法使用标准 Linux I/O 系统调用
在 ASM 管理的原始字符设备上创建所有 Oracle 数据库文件。您将需 要为 ASM 使用 的所有磁盘分区创建原始设备。 配置方法如下: 配置每次启动时创建原始设备绑定: # vi /etc/sysconfig/rawdevices /dev/raw/raw1 /dev/sdb1 /dev/raw/raw2 /dev/sdc1 # chown oracle:dba /dev/raw/raw[1-2] # chmod 660 /dev/raw/raw[1-2] # service rawdevices restart 配置每次启动时修改原始设备的属性: # vi /etc/udev/permissions.d/50-udev.permissions # raw/*:root:disk:0660 raw/*:oracle:dba:0660 用oracle身份对原始设备做个ln $ ln –sf /dev/raw/raw1 /oradata/asmdisk1 $ ln –sf /dev/raw/raw2 /oradata/asmdisk2 创建实例ASM 及维护: 使用dbca就可以创建ASM实例。我们可以看看启动asm实例 的参数文件如下: asm_diskstring=’OCR:VOL*’ --因为我们使用的是VOL1、VOL2,所以使用通配符。 Instance_type=’asm’ --数据库实例是rdbms。 当ASM实例启动后,我们可以创建diskgroup: SQL> create diskgroup DG1 normal redundancy failgroup fgroup1 disk ‘ORCL:VOL1’ failgroup fgroup2 disk ‘ORCL:VOL2’ [注] normal redundancy是基于软件冗余,设置ASM来在磁盘组中创建一组特殊的磁盘(称为failgroup),以提高这种冗余。 如果是基于硬件方面的冗余创建diskgroup,命令如下:
SQL> create diskgroup DG1 external redundancy disk ‘ORCL:VOL1’,’ORCL:VOL2’ 查看diskgroup的状态:
SQL> select name,state from v$asm_diskgroup; Name state ------------------------------------------ DG1 MOUNTED 如果是DISMOUNTED的状态,可用命令alter diskgroup DG1 mount修改。 对diskgroup增加/删除 磁盘: SQL> alter diskgroup DG1 add disk ‘ORCL:VOL3’; SQL> alter diskgroup DG1 disk ‘ORCL:VOL3’; 查看diskgroup的大小情况: SQL> select name,allocation_unit_size,total_mb from v$asm_diskgroup; [注] 启动asm数据库,必须先启动asm实例。 工具asmcmd介绍: 这个工具是10gR2推出的,命令和unix/linux差不多; 进入asmcmd环境 在进入asmcmd环境之前,要确保asm实例已经打开,然后设置变量ORACLE_SID,如下: $ export ORACLE_SID=+ASM 如果是RAC环境下: $ export ORACLE_SID=+ASM1 $ asmcmd –p [注] p参数是进入之后会显示所在的路径 可以查看帮助: ASMCMD [+]> help 里面的命令和linux很相似,可以很方便的管理asm磁盘的文件。 |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13024285/viewspace-670611/ ,如需转载,请注明出处,否则将追究法律责任。