首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle 11g 忘記用戶密碼?Sysdba 三步驟重置解鎖

     編輯:Oracle 教學

Oracle 11g 忘記用戶密碼?Sysdba 三步驟重置解鎖

本機 Oracle 11g 因長期未用導致普通用戶 (如 root) 密碼遺忘。利用 SYS AS SYSDBA 特權連線,三條指令即可重置密碼並解鎖帳號。

操作步驟

  1. 開啟命令列,進入 SQL*Plus:
    sqlplus /nolog
  2. 以 SYSDBA 身分連線 (無需密碼,OS 驗證):
    CONNECT / AS SYSDBA
  3. 解鎖帳號 (若被鎖定):
    ALTER USER root ACCOUNT UNLOCK;
  4. 重置密碼:
    ALTER USER root IDENTIFIED BY new_password;
  5. 驗證登入:
    CONNECT root/new_password
    -- Connected.

原理解析

  • / AS SYSDBA 使用作業系統認證 (OS Authentication),屬於 ORA_DBA (Windows) 或 dba 群組 (Linux/Unix) 的用戶可直接登入,繞過資料庫密碼驗證。
  • ACCOUNT UNLOCK 解除 FAILED_LOGIN_ATTEMPTS 導致的鎖定。
  • IDENTIFIED BY 直接更新 USER$ 中的密碼雜湊值,即時生效。

注意事項

  • 生產環境嚴禁使用弱密碼,需遵循密碼複雜度驗證函數 (VERIFY_FUNCTION)。
  • 若連 SYS 密碼也忘記,需用 orapwd 重建密碼檔或修改 sqlnet.ora 設 SQLNET.AUTHENTICATION_SERVICES=(NTS) 走 OS 驗證。
  • 12c+ 多租戶架構下,需切換至正確 PDB:ALTER SESSION SET CONTAINER = pdb_name; 再操作。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved