DBA 遺失 SYS/SYSTEM 密碼是常見情境。本文提供兩種標準解決路徑:作業系統驗證登入與密碼檔重建。
sqlplus "/ as sysdba"
SQL> STARTUP;
SQL> ALTER USER system IDENTIFIED BY new_password;
# $ORACLE_HOME/network/admin/sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES = (NTS) -- Windows
# 或 (NONE) -- Unix/Linux 依賴 OS 群組驗證
# 修改後重啟監聽器與資料庫
重啟後即可用 sqlplus "/ as sysdba" 免密碼進入。
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SELECT * FROM V$PWFILE_USERS; 記錄具 SYSDBA/SYSOPER 權限的用戶。SHUTDOWN IMMEDIATE;$ORACLE_HOME/dbs/PWD.ora (Unix)或 database/PWD.ora (Windows)。orapwd file=$ORACLE_HOME/dbs/PWD.ora password=new_sys_password entries=5 STARTUP NOMOUNT;
-- 或 CONNECT SYS/new_password AS SYSDBAGRANT SYSDBA TO user_name;(依步驟 1 記錄補授)。ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;平時應確保 OS DBA 群組配置正確、sqlnet.ora 設定 NTS 或 NONE、定期備份密碼檔,關鍵時刻才能從容應對。