我在linux机器上安装了一个oracle 11g实例。通过发出shutdown immediate和startup来执行数据库跳转。无法以sysdba身份登录sys/password@sid
。甚至发了一个
orapwd file=orapwsid password=password entries=30 force=y
命令,也创建了一个pwd文件。
但仍然无法以sys身份登录。我可以通过scott和其他创建的用户连接到数据库,但不能作为sysdba。 请求你帮助我。
答案 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主路径