辐射4 城市掉帧:以ASM方式安装oracle数据库

来源:百度文库 编辑:九乡新闻网 时间:2024/05/09 06:11:23
 2011-01-15 12:58

 

oracle的四种存储机制中,基于操作系统文件管理机制占了很大一部分,oracle推出的ASM存储方式将来有很大可能取代操作系统管理,今天扒了一些资料,安装测试一把,记录如下。

   ASM是Oracle数据库10g中一个非常出色的新特性,它以平台无关的方式提供了文件系统、逻辑卷管理器以及软件RAID等服务。ASM可以条带化和镜像磁盘,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡I/O以删除“热点”。它还支持直接和异步的I/O并使用Oracle9i中引入的Oracle数据管理器API(简化的I/O系统调用接口)。
ASM不是一个通用的文件系统,并只能用于Oracle数据文件、重做日志以及控制文件。ASM中的文件既可以由数据库自动创建和命名(通过使用Oracle管理文件特性),也可以由DBA手动创建和命名。由于操作系统无法访问ASM中存储的文件,因此对使用ASM文件的数据库执行备份和恢复操作的唯一途径就是通过RMAN。
ASM作为单独的Oracle实例实施,只有它在运行时其他数据库才能访问它。在Linux上,只有运行OCSSD服务(由Oracle通用安装程序默认安装)才能使用ASM。ASM需要的内存不多:对大多数系统,只需64 MB。
下载ASM程序包或源文件
在Linux平台上,ASM可以使用原始设备,或通过ASMLib接口管理的设备。出于易于使用和性能方面的原因,Oracle建议在原始设备上使用ASMLib。ASMLib可以从OTN免费下载。
ASMLib以三个Linux rpm包提供:
oracleasmlib - ASM库
oracleasm-support -用于管理ASMLib的实用程序
oracleasm - ASM库的内核模块
每个Linux发行套件都有其自己的ASMLib rpm包。在每个发行套件中,每个内核版本都有一个相应的oracleasm rpm包。 确定所使用的内核:
[root@mysqldb asm]# uname -rm
2.6.9-42.ELsmp i686
可以看出这是一个使用Intel i686 CPU的SMP(多处理器)系统的2.6.9内核,根据这些信息在http://www.oracle.com/technology/software/tech/linux/asmlib/rhel4.html上下载对应内核的三个rpm包,此处应下载oracleasm-2.6.9-42.ELsmp-2.0.3-1.i686.rpm、oracleasmlib-2.0.4-1.el4.i386.rpm、oracleasm-support-2.1.3-1.el4.i386.rpm
安装ASMLib
[root@mysqldb asm]# rpm -ivh oracleasm-2.6.9-42.ELsmp-2.0.3-1.i686.rpm \
> oracleasmlib-2.0.4-1.el4.i386.rpm \
> oracleasm-support-2.1.3-1.el4.i386.rpm
Preparing...                ########################################### [100%]
   1:oracleasm-support      ########################################### [ 33%]
   2:oracleasm-2.6.9-42.ELsm########################################### [ 67%]
   3:oracleasmlib           ########################################### [100%]
检验是否成功安装
[root@mysqldb asm]# rpm -qa | grep oracleasm
oracleasm-support-2.1.3-1.el4
oracleasmlib-2.0.4-1.el4
oracleasm-2.6.9-42.ELsmp-2.0.3-1
配置ASMLib
使用ASMLib之前,需要运行配置脚本进行一些简单配置。
[root@mysqldb asm]# /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]:oracle
Default group to own the driver interface [dba]:dba
Start Oracle ASM library driver on boot (y/n) [y]:y
Scan for Oracle ASM disks on boot (y/n) [y]:y
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [  OK  ]
Scanning the system for Oracle ASMLib disks: [  OK  ]
根据提示,依次输入:oracle/dba/y/y,这样就会在系统下次启动时自动加载ASMLib驱动程序。
启动ASMLib配置
[root@mysqldb asm]# /etc/init.d/oracleasm enable
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [  OK  ]
Scanning the system for Oracle ASMLib disks: [  OK  ]
使用ASM进行磁盘配置
接下来,告诉ASM驱动程序您要使用的磁盘。请注意,这些磁盘是不包含任何内容(甚至不包含分区)的空磁盘。可以将磁盘分区用于ASM,但建议您不要这样做(此处测试我们这样做)。 通过oracleasm来标记由ASMLib使用的磁盘,用法如下:
[root@mysqldb asm]# /etc/init.d/oracleasm -h
Usage: /etc/init.d/oracleasm {start|stop|restart|enable|disable|configure|createdisk|deletedisk|querydisk|listdisks|scandisks|status}我们此处添加4个ASM使用的磁盘:
[root@mysqldb asm]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
Marking disk "VOL1" as an ASM disk: [  OK  ]
[root@mysqldb asm]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdb2
Marking disk "VOL2" as an ASM disk: [  OK  ]
[root@mysqldb asm]# /etc/init.d/oracleasm createdisk VOL3 /dev/sdb3
Marking disk "VOL3" as an ASM disk: [  OK  ]
[root@mysqldb asm]# /etc/init.d/oracleasm createdisk VOL4 /dev/sdb4
Marking disk "VOL4" as an ASM disk: [  OK  ]
查看是否成功添加:
[root@mysqldb asm]# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3
VOL4
至此,所有的关于ASM的配置都已经完成,下面,可以创建一个ASM实例,并构建一个使用ASM进行磁盘存储的数据库。
启动DBCA创建数据库
前面几个步骤和平时没有什么变化,到选择存储机制的时候,选择ASM。

必须先配置css,根据提示,以root用户运行下面的命令:
[root@mysqldb asm]#  /usr/oracle/product/10.2.0/bin/localconfig add
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized

Adding to inittab
Startup will be queued to init within 30 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
        mysqldb
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)
配置ASM实例,输入ASM实例的口令并确认。

创建ASM磁盘组
由于这是新ASM实例且尚未创建任何ASM实例,因此该窗口未显示可用磁盘组。
点击Create New创建,输入磁盘组名称,如data,选择加入磁盘组的磁盘。完成后单击OK
冗余
- High镜像数据两次。
- Normal镜像数据一次。
- External不镜像ASM中的数据。如果外部RAID阵列提供冗余,则通常使用此选项。

返回到ASM Disk Groups窗口。此时,出现在上一步中创建的磁盘组。 选择磁盘组。在此实例中使用单个磁盘组。

选择Use Oracle-Managed Files。


确保已将Database Area设置为您创建的磁盘组。它包含一个前导加号,+DATA。

 

下面的步骤没有变化,根据需要配置,结束。