sqlplus "/ as sysdba" 連不上,報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數據庫的時候 就是因爲口令文件創建的路徑和名稱不對才遇到這個錯誤