ITPub博客

首页 > Linux操作系统 > Linux操作系统 > linux中创建Oracle ASM及碰到的问题 (

linux中创建Oracle ASM及碰到的问题 (

原创 Linux操作系统 作者:jasoname 时间:2011-01-19 16:58:53 0 删除 编辑

操作系统:CentOS4

Oracle版本:Oracle10g

一、安装及配置

1、添加磁盘(我这里加了4块硬盘)安装ASMLib包,我这个版本的包是oracleasm-2.6.9-89.ELsmp- 2.0.5-1.el4.i686、oracleasmlib-2.0.4-1.el4.i386、oracleasm-support- 2.1.3-1.el4.i386

2.安装完Oracle ASMLib相关软件包后,配置ASM时初始化失败:initializing the oracle asmlib driver failed。

解决方法: 查询/lib/modules/2.6.9-.......ELsmp/kernel/drivers/addon/oracleasm下是否有oracleasm.ko,如果有,还出现这个问题需要修改/etc/SElinux/config文件里面的: SELINUX=enforcing 改为SELINUX=disabled

3、配置asm:/etc/init.d/oracleasm configure接着按提示进行

4、.卸载asm:/etc/init.d/oracleasm disable,加载asm:/etc/init.d/oracleasm enable

重新启动问题解决。

5、而后创建磁盘:/etc/init.d/oracleasm createdisk  VOL1   /dev/sdb1(注意新加的磁盘需先分区:fdisk  /dev/sdb)

卸载命令:/etc/init.d/oracleasm deletedisk  VOL1   /dev/sdb1

6.查看创建的磁盘列表:/etc/init.d/oracleasm listdisks

7.注意,如果在RAC环境中,某个节点上添加ASM磁盘需在其他节点执行命令:/etc/init.d/oracleasm scandisks获取这个变化。

二、创建

分为两步:

(1)创建ASM实例

(注意事项:创建实例时,实例名必须为+ASM,否则在用dbca创建数据库实例时无法查找到我们创建的磁盘组)

1.创建初始化文件

(Oracle用户下)cd $ORACLE_HOME/dbs 而后创建pfile:init+ASM.ora

.asm_diskstring='ORCL:VOL*'(注意:ORCL不能省略)
.background_dump_dest='/oracle/oracle/product/10.2.0/db_1/admin/+ASM/bdump'
.core_dump_dest='/oracle/oracle/product/10.2.0/db_1/admin/+ASM/cdump'
.instance_type='asm'
.large_pool_size=12M
.remote_login_passwordfile='SHARED'
.user_dump_dest='/oracle/oracle/product/10.2.0/db_1/admin/+ASM/udump'

2.创建密码文件

orapwd    file=orapwd+ASM   password=dba

3.创建目录结构

 mkdir   -p   $ORACLE_HOME/admin/+ASM/udump  bdump  cdump

(-p参数可以允许同时创建多个目录)

 4.启动实例export ORACLE_SID=+ASM  sqlplus / as sysdba

启动ASM时碰到:ORA-29701 :unable to connect to Cluster Manager解决办法:我在oracle的官方论坛找到一种方法:

Please run the following batch files in the $ORACLE_HOME/bin directory(以root用户身份)执行

./localconfig delete
./localconfig add

5.创建spfile,create spfile from pfile  然后shutdown immediate 再startup

6.创建磁盘组(diskgroup)

create diskgroup dgroup1 normal redundancy
failgroup fgroup1 disk 'ORCL:VOL1','ORCL:VOL2'(故障组1)
failgroup fgroup2 disk 'ORCL:VOL3','ORCL:VOL4';(故障组2)

查看磁盘组的情况:

select   name,state    from   v$asm_diskgroup;

磁盘组状态为nomount时,可用alter   diskgroup   dgroup1    mount;命令手动挂载

(2)用dbca创建oracle实例,在创建过程中会提示选择已创建的磁盘组。

(可用ps   -ef查看进程)在此步骤中我碰到一个问题:就是用DBCA创建ASM数据库时报ORA-32002 connot create SPFILE aready being used by the instance解决办法:在Oracle用户下执行export ORACLE_SID=asm     set问题解决

三、关注三个视图:v$asm_operation       v$asm_disk      v$asm_diskgroup

1.向故障组1中加入磁盘:进入+ASM实例后,执行命令:

 alter   diskgroup   dgroup1  add   failgroup fgroup1   disk   'ORCL:VOL5'    failgroup    fgroup2    disk   'ORCL:VOL6';

2.查看数据的平衡情况:select   GROUP_NUMBER,OPERATION,,STATE,EST_WORK,SOFAR,EST_RATE,EST_MINUTES   from   v$asm_operation;

3.从磁盘组中删除磁盘:alter   diskgroup    dgroup1   drop   disk   VOL4;

4.手动执行数据平衡:alter      diskgroup    dgroup1     rebalance;

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

请登录后发表评论 登录
全部评论

注册时间:2010-01-22

  • 博文量
    146
  • 访问量
    236108