11gR2 Restart Database SRVCTL啟動DB報ORA-01031: insufficient privileges

尛樣兒發表於2011-03-11

在安裝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
  
  
  
  


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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章