【ORACLE】用SYS登录报ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER解决方法
2015-12-19 22:05
513 查看
出错原因:
正常输入用户名的口令,会报错,因为SYS是在数据库之外的超级管理员。
解决方案:
因为SYS是在数据库之外的超级管理员,所以我们在登录的时候,要输入口令:口令+as sysdba(比如:tp as sysdba)
另外:
1、在使用PL/SQL登录时,用户名为sys,口令、数据库正确的情况下,以Normal连接时也一样会抛出这个异常。这里,也需要我们将其改为以SYSDBA或SYSOPER进行连接。
2、在CMD下使用sqlplu登陆时,以下方式都可以进行登陆:
sqlplus sys/tp@TPDB as sysdba
sqlplus / as sysdba
sqlplus sys/tp as sysdba
这是Oracle登陆问题,因为Oracle在本地的缘故。而系统默认是操作系统认证模式。
Oracle的认证方式分为操作系统认证和口令文件认证2种方式,操作系统认证有时候也叫本地认证:
--操作系统认证:即oracle认为操作系统用户是可靠的,即既然能登陆到操作系统那么oracle数据库你也能登陆。
--口令文件认证:oracle认证认为操作系统用户是不可信任的,如果要访问数据库,必须进行再次认证。
正常输入用户名的口令,会报错,因为SYS是在数据库之外的超级管理员。
解决方案:
因为SYS是在数据库之外的超级管理员,所以我们在登录的时候,要输入口令:口令+as sysdba(比如:tp as sysdba)
另外:
1、在使用PL/SQL登录时,用户名为sys,口令、数据库正确的情况下,以Normal连接时也一样会抛出这个异常。这里,也需要我们将其改为以SYSDBA或SYSOPER进行连接。
2、在CMD下使用sqlplu登陆时,以下方式都可以进行登陆:
sqlplus sys/tp@TPDB as sysdba
sqlplus / as sysdba
sqlplus sys/tp as sysdba
这是Oracle登陆问题,因为Oracle在本地的缘故。而系统默认是操作系统认证模式。
Oracle的认证方式分为操作系统认证和口令文件认证2种方式,操作系统认证有时候也叫本地认证:
--操作系统认证:即oracle认为操作系统用户是可靠的,即既然能登陆到操作系统那么oracle数据库你也能登陆。
--口令文件认证:oracle认证认为操作系统用户是不可信任的,如果要访问数据库,必须进行再次认证。
String userName = "sys as sysdba"; String userPass = "tp"; String driverName = "oracle.jdbc.driver.OracleDriver"; String dataBaseUrl = "jdbc:oracle:thin:@192.168.20.13:1521:ORCL";
相关文章推荐
- win7旗舰版(64位)环境下oracle11g的安装方法
- Oracle问题记录(一)
- windows下利用navicat连接oracle的一些配置问题总结
- System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.
- linux下Oracle11g RAC搭建(九)
- Oracle Insert分批提交
- Oracle中的for语句
- oracle中的loop与while循环
- Oracle 11.2 单实例连接ASM时需要注意的事项以及问题处理
- Oracle 定义类型
- Oracle 12c里面select view权限没有的解决方法
- AIX虚拟内存分页替换的原理及Oracle数据库服务器swap空间满的分析
- mybatis-generator相关问题
- Oracle归档日志总结
- Oracle中是用case...when语句进行判断
- AIX5.3中将Oracle SGA PIN在内存中的步骤
- 通过阅读Oracle Enterprise Asset Management User Guide,我对Oracle eAM的初步理解
- oracle内部结构
- 修改oracle为归档模式
- 连接Oracle与Hadoop(3) 使用OLH加载Hbase到Oracle