使用 Oracle Docker 時,常會遇到使用者密碼過期
一般的使用者密碼過期,可使用 sys 權限登入後執行語法解鎖
-- USERID:輸入要解鎖的使用者、PASSWORD:輸入要指定的使用者密碼
ALTER USER USERID IDENTIFIED BY PASSWORD;
ALTER USER USERID ACCOUNT UNLOCK;
COMMIT;
但若 sys 密碼
過期
沒辦法由一般使用者登入修改
這時需要先用 command line 執行指令進入 docker container
docker exec -it container_name bash -c "source /home/oracle/.bashrc; sqlplus /nolog"
登入後,會直接進入 sqlplus 畫面
切換sysdba權限
conn as sysdba
-- 帳號輸入sys,密碼不用輸入,直接按下enter即可
接著就可以輸入語法來解鎖sys
ALTER USER SYS IDENTIFIED BY Passw0rd;
ALTER USER SYS ACCOUNT UNLOCK;
COMMIT;

這樣就修改密碼並解鎖成功
輸入exit即可退出container