先说下sqlplus / as sysdba方式登录本地数据库(该方式登录的用户为sys,可用命令show user查看)
最近试了下C:\Users\extra3578>sqlplus / as sysdba方式登录本地数据库以及下面方式登录,
C:\Users\extra3578>sqlplus /nolog /*----运行sqlplus命令,进入sql*plus环境,/nolog参数表示不以任何用户登录*/
SQL>connect / as sysdba /*在进入sql*plus之后,可以使用conn连接到其他用户*/
均出现ERROR: ORA-01031: insufficient privileges错误
原因是:oracle用户组(ora_dba)里没有加入当前windows操作系统用户,所以直接登陆时显示无权限
解决办法一:在“计算机管理”界面找到“本地用户和组”-“组”。并在相应的页面中找到名字为:ora_dba的组。
点击这个ora_dba的组,在弹出页面中查看下当前登录用户是否在这个组内,如果没在,那么点击添加
由于我的windows8.1系统版本没有用户组,不能采用此方法,所以用方法二解决。
解决办法二:(不知道不使用管理员的命令提示符是否可行,可自行测试)
打开命令提示符(管理员),进入之后C:\Windows\system32>net user ,查看windows用户
我这仅有一个管理员账户,将此账户添加到oracle用户组中,使用命令net localgroup ora_dba extra3578 /add
添加完成后再次重试slqplus / as sysdba,成功。
使用命令net localgroup ora_dba ,查看指定ora_dba用户组的成员