sqlplus "/ as sysdba" 連不上或者connect auxiliary sys/oracle@sdyprod;
報ora-01031:insufficient privileges解決方法
注意多個數據庫實例時候,set ORACLE_SID='',
1、檢查sqlnet.ora(WINDOWS下位於%ORACLE_HOME%NETWORKADMIN目錄)是否包含這句:SQLNET.AUTHENTICATION_SERVICES=(NTS),沒有的話加上
2、檢查登陸windows的用戶(administrator或安裝oracle時候使用的用戶)是不是在包含在ORA_DBA組中,域用戶沒有連上域服務器時就可能出現這種現象。
3. 要保證 remote_login_passwordfile 參數 = EXCLUSIVE .
4. 看看是否需要使用orapassw生成口令文件 .
一種解決方法案例:
1、檢查系統參數:
SQL> show parameter password
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile string EXCLUSIVE
2、
select * from v$pwfile_users;
SQL>
為空
3、
SQL> grant sysdba to sys;
grant sysdba to sys
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
4、建立password文件
D:/>orapwd file="D:/oracle/product/10g/db_1/database/PWDoratest.ora" password=gp
oswong entries=10
5、
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
SYS正常顯示出來。
6、重新在遠程以SYSDBA登錄,可正常使用。
如果口令文件創建的有問題,也是會報如下的錯誤:
ora-01031:insufficient privileges
口令文件的命名格式應為orapwsid,並且sid是區分大小寫的。由於Target Database連接Auxiliary Database時需要驗證口令,
如果違反了以上規則,將會提示ORA-01031: insufficient privileges。
我在用linux創建duplicate數據庫的時候 就是因為口令文件創建的路徑和名稱不對才遇到這個錯誤
-----end-------
--本篇文章轉自:http://blog.csdn.net/wyzxg/article/details/4301266
oracle 有兩種權限:
一種是系統權限,一種是oracle自己的權限.
你用的肯定是系統權限吧. 在windowns的成員權限設置中,給你現在用的用戶授予所有的權限試試呢?
主要還是用戶權限問題,實際上你可以關心一下用戶的權限,角色的設定等,就很好理解這個問題了。在數據庫中要具有相應的權限才能執行相應的操作,包括你的登錄,建立數據庫表,視圖,等等,當然也包括了需要做的kill session這裡你需要賦權如下:grant execute on p_kill_user_session to rtgs_liush ; 操作的時候用命令:
EXEC SYS.P_KILL_USER_SESSION(1679);