ASMlib安装与配置
简介:
Oracle 技术网上提供了 ASMLib 软件 。请转至 ASMLib 下载页面,点击适合您的平台的链接。
Oracle 技术网上提供了 ASMLib 软件 。请转至 ASMLib 下载页面,点击适合您的平台的链接。 http://www.oracle.com/us/solutions/performance-scalability/rhel5-084877.html 对于 Linux 平台,您将看到 4-6 个程序包。Oracleasmlib 程序包提供实际的 ASM 库。Oracleasm-support 程序包提供用来使 ASM 驱动程序启动并运行的公用程序。这两个程序包都需要安装。 其余的程序包为 ASM 库提供内核驱动程序。每一个程序包都为一种不同的内核提供驱动程序。您必须为您运行的内核安装适当的程序包。例如,如果您运行 Red Hat Advanced Server 2.1,那么您使用的内核是 2.4.9-e.27enterprise 内核,您将选择 oracleasm-2.4.9-e-enterprise 程序包。因此,为了在 Intel x86 计算机上的 Red Hat Advanced Server 2.1 上安装这些程序包,您可以使用以下命令:
rpm -Uvh oracleasm-support-1.0.0-1.i386.rpm \
oracleasm-lib-1.0.0-1.i386.rpm \
oracleasm-2.4.9-e-enterprise-1.0.0-1.i686.rpm
如果您在不同的计算机上运行,那么程序包的名称可能稍微有点不同,请用相应的体系结构替换 'i686'。使用与您的版本相关的程序包名称。 一旦命令完成,ASMLib 就安装在了系统上。 |
配置 ASMLib
|
|
|
现在已经安装了 ASMLib 软件,系统管理员必须执行几个步骤来使 ASM 驱动程序可用。需要加载 ASM 驱动程序,并且需要装载驱动程序文件系统。这由初始化脚本 /etc/init.d/oracleasm 来处理。 用 'configure' 选项来运行 /etc/init.d/oracleasm 脚本。它将要求默认拥有 ASM 驱动程序访问点的用户和用户组。如果数据库以 'oracle' 用户和 'dba' 用户组身份运行,那么输出将看起来像这样:
[root@ca-test1 /]# /etc/init.d/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) [n]:y
Fix permissions of Oracle ASM disks on boot (y/n) [y]:y
Writing Oracle ASM library driver configuration [ OK ]
Creating /dev/oracleasm mount point [ OK ]
Loading module "oracleasm" [ OK ]
Mounting ASMlib driver filesystem [ OK ]
Scanning system for ASM disks [ OK ]
这应加载 oracleasm.o 驱动程序模块并装载 ASM 驱动程序文件系统。通过在配置期间选择 enabled = 'y',系统将始终在启动时加载该模块并装载文件系统。 可以利用 /etc/init.d/oracleasm 的 'enable' 和 'disable' 选项来启用或禁用自动启动。
[root@ca-test1 /]# /etc/init.d/oracleasm disable
Writing Oracle ASM library driver configuration [ OK ]
Unmounting ASMlib driver filesystem [ OK ]
Unloading module "oracleasm" [ OK ]
[root@ca-test1 /]# /etc/init.d/oracleasm enable
Writing Oracle ASM library driver configuration [ OK ]
Loading module "oracleasm" [ OK ]
Mounting ASMlib driver filesystem [ OK ]
Scanning system for ASM disks [ OK ]
|
使磁盘对 ASMLib 可用
|
|
|
系统管理员有最后一项任务。需要使 ASMLib 要访问的每一个磁盘可用。这是通过创建一个 ASM 磁盘来实现的。/etc/init.d/oracleasm 脚本将再次用于这个任务:
[root@ca-test1 /]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdg
Creating Oracle ASM disk "VOL1" [ OK ]
磁盘名称是 ASCII 大写字母、数字和下划线。它们必须以字母开始。 不再被 ASM 使用的磁盘也可以取消标记:
[root@ca-test1 /]# /etc/init.d/oracleasm deletedisk VOL1
Deleting Oracle ASM disk "VOL1" [ OK ]
可以查询任意的操作系统磁盘,以了解它是否被 ASM 使用:
[root@ca-test1 /]# /etc/init.d/oracleasm querydisk /dev/sdg
Checking if device "/dev/sdg" is an Oracle ASM disk [ OK ]
[root@ca-test1 /]# /etc/init.d/oracleasm querydisk /dev/sdh
Checking if device "/dev/sdh" is an Oracle ASM disk [FAILED]
可以列出和查询现有的磁盘:
[root@ca-test1 /]# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3
[root@ca-test1 /]# /etc/init.d/oracleasm querydisk VOL1
Checking for ASM disk "VOL1" [ OK ]
当向 RAC 设置中添加磁盘时,需要通知其他节点该磁盘的存在。在一个节点上运行 'createdisk' 命令,然后在其他每一个节点上运行 'scandisks':
[root@ca-test1 /]# /etc/init.d/oracleasm scandisks
Scanning system for ASM disks [ OK ]
|
Linux ASMLib 的发现字符串
|
|
|
ASMLib 使用发现字符串来确定 ASM 正在请求哪些磁盘。一般的 Linux ASMLib 使用 glob 字符串。字符串必须以 "ORCL:" 为前缀。磁盘通过名称来指定。可以通过发现字符串 "ORCL:VOL1" 在 ASM 中,发现以名称 "VOL1" 创建的磁盘。类似地,可以用发现字符串 "ORCL:VOL*" 来查询所有以字符串 "VOL" 开始的磁盘。 不能在发现字符串中用路径名称来发现磁盘。如果缺少前缀,那么一般的 Linux ASMLib 将完全忽略发现字符串,认为它适用于一个不同的 ASMLib。唯一的例外是空字符串 ( ""),它被认为是一个全通配符。这与发现字符串 "ORCL:*" 完全等价。 注意:一旦您用 Linux ASMLib 标记了磁盘,那么 Oracle 数据库 10g R1 (10.1) OUI 将不能发现您的磁盘。建议您完成“仅限于软件” (Software Only) 的安装,然后使用 DBCA 来创建数据库(或者使用自定义安装)。 |