转自:http://www.luocs.com/archives/776.html
我的错误:我的oracle用户没有添加到asmadmin组中
最近和一朋友做这样的测试,在安装RAC或者Oracle Restart的时候如果先安装RDBMS Software,后安装GI(Grid Infrastructure),会不会影响数据库的使用或者会不会影响创建数据库。我们怀着这样的疑问在测试环境里进行了实验。
RDBMS Software安装和GI的安装都很顺利,通过asmca也创建了后续存放数据文件和用于闪回恢复区的ASM磁盘组。
本以为很顺利进行下去,但dbca建库的时候遇到了问题,到选择存储方式的时候无法识别asm磁盘组。如下图:
提醒:大家要相信如果安装顺序是正确的,那么在这个步骤中肯定是能够看到大家创建好的ASM磁盘组信息的。
那分析下常见的找不到ASM磁盘组的原因:
1)gi家目录或者其子目录权限错误
2)asm磁盘的权限错误
3)asm实例未启动或者asm磁盘组没有mount上
4)asm磁盘组资源没有在线
5)oracle用户的权限错误
6)oracle($ORACLE_HOME/bin)可执行文件的权限错误
OK,那我就按照上面的分析结果进行逐一排查:
1)gi家目录或者其子目录权限错误
[root@khm5 ~]# ls -ld /u02/app/11.2.0/grid/ drwxr-x--- 66 root oinstall 4096 Apr 19 01:36 /u02/app/11.2.0/grid/
我先简单查看了GI的家目录权限,这是正常的。这里想要提醒大家,有些DBA有意无意中看到这样的目录权限,发现所属主是root,以为出了问题,理所应当地通过命令去更改,如果只更改该目录权限问题也不大,回退方法很简单,但一旦加上-R参数递归方式把子目录、子文件的权限一并更改,那故障就发生了。
所以,大家在操作的时候不要盲目去做没有把握的事情,掌握每个操作后面的原理以及其带来的后果,以至于充分准备好回退方法。
在这里我很清楚地知道没有做过修改权限的操作,所以初步认为是这个环节没有问题,所以pass。
2)asm磁盘的权限错误
我是通过ASMLib驱动创建的asm磁盘,通过下面命令查看:
[root@khm5 ~]# ls -l /dev/oracleasm/disks/ total 0 brw-rw---- 1 grid asmadmin 8, 17 Apr 19 01:22 ASMDISK1 brw-rw---- 1 grid asmadmin 8, 33 Apr 19 01:22 ASMDISK2 brw-rw---- 1 grid asmadmin 8, 49 Apr 19 01:22 ASMDISK3
如果发现权限不对,通过如下命令修改:
[root@khm5 ~]# oracleasm configure -I 或者 [root@khm5 ~]# /etc/init.d/oracleasm configure 修改之后查看: [root@khm5 ~]# oracleasm configure ORACLEASM_ENABLED=true ORACLEASM_UID=grid ORACLEASM_GID=asmadmin ORACLEASM_SCANBOOT=true ORACLEASM_SCANORDER="" ORACLEASM_SCANEXCLUDE=""
3)asm实例未启动或者asm磁盘组没有mount上
4)asm磁盘组资源没有在线
通过查看资源情况可以判断有没有3和4提到的问题
[grid@khm5 ~]$ crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE khm5 ora.FLASH.dg ONLINE ONLINE khm5 ora.GRID.dg ONLINE ONLINE khm5 ora.LISTENER.lsnr ONLINE ONLINE khm5 ora.asm ONLINE ONLINE khm5 Started ora.ons OFFLINE OFFLINE khm5 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE khm5 ora.diskmon 1 OFFLINE OFFLINE ora.evmd 1 ONLINE ONLINE khm5
5)oracle用户的权限错误
[root@khm5 ~]# id oracle uid=1101(oracle) gid=1000(oinstall) groups=1000(oinstall),1300(dba),1301(oper),1201(asmdba)
oracle用户需要加入到asmdba组,如果发现没有加入,进行如下操作:
[root@khm5 ~]# gpasswd -a oracle asmdba Adding user oracle to group asmdba
6)oracle($ORACLE_HOME/bin)可执行文件的权限错误
[root@khm5 ~]# su - oracle [oracle@khm5 ~]$ cd $ORACLE_HOME/bin [oracle@khm5 bin]$ ls -l oracle -rwsr-s--x 1 oracle oinstall 232399473 Apr 19 07:04 oracle
好,到这里我们发现问题了,oracle可执行文件的权限不正确。在RAC或者ORACLE RESTART中,oracle可执行文件的所属组是asmadmin。
如下方式进行修改:
[root@khm5 ~]# cd /u02/app/oracle/product/11.2.0/dbhome_1/bin/ [root@khm5 bin]# chown oracle.asmadmin oracle [root@khm5 bin]# ls -l oracle -rwxr-x--x 1 oracle asmadmin 232399473 Apr 19 07:04 oracle [root@khm5 bin]# chmod +s oracle [root@khm5 bin]# ls -l oracle -rwsr-s--x 1 oracle asmadmin 232399473 Apr 19 07:04 oracle
修改完后问题解决,我们能够看到ASM磁盘组信息了。

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