我在本地建的Oracle数据库在调试自己写的存储过程的时候提示缺少 debug connect session 权限,一般情况下根据这个提示直接用管理员账号登录进去,执行
grant debug connect session to '你的用户名'这样的sql就行了,但是问题来了,当我在命令提示符窗口用 sqlplus /nolog,然后用conn /as sysdba命令进行登录的时候,会提示 ORA-01031: insufficient privileges 无效的权限这样的错误,如图:
以前也遇到过,网上找了很多相关的内容,但是最终还是没有弄好。
今天终于把这个问题解决了,现在就记在这里,以便其他人遇到类似的问题可以参考。
实际上这个问题涉及到密码文件重置的问题,只要重置了密码之后,然后就可以使用conn sys/yournewcode as sysdba这样的形式登录管理员账号了,然后再给普通用户授权相应的权限就可以解决问题了。
第一步,重置密码文件、首先找到自己的Oracle的密码文件的安装路径,我的安装目录的路径为:C:appWeiproduct11.2.0dbhome_1databasePWDorcl2.ora,这里我再贴上我自己本地的安装路径的图,
打开命令提示符窗口,然后执行命令如下:
OPW-00001: 无法打开口令文件,有这样的提示说明你没有使用administrator登录命令提示符,所以,接下来用administrator来登录
命令提示符窗口,再执行重置密码文件的命令,如下,
这里就没报错,说明密码文件重置成功了。注意 orapwd file=C:/app/Wei/product/11.2.0/dbhome_1/database/PWDorcl2.ora password=admin entries=40 force=y;
这一行命令中的password=admin中的admin,这个密码就是你以后的管理员密码了,当然,要是你忘了这个密码,你也可以再次重新执行这个命令,
把密码换成你想要的密码。
第二步,使用dba管理员账号登录Oracle,给用户授权。
conn sys/admin as sysdba这个命令中的admin就是第一步中使用
orapwd file=C:/app/Wei/product/11.2.0/dbhome_1/database/PWDorcl2.ora password=admin entries=40 force=y;
这个命令中的admin。
步骤就分为这两个步。注意点:重置密码文件的时候一定要用administrator登录命令提示符。