ASM磁盘无法识别
ASM磁盘无法识别几种现象:
1) gi家目录或者其子目录权限错误
2)asm磁盘的权限错误
3)asm实例未启动或者asm磁盘组没有mount上
4)asm磁盘组资源没有在线
5)oracle用户的权限错误
6)oracle($ORACLE_HOME/bin)可执行文件的权限错误
OK,那我就按照上面的分析结果进行逐一排查:
1) gi家目录或者其子目录权限错误
[root@rac1 ~]# ls -ld /u01/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参数递归方式把子目录、子文件的权限一并更改,那故障就发生了。所以,大家在操作的时候不要盲目去做没有把握的事情,掌握每个操作后面的原理以及其带来的后果,以至于充分准备好回退方法.
2) asm磁盘的权限错误
[root@rac1 ~]# 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
如果发现权限不对,通过如下命令修改:
[root@rac1 ~]# oracleasm configure -I
或者
[root@rac1 ~]# /etc/init.d/oracleasm configure
修改之后查看:
[root@rac1 ~]# oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=grid
ORACLEASM_GID=asmadmin
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=""
ORACLEASM_SCANEXCLUDE=""
3) asm实例未启动或者asm磁盘组没有mount上
4) asm磁盘组资源没有在线:
[grid@rac1 ~]$ crsctl stat res –t
---------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
---------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE rac1
ora.FLASH.dg
ONLINE ONLINE rac1
ora.GRID.dg
ONLINE ONLINE rac1
ora.LISTENER.lsnr
ONLINE ONLINE rac1
ora.asm
ONLINE ONLINE rac1 Started
ora.ons
OFFLINE OFFLINE rac1
---------------------------------------------------------------------
Cluster Resources
---------------------------------------------------------------------
ora.cssd
1 ONLINE ONLINE rac1
ora.diskmon
1 OFFLINE OFFLINE
ora.evmd
1 ONLINE ONLINE rac1
5) oracle用户的权限错误
[root@rac1 ~]# id oracle
uid=1101(oracle) gid=1000(oinstall) groups=1000(oinstall),1300(dba),1301(oper),1201(asmdba)
oracle用户需要加入到asmdba组,如果发现没有加入,进行如下操作:
[root@rac1 ~]# gpasswd -a oracle asmdba
Adding user oracle to group asmdba
6) oracle($ORACLE_HOME/bin)可执行文件的权限错误
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ cd $ORACLE_HOME/bin
[oracle@rac1 bin]$ ls -l oracle
-rwsr-s--x 1 oracle oinstall 232399473 Apr 19 07:04 oracle
oracle可执行文件的权限不正确:
[root@rac1 ~]# cd /u01/app/oracle/product/11.2.0/dbhome_1/bin/
[root@rac1 bin]# chown oracle.asmadmin oracle
[root@rac1 bin]# ls -l oracle
-rwxr-x--x 1 oracle asmadmin 232399473 Apr 19 07:04 oracle
[root@rac1 bin]# chmod +s oracle
[root@rac1 bin]# ls -l oracle
-rwsr-s--x 1 oracle asmadmin 232399473 Apr 19 07:04 oracle
我经常出现这个问题:
oracle用户需要加入到asmdba组,如果发现没有加入,进行如下操作:
[root@rac1 ~]# gpasswd -a oracle asmdba