ORA-01017 When Connect SYSDBA by SQL Developer

这个标题是我解决这个问题时候,从另一个网站看到的。问题应该比较简单,不过这里记录下。在新公司报道一个月不到,这两天没什么事情,决定完善一下自己电脑的开发环境,从官网上下载了oracle11的版本,在本地安装,同时采用sql developer,体验一下oracle自己开发的数据库操作图形工具。

    现象:成功安装了ORACLE11,在SQLPLUS里面成功地用DBA帐号连接数据库,但是通过SQL DEVELOPER这样的图形界面工具就是不行。(可能PLSQL DEVELOPER也会有同样的问题)。具体原因是:数据库密码文件缺失了。那么为什么在本地使用SQL*Plus是正常的,这实际上是一个错觉,因为在Windows中Oracle默认安装以后会在sqlnet.ora文件中设置SQLNET.AUTHENTICATION_SERVICES = (NTS),这表示支持“Windows NT native authentication”方式登陆数据库,也就是属于OSDBA组的Windows用户不用提供密码也可以通过SYSDBA登陆数据库。sqlnet.ora文件位于%ORACLE_HOME%\network\admin目录下。我们随便使用一个不存在的用户名密码都是可以登录数据库的。

    解决方法:修改oracle安装目录下,network\ADMIN\sqlnet.ora文件,将SQLNET.AUTHENTICATION_SERVICES的值设为NONE。

    于是可以使用sql developer操作数据库拉。

    参考资料:http://www.dbform.com/html/2010/1044.html

 

你可能感兴趣的:(11)