ORA-01031:sysdba对sys的权限不足(即使在给出orapwd命令之后)

时间:2015-01-14 06:58:50

标签: linux oracle oracle11g

我在linux机器上安装了一个oracle 11g实例。通过发出shutdown immediate和startup来执行数据库跳转。无法以sysdba身份登录sys/password@sid。甚至发了一个

orapwd file=orapwsid  password=password entries=30 force=y

命令,也创建了一个pwd文件。

但仍然无法以sys身份登录。我可以通过scott和其他创建的用户连接到数据库,但不能作为sysdba。 请求你帮助我。

4 个答案:

答案 0 :(得分:4)

确保您是 dba!

[bb@limbo] ~/ $ . oraenv
ORACLE_SID = [XE] ? XE
ORACLE_BASE environment variable is not being set since this
information is not available for the current user ID bb.
You can set ORACLE_BASE manually if it is required.

[bb@limbo] ~/ $ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Fri Jan 16 19:02:11 2015

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

sys@XE> exit

Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

[bb@limbo] ~/ $ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Fri Jan 16 19:05:56 2015

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

ERROR:
ORA-01031: insufficient privileges

Enter user-name: 
[bb@limbo] ~/ $ su -c "usermod -G dba bb"

Password: 

[bb@limbo] ~/ $ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Fri Jan 16 19:06:29 2015

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

sys@XE> 

答案 1 :(得分:1)

我遇到了同样的问题,但不知道我必须切换到oracle用户才能获得dba访问权。

$ cd ORACLE_HOME/xe/bin 
$ ls -la oracle
-rwsr-s--x 1 oracle dba 165700472 Aug 28  2011 oracle
$ su oracle
$ sqlplus sys as sysdba

您应该能够毫无问题地登录

答案 2 :(得分:0)

我设法通过确保侦听器文件中的实例名称区分大小写来解决此问题。还有orapw文件。如果SID是小的情况,我使用较小的案例intance名称确保所有相关文件。

答案 3 :(得分:0)

> $ORACLE_HOME/bin/sqlplus as sysdba

如果您的$ ORACLE_HOME设置正确

,这将有效

检查$ ORACLE_HOME运行

> echo $ORACLE_HOME

这将显示oracle主路径