系統帳戶被鎖定,權限不足,無法以 sysdba 身份登錄
我已經研究了網路,但我找不到與我完全相同的情況,所以我發布了這條消息。
我正在通過遠端桌面連接連接到遠端伺服器(Win2k3 伺服器)。此伺服器已安裝(從 v$version 中選擇 *):
- Oracle 數據庫 10g 企業版 10.2.0.5.0 版 - 產品
- PL/SQL 版本 10.2.0.5.0 - 生產
- 核心 10.2.0.5.0 生產
- 用於 32 位 Windows 的 TNS:版本 10.2.0.5.0 - 生產
- NLSRTL 版本 10.2.0.5.0 - 生產
執行這兩個句子都會返回錯誤:
c:\> sqlplus SQL> conn / as sysdba Insufficient privileges SQL> connect system/**** Account locked
遠端電腦是安裝數據庫的地方,所以我沒有連接到遠端數據庫。windows 使用者帳戶屬於 Administrator 和 Ora_DBA Windows 組。
Db 只有一個使用者可用(我們開發的應用程序使用的那個),但它沒有足夠的權限來更改 SYSTEM 帳戶並解鎖它。
我不知道我還能做什麼,因為我無法以管理員身份連接到 de db。我希望我已經為我的問題提供了足夠的數據,如果我遺漏了什麼,請詢問。
**編輯:**我再次檢查了 Windows 使用者成員資格:管理員、ora_dba、使用者和“遠端工作場所使用者”(希望我已經翻譯了最後一項)。
PWD%ORACLE_SID%.ora
文件不存在(假設這是正確的)。**EDIT2:**我正在連接到本地數據庫。我找到了 3 個安裝的 SQLPLUS:一個來自 Oracle Forms 6i(是的,我知道它確實是舊版本),另一個來自 Oracle 10 客戶端,最後一個來自 Oracle 10 DB。
HKLM/SOFTWARE/ORACLE
正如我在評論中所讀到的,我不知道在 中尋找 ORACLE_HOME 。在系統資料庫中,我找到的所有條目都指向 Oracle Forms 文件夾。我嘗試使用完整路徑執行sqlplus,屬於數據庫安裝的sqlplus,最後我已經連接conn / as sysdba
並執行了解鎖帳戶語句,所以問題解決了,因為我的目標是解鎖系統帳戶。
windows 使用者帳戶屬於 Administrator 和 Ora_DBA Windows 組。
仔細檢查這一點,因為當您不是 ora_dba 組的成員時,您會收到上述錯誤。
檢查
%ORACLE_HOME%/network/admin/sqlnet.ora
以下行:
SQLNET.AUTHENTICATION_SERVICES=(NTS)
如果設置為
NONE
,則禁用使用 登錄/ as sysdba
,但會導致ORA-01017: invalid username/password; logon denied
錯誤。最後,
SYS
密碼儲存在數據庫之外的一個文件中,在 Windows 上是%ORACLE_HOME%/database/PWD%ORACLE_SID%.ora
. 您可以重新創建它(提供新的 SYS 密碼):
orapwd file=%ORACLE_HOME%/database/PWD%ORACLE_SID%.ora force=y
之後,您應該能夠使用給定的密碼登錄:
connect sys/password as sysdba