上一次遇到ora-01031错误是在rman平移数据库,创建辅助实例时候遇到的,那一次是因为密码文件格式有误,才导致的这个问题,但是这次是两个完好的rac系统,prirac和secrac,在第二套系统secrac上创建rman用户,从第一套系统的一个节点上rman连接secrac出现了这个问题,
创建用户如下:
SQL> CREATE TABLESPACE rman
2 DATAFILE '+DATA1/secdb/rman.dbf' SIZE 5000M autoextend on next 100m
3 maxsize unlimited
4 EXTENT MANAGEMENT LOCAL;
Tablespace created.
SQL> create user rman identified by rman default tablespace rman temporary tablespace temp;
User created.
SQL> grant connect to rman;
Grant succeeded.
SQL> grant resource to rman
2 ;
Grant succeeded.
SQL> grant dba to rman;
Grant succeeded.
SQL> alter user rman default role all;
User altered.
SQL>
之后在prirac的一台节点上rman连接就报错:
bash-3.00$ rman target
Recovery Manager: Release 10.2.0.5.0 - Production on Fri Nov 26 10:10:48 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database:
ORA-01031: insufficient privileges
很奇怪两套好好的数据库怎么就出现权限问题了呢?之后用sys用户连接没有问题,原因呢就在这,给rman定义了dba权限,但是rman需要的是sysdba,将这个权限赋予rman用户即可:
SQL> grant sysdba to rman;
Grant succeeded.
SQL>
bash-3.00$ rman target
Recovery Manager: Release 10.2.0.5.0 - Production on Fri Nov 26 10:25:30 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: SECDB (DBID=2988935835)
RMAN> exit
阅读(3553) | 评论(0) | 转发(0) |