Oracle asmlib 安装配置及磁盘创建
一、
Oracle asmlib
安装
在oracle.com
上下载合适的驱动程序,版本和操作系统的内核要一致。
(miki西游的文档,原文链接http://mikixiyou.iteye.com/blog/1513773
,转载请著名出处和作者)
(墙外:
http://mikixiyou.blogspot.com/2012/05/oracle-asmlib.html
)
(墙内: http://mikixiyou.iteye.com/blog/1513773
)
目前只有linux
操作系统上有asmlib
包,其他的系统暂时还没有。asmlib
简化磁盘管理,取代原来我们在linux
上常用rawdevices
服务。
根据uname –r
检测结果,下载的驱动程序包名称与其一致。务必!!!
[root@db2 ~]# uname -r
2.6.18-238.el5
这里我最初下载包是2.6.18-238.12.1.el5
,安装后初始化配置时失败。后来又找到一个oracleasm-2.6.18-238.el5-2.0.5-1.el5
的安装包,安装成功后才成功。
[root@db2 ~]# rpm -qa |grep asm
oracleasm-2.6.18-238.el5-2.0.5-1.el5
oracleasmlib-2.0.4-1.el5
oracleasm-2.6.18-238.12.1.el5-2.0.5-1.el5
oracleasm-support-2.1.7-1.el5
oracleasm-2.6.18-238.12.1.el5-debuginfo-2.0.5-1.el5
真正需要安装的asmlib
包如下:
oracleasm-support-version.arch.rpm
oracleasm-kernel-version.arch.rpm
oracleasmlib-
version
.arch.rpm
二、Oracle asmlib
配置
在软件包安装以后,需要配置才能使其生效。
[root@db2 ~]# oracleasm configure
执行结果如下:
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [y]:
Fix permissions of Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: [ OK ]
Scanning system for ASM disks: [ OK ]
这个脚本执行完成了四大任务。
1
、创建了配置文件/etc/sysconfig/oracleasm
2
、创建了挂载点/dev/oracleasm
3
、加载oracleasm
内核模块
4
、挂载ASM
函数驱动文件系统
三、ASMLIB
的磁盘创建
使用asmlib
管理磁盘后,需要创建一系列磁盘。其实,这不是真正意义上磁盘分区创建,如fdisk
上的创建磁盘操作。这里只是一个标记命名。将系统上的磁盘分区在asmlib
的配置文件中做一个标识,使得ASMLIB
能加载使用,ASM
实例从ASMLIB
中读取的到。
这点和RAWDEVICES
其实很相似的。不知道性能差异如何?目前没有测试结果。
创建命令如下,在root
用户下执行。
/etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
/etc/init.d/oracleasm createdisk VOL2 /dev/sdb2
四、ASMLIB
磁盘的管理
ASM
磁盘使用oracleasm
工具进行管理。
[root@db4 ~]# oracleasm -h
Usage: oracleasm [--exec-path=] [ ]
oracleasm --exec-path
oracleasm -h
oracleasm -V
The basic oracleasm commands are:
configure Configure the Oracle Linux ASMLib driver
init Load and initialize the ASMLib driver
exit Stop the ASMLib driver
scandisks Scan the system for Oracle ASMLib disks
status Display the status of the Oracle ASMLib driver
listdisks List known Oracle ASMLib disks
querydisk Determine if a disk belongs to Oracle ASMlib
createdisk Allocate a device for Oracle ASMLib use
deletedisk Return a device to the operating system
renamedisk Change the label of an Oracle ASMlib disk
update-driver Download the latest ASMLib driver
使用oracleasm listdisks
列出所有创建的磁盘。
[root@db4 ~]# oracleasm listdisks
VOL1
VOL2
使用oracleasm querydisk
列出某一磁盘的详细信息,如指向的哪个磁盘分区。
[root@db4 ~]# oracleasm querydisk
Usage: oracleasm-querydisk [-l ] [-v] [-d|-p] | ...
[root@db4 ~]# oracleasm querydisk vol1
Disk "VOL1" is a valid ASM disk
[root@db4 ~]# oracleasm querydisk -v vol1
Disk "VOL1" is a valid ASM disk
[root@db4 ~]# oracleasm querydisk -v -d vol1
Disk "VOL1" is a valid ASM disk on device /dev/sdb1[8,17]
加选项
-v -p,
显示出物理盘分区。
[root@db4 ~]# oracleasm querydisk -v -p vol1
Disk "VOL1" is a valid ASM disk
/dev/sdb1: LABEL="VOL1" TYPE="oracleasm"
/dev/mapper/mpath1p1: LABEL="VOL1" TYPE="oracleasm"
[root@db4 ~]#
五,ASMLIB
磁盘的使用
ASMLIB
磁盘在10g
环境中,只有一个用途,给ASM
实例使用。在11g
中,增加了ADVM
和ACFS
的功能,类似逻辑卷和文件系统。
我测试了文件系统,它还是不能给数据库保存数据文件信息,类似普通的文件系统,只是在RAC
下多节点可以同时读取。
在ASM
实例中,初始化参数需要注意ASMLIB
的磁盘的挂载点信息。它的挂载点是/dev/oracleasm/
。
初始化参数关键点如下:
*.asm_diskgroups='VG1','VG2'
*.asm_diskstring='/dev/oracleasm/disks/VOL1','/dev/oracleasm/disks/VOL2'