本機 Oracle 11g 因長期未用導致普通用戶 (如 root) 密碼遺忘。利用 SYS AS SYSDBA 特權連線,三條指令即可重置密碼並解鎖帳號。
sqlplus /nolog
CONNECT / AS SYSDBA
ALTER USER root ACCOUNT UNLOCK;
ALTER USER root IDENTIFIED BY new_password;
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 驗證。ALTER SESSION SET CONTAINER = pdb_name; 再操作。