ITPub博客

首页 > 数据库 > Oracle > 配置并创建ASM

配置并创建ASM

原创 Oracle 作者:bomei 时间:2007-10-09 10:28:27 0 删除 编辑

安装Oracle ASMLib
下载ASMLib 需要的三个文件:
asmlib:http://otn.oracle.com/software/tech/linux/asmlib/files/RPMS/rhel3/x8
6/oracleasmlib-1.0.0-1.i386.rpm
asm-support:http://otn.oracle.com/software/tech/linux/asmlib/files/RPMS/r
hel3/x86/oracleasm-support-1.0.2-1.i386.rpm
asm-kernel:http://otn.oracle.com/software/tech/linux/asmlib/files/RPMS/rhe
l3/x86/oracleasm-2.4.21-EL-1.0.0-1.i686.rpm

[@more@]如果是多处理器的版本,那么可以下载下面这个文件替换上面的第三个文件:
asm-smp-kernel:http://otn.oracle.com/software/tech/linux/asmlib/files/RPM
S/rhel3/x86/oracleasm-2.4.21-EL-smp-1.0.0-1.i686.rpm
安装:
$su –
# rpm -Uvh oracleasm-support-1.0.2-1.i386.rpm
oracleasm-lib-1.0.0-1.i386.rpm
oracleasm-2.4.21-EL-1.0.0-1.i686.rpm
配置ASMLib:
# /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 驱动,并且mount 上ASM 文件系统,同时我们可以通过以
下命令来手工的卸载和加载ASMLib
# /etc/init.d/oracleasm disable
DataPower Kamus
第 8 页 共 17 页
Writing Oracle ASM library driver configuration [ OK ]
Unmounting ASMlib driver filesystem [ OK ]
Unloading module "oracleasm" [ OK ]
# /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 的内核不同,那么上面的操作将会出错,请检查
/var/log/messages 文件,确认需要更新的系统内核版本。
添加init 文件使系统启动时自动加载ASMLib
$ su –
# cd /etc/rc3.d
# ln -s ../init.d/oracleasm S99oracleasm
# ln -s ../init.d/oracleasm K01oracleasm
注意:如果系统启动是自动进入图形界面,也就是系统的init level 是5,那么上面生成链
接的命令应该在/etc/rc5.d 目录中操作。
重新启动系统,确认ASMLib 已经可以自动加载
#lsmod | grep oracleasm
oracleasm 14224 1
#dmesg | grep oracleasm
ASM: oracleasmfs mounted with options:
创建ASM 磁盘
# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb
Marking disk "/dev/sdb" as an ASM disk [ OK ]
# /etc/init.d/oracleasm createdisk VOL2 /dev/sdc
Marking disk "/dev/sdc" as an ASM disk [ OK ]
# /etc/init.d/oracleasm createdisk VOL3 /dev/sdd
Marking disk "/dev/sdd" as an ASM disk [ OK ]
#/etc/init.d/oracleasm createdisk VOL4 /dev/sde
Marking disk "/dev/sde" as an ASM disk [ OK ]
# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3
VOL4
DataPower Kamus
第 9 页 共 17 页
如果要删除ASM 磁盘通过以下命令:
# /etc/init.d/oracleasm deletedisk VOL4
Removing ASM disk "VOL4" [ OK ]
注意:如果是在RAC 环境中的某一个节点中添加了ASM 磁盘,那么需要在其它的节点上
运行scandisk 来获取这种变化。
# /etc/init.d/oracleasm scandisks
Scanning system for ASM disks [ OK ]
详细的安装文档可以通过以下连接查看:
http://otn.oracle.com/tech/linux/asmlib/install.html
现在我们已经完成了创建ASM 实例的物理基础,下面开始安装数据库。
安装Oracle10g
在RHEL3 上安装Oracle10g 已经是非常简单的操作了,只要系统内核参数设置正确,几
乎不会碰到任何问题。
从以下连接可以得到在RHEL3 上安装Oracle10g 的详细步骤,本文不再赘述。
http://www.puschitz.com/InstallingOracle10g.shtml
在安装Oracle10g 的时候,我们选择不创建数据库,只安装软件的方式,在软件安装结束
以后再通过dbca 来创建ASM 实例和数据库。
创建ASM 实例
1. 创建初始化文件
$ su – oracle
$ cd $ORACLE_HOME/dbs
$ vi init+ASM.ora
创建asm 实例的初始化脚本,脚本内容如下所示:
# ******Below is init script for asm instance******
*.asm_diskstring='ORCL:VOL*'
*.background_dump_dest='/oracle/admin/+ASM/bdump'
*.core_dump_dest='/oracle/admin/+ASM/cdump'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='SHARED'
DataPower Kamus
第 10 页 共 17 页
*.user_dump_dest='/oracle/admin/+ASM/udump'
# ******Above is init script for asm instance******
说明:
1. dump 目录指向$ORACLE_BASE/,本文中ASM 实例的SID 是+ASM。最好
不要修改这个实例名,否则在下一步用dbca 创建数据库的时候,dbca 将找不到可用的磁
盘组,我想这应该是dbca 的一个bug,手工创建ASM 类型的数据库就应该没有这个限制
了。
2. asm_diskstring 用于实例启动的时候检查可用的ASM 磁盘,由于我们前面创建ASM
磁盘的名称是VOL1 到VOL4,所以我们此处使用*通配符,前面的’ORCL:’不可以省略,
否则ASM 实例将无法检查到磁盘。
2. 创建密码文件
$ su – oracle
$ cd $ORACLE_HOME/dbs
$ orapwd file=orapw+ASM password=dba
3. 创建目录结构
$ su – oracle
$ cd $ORACLE_HOME/dbs
$ mkdir –p $ORALCE_BASE/admin/+ASM/udump
$ mkdir –p $ORALCE_BASE/admin/+ASM/bdump
$ mkdir –p $ORALCE_BASE/admin/+ASM/cdump
4. 启动实例
$ export ORACLE_SID=+ASM
$ sqlplus / as sysdba
SQL> startup
ASM instance started
Total System Global Area 100663296 bytes
Fixed Size 777616 bytes
Variable Size 99885680 bytes
Database Buffers 0 bytes
Redo Buffers 0 bytes
ORA-15110: no diskgroups mounted
因为我们是首次启动asm 实例,还没有创建diskgroup,所以显示15110 错误是正常的。
如果启动实例的时候碰到如下报错:
ORA-29701: unable to connect to Cluster Manager
那么请检查/etc/inittab 文件,看看是否有下面这行
h1:35:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 如果没有请添加,如果被注释了请取消注释。
DataPower Kamus
第 11 页 共 17 页
5. 创建spfile,重新启动
SQL> create spfile from pfile;
SQL> shutdown immediate;
SQL> startup;
6. 创建diskgroup
SQL> create diskgroup dgroup1 normal redundancy
2 failgroup fgroup1 disk 'ORCL:VOL1','ORCL:VOL2'
3 failgroup fgroup2 disk 'ORCL:VOL3','ORCL:VOL4';
Diskgroup created.
SQL> col name for a10
SQL> select name,state from v$asm_diskgroup;
NAME STATE
---------- ----------------------
DGROUP1 MOUNTED
如果上述命令返回的state 是DISMOUNTED,那么我们需要手工将挂载diskgroup
SQL> ALTER DISKGROUP dgroup1 MOUNT;
Diskgroup altered.
此时检查数据库初始化参数,发现asm_diskgroups 参数值已经自动设置为DGROUP1,
这表明在下次启动asm 实例的时候,这个diskgroup 会被自动挂载。
SQL> col name for a10
SQL> col type for a10
SQL> col value for a20
SQL> show parameter asm_diskgroups
NAME TYPE VALUE
------------------------------------ ---------- ------------------------------
asm_diskgroups string DGROUP1
如果要卸载diskgroup,使用下面的命令:
ALTER DISKGROUP ALL DISMOUNT;

然后便可以使用DBCA工具配置ASM实例了.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7272495/viewspace-975434/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 安装和配置OCFS
请登录后发表评论 登录
全部评论

注册时间:2008-03-29

  • 博文量
    76
  • 访问量
    93882