[Oracle] sqlplus / as sysdba ora-01031 insufficient privileges
阿新 • • 發佈:2020-08-09
一. 問題描述
今天在新機子(WINDOWS)上搭建Oracle環境,完了之後通過SQL*PLUS本地登入時報錯:
ora-01031 insufficient privileges ——-許可權不足
二. 解決過程
錯誤排除
1. 當時首先想到的是oracle不允許用sqlplus工具登入,但隨即想法打消
sqlplus sys/admin as sysdba --成功登入!
2. 帶詳細資訊指定本機IP和例項登入
sqlplus sys/admin@127.0.0.1:1521/ORCL as sysdba --成功登入!
3. 用PLSQL developer登入也成功
猜測:以上幾種登入方式均屬於Oracle密碼登入方式,而 / as sysdba是以作業系統方式登入到Oracle的
錯誤定位
用作業系統本地登入時出現錯誤,極有可能是因為當前windows使用者不在Oracle准許登入的使用者組內。
解決辦法
1. 用命令開啟windows使用者組管理,把安裝Oracle的使用者新增到ORA_DBA使用者組裡(Liunx系統此使用者組名稱不一樣)
compmgmt.msc
2. 開啟$ORACLE_HOME/NETWORK/ADMIN/sqlnet.ora
確保SQLNET.AUTHENTICATION_SERVICES= (NTS) -- 允許本地登入
3. 重啟電腦(為了更新並應用剛修改的使用者組)
4. 測試
C:\Users\Jan>sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 14 22:12:29 2015 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected.
三. 結果總結
利用 sqlplus / as sysdba 本機登入必備兩個條件
1. 當前使用者在Oracle dba的使用者群組內
2.sqlnet.ora檔案引數SQLNET.AUTHENTICATION_SERVICES= (NTS)