我在本地建的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:\app\Wei\product\11.2.0\dbhome_1\database\PWDorcl2.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登錄命令提示符。