今天做实验做到《Oracle数据库管理员(DBA)登录的认证》,了解到oracle可以用4种认证方式验证:数据字典验证,操作系统验证,口令文件验证,基于网络的验证。
当我做到设置以操作系统认证的时候,我把sqlnet.ora中的文件中加入语句:SQLNET.AUTHENTICATION_SERVICES=
(NTS) 之后conn / as
sysdba之后发现连接不上,提示我“权限不够”,于是我用sys用户把数据库重启了下,发现还是不行。
我郁闷了,各种查资料,得到的答案也是各种版本。最后论坛里一位大神的回答提醒了我:操作系统用户要放在ORA_DBA组里。恍然大悟!之前在我的win7安装oracle的时候是用的名为“llx”的用户,但是后来我发现这个普通用户很多事情都得需要管理员权限,所以索性我就把默认用户设置成为了Administrator(操作系统中的管理员用户),oarcle当时安装的时候默认把当前操作系统用户“llx”加入到了ORA_DBA组,但是Administrator用户并没有!哈哈很有可能是这个原因!
怀着激动的心情,我打开 控制面板\系统和安全\管理工具\计算机管理\本地用户和组\组
找到了ORA_DBA组,把Administrator用户添加进去,重启计算机。然后打开sqlplus:
SQL> conn / as sysdba
已连接。
搞定!
总结:两个字:蛋疼!windows下oracle会自动把当前操作系统用户加入到ORA_DBA组,所以就大意了,出了问题光想着是数据库操作出了问题,没想到错误出在操作系统的用户分组上。。。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。