evices@100/channel-devices@200/disk@1:a,raw
mknod /dev/asmdisk/datadisk2 c 265 16 对应 /devices/virtual-devices@100/channel-devices@200/disk@2:a,raw
mknod /dev/asmdisk/datadisk3 c 265 24 对应 /devices/virtual-devices@100/channel-devices@200/disk@3:a,raw
mknod /dev/asmdisk/datadisk4 c 265 32 对应 /devices/virtual-devices@100/channel-devices@200/disk@4:a,raw
5.回过头检查alert.log日志如下片段:
ORA-27041: unable to open file
SVR4 Error: 13: Permission denied
说明存在权限问题。
6.查看OS用户和组的情况:
cd /etc/passwd
ccssver:x:1001:106::/mdccssver/mdccssver/home:/bin/bash
oragrid:x:1002:106::/mdccssver/oragrid/home:/bin/bash
cat /etc/group
oinstall::106:
7.查看mknod设备权限
-bash-4.1$ cd /dev/asmdisk
-bash-4.1$ ls -ltr
total 0
crw-rw-r-- 1 oragrid asmadmin 265, 24 Sep 14 13:51 datadisk3
crw-rw-r-- 1 oragrid asmadmin 265, 16 Sep 14 13:51 datadisk2
crw-rw-r-- 1 oragrid asmadmin 265, 8 Sep 14 13:51 datadisk1
crw-rw-r-- 1 oragrid asmadmin 265, 32 Sep 14 13:51 datadisk4
crw-rw-r-- 1 oragrid asmadmin 265, 70 Sep 15 03:29 crsdisk4
crw-rw-r-- 1 oragrid asmadmin 265, 62 Sep 15 03:29 crsdisk3
crw-rw-r-- 1 oragrid asmadmin 265, 54 Sep 15 03:29 crsdisk2
crw-rw-r-- 1 oragrid asmadmin 265, 78 Sep 15 03:29 crsdisk5
crw-rw-r-- 1 oragrid asmadmin 265, 46 Sep 15 03:29 crsdisk1
从上面看,应该权限设置有问题,mknod设备的组应该为oinstall,所以直接手工启动库会有问题,但用srvctl启动库是正常的。如下:
-bash-4.1$ srvctl start instance -d ccssver -i ccssver2
-bash-4.1$ ps -ef|grep pmon
oragrid 25198 1 0 13:51:07 0:09 asm_pmon_+ASM2
ccssver 8819 1 0 03:39:40 0:00 ora_pmon_ccssver2
ccssver 9646 7843 0 03:40:27 pts/3 0:00 grep pmon
oragrid 25935 1 0 13:51:44 0:07 mdb_pmon_-MGMTDB
-bash-4.1$ id
uid=1001(ccssver) gid=106(oinstall)
-bash-4.1$ sqlplus /nolog
SQL*Plus: Release 12.1.0.2.0 Production on Thu Sep 15 03:40:56 2016
Copyright (c) 1982, 2014, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected.
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
用srvctl启动库正常,而用sqlplus 启动报错,参考MOS中这段:
With SRVCTL, the root user OS setup is used since inherited from the crsd.bin that will start the instances as oracle user. With SQLPLUS, the oracle user OS setup is used. Having different user setups for root or oracle will make that the performance can be different (fragmented sga or not, another 'solaris' project setup, ...) Check Note 603051.1 , Note 369424.1 .
两者使用的用户权限不一样。
三.问题解决
更改下面权限,将数据盘的组改为oinstall
chown oragrid:oinstall /dev/asmdisk/datadisk1
chown oragrid:oinstall /dev/asmdisk/datadisk2
chown oragrid:oinstall /dev/asmdisk/datadisk3
chown oragrid:oinstall /dev/asmdisk/datadisk4
root@msuu435:/dev/asmdisk# ls -ltr
total 0
crw-rw-r-- 1 oragrid oinstall 265, 24 Sep 15 03:39 datadisk3
crw-rw-r-- 1 oragrid oinstall 265, 16 Sep 15 03:44 datadisk2
crw-rw-r-- 1 oragrid oinstall 265, 32 Sep 15 04:08 datadisk4
crw-rw-r-- 1 oragrid oinstall 265, 8 Sep 15 04:08 datadisk1
crw-rw-r-- 1 oragrid asmadmin 265, 78 Sep 15 04:08 crsdisk5
crw-rw-r-- 1 oragrid asmadmin 265, 70 Sep 15 04:08 crsdisk4
crw-rw-r-- 1 oragrid asmadmin 265, 62 Sep 15 04:08 crsdisk3
crw-rw-r-- 1 oragrid asmadmin 265, 54 Sep 15 04:08 crsdisk2
crw-rw-r-- 1 oragrid asmadmin 265, 46 Sep 15 04:08 crsdisk1
更改权限后,用sqlplus启动数据库,不再报错,能正常打开。
root@msuu435:/dev/asmdisk# su - ccssver
Oracle Corporation SunOS 5.11 11.1 March 2014
-bash-4.1$ sqlplus /nolog
SQL*Plus: Release 12.1.0.2.0 Production on Thu Sep 15 05:06:20 2016
Copyright (c) 1982, 2014, Oracle. All rights reserved.
S