在安装Oracle 11gR2 Restart Database和使用SRVCTL执行启动Restart Database的时候都有可能出现类似下面的报错:
[root@rhel1 bin]# ./srvctl start database -d ractest
PRCR-1079 : Failed to start resource ora.ractest.db
ORA-01031: insufficient privileges
ORA-01031: insufficient privileges
CRS-2674: Start of 'ora.ractest.db' on 'rhel1' failed
原因是由于grid不在OSDBA组。将grid添加到OSDBA组中即可。
查看OSDBA组的系统组名:
[root@rhel1 bin]# su - oracle
[oracle@rhel1 ~]$ $ORACLE_HOME/bin/osdbagrp
dba
查看grid用户所在组:
[root@rhel1 bin]# groups grid
grid : oinstall asmadmin asmdba asmoper
为Grid用户添加OSDBA组dba:
[root@rhel1 bin]# usermod -a -G dba grid
再次查看grid用户对应的系统组,包含了dba组:
[root@rhel1 bin]# groups grid
grid : oinstall asmadmin dba asmdba asmoper
再次尝试使用SRVCTL启动Database,启动成功:
[root@rhel1 bin]# ./srvctl start database -d ractest
METALINK文章如下:
PRCR-1079 ORA-01031 CRS-2674 SRVCTL Fails to Start Database in Oracle Restart Job Role Separation Environment [ID 985743.1] | |||||
| |||||
修改时间 23-JAN-2011 类型 PROBLEM 状态 MODERATED |
In this Document
Symptoms
Cause
Solution
References
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review. |
Applies to:
Oracle Server - Enterprise Edition - Version: 11.2.0.1 and later [Release: 11.2 and later ]
Information in this document applies to any platform.
Symptoms
In Oracle Restart (Standalone 11gR2 Grid Infrastructure) environment with Job Role Separation, srvctl fails to start database with error:
srvctl start db -d testdb
PRCR-1079 : Failed to start resource ora.testdb.db
ORA-01031: insufficient privileges
ORA-01031: insufficient privileges
CRS-2674: Start of 'ora.testdb.db' on 'siha1' failed
Cause
Possible causes:
1. Grid Infrastructure owner is not part of OSDBA group for the database thats being start up.
2. Grid Infrastructure owner doesn't have write permission to database dbs ($ORACLE_HOME/dbs) directory.
Solution
1. As per documentation <Oracle Database Administrator's Guide 11g Release 2 (11.2) -> Configuring Oracle Restart -> Adding Components to the Oracle Restart Configuration>, Grid Infrastructure owner must be part of OSDBA group if the database need to be managed by srvctl.
To find out OSDBA group for RDBMS home, execute: $RDBMS_HOME/bin/osdbagrp
To find out whether grid user is already part of OSDBA group, execute: groups >
Location for groups command is /usr/bin/groups on Linux, and /bin/groups on AIX, Solaris and hp-ux
2. If Grid Infrastructure owner is already part of OSDBA group and the issue still exist, add group write permission to $RDBMS_HOME/dbsdirectory; for example
cd $RDBMS_HOME
chmod g+w dbs
ls -ld dbs
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23135684/viewspace-689072/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23135684/viewspace-689072/