创建Oracle10gASM数据库 中
文章作者 100test 发表时间 2007:03:14 13:41:08
来源 100Test.Com百考试题网
由于Virtual Disk的特点,在新创建这个磁盘文件的时候,并不会用到最大的size,所以即使整个分区的空闲容量没有4G(我们要创建4个最大size是1G的虚拟磁盘),也不会有问题,虚拟磁盘文件的大小是随着需要而持续增加的,最大增加到指定的max size。当然这种特性也就导致了使用Virtual Disk比使用Plain Disk(创建时即占用max size大小的磁盘空间)的I/O效率要低,所以如果有足够的磁盘空间,那么建议使用Plain Disk,创建Plain Disk的方法是在上面的第二步时,在“Allocate all disk space now”的复选框前面打勾,这样将会创建一个以pln和dat为扩展名的虚拟磁盘文件。Plain Disk的好处还在于可以模拟RAC环境中的共享磁盘,这是Virtual Disk无法作到的。模拟RAC不在本文叙述的范围内。
>uname -a
RHEL3默认安装的linux内核版本是2.4.21-4,为了能够正确的地安装oracleasm lib,我们需要将内核升级到2.4.21-15.EL,否则将无法正常启用oracleasm。
原因是我们安装的oracleasmlib是已经编译好的rpm包,而我们当前操作系统的内核必须和编译时候的系统内核版本一样,否则即使看上去安装正常,但是在启动oracleasm时候会在/var/log/messages文件中发现类似如下的报错信息:
kernel-module version mismatch
^I/lib/modules/2.4.21-EL-ABI/oracleasm/oracleasm.o was compiled for kernel version 2.4.21-15.EL ^Iwhile this kernel is version 2.4.21-4.EL.
从这个报错信息中我们也可以知道应该安装的内核版本,为了更确切地知道下载的oracleasm包需要哪个版本的内核,我们也可以先下载oracleasm,安装,启动然后查看这个报错信息,之后再升级内核到相应的版本。
注意:本文中提到的2.4.21-15.EL内核是本文编写时oracleasm编译使用的内核,随着oracle不断地推出asmlib的新版本,需要的内核版本可能也在不断变化。
下载新内核:
kernel-2.4.21-15.EL.i686: http://public.planetmirror.com/pub/pmstuff/patches/kernel-2.4.21-15.EL.i686.rpm
安装新内核:
# rpm –ivh –-nodeps kernel-2.4.21-15.EL.i686.rpm
安装完毕以后,修改/boot/grub/grub.conf,rpm安装完毕以后,应该已经自动在grub.conf文件中添加了新版kernel启动的段落,我们需要将default=1修改为default=0,这样保证每次启动都用新的内核启动,当测试没有问题之后,我们也可以直接删除grub.conf文件中的title Red Hat Enterprise Linux AS (2.4.21-4.EL)部分,防止因错误操作而使用了原有的系统内核启动系统。
# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,0)
# kernel /boot/vmlinuz-version ro root=/dev/sda1
# initrd /boot/initrd-version.img
#boot=/dev/sda
default=0
timeout=10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Red Hat Enterprise Linux AS (2.4.21-15.EL)
root (hd0,0)
kernel /boot/vmlinuz-2.4.21-15.EL ro root=LABEL=/
initrd /boot/initrd-2.4.21-15.EL.img
title Red Hat Enterprise Linux AS (2.4.21-4.EL)
root (hd0,0)
kernel /boot/vmlinuz-2.4.21-4.EL ro root=LABEL=/
initrd /boot/initrd-2.4.21-4.EL.img