Oracleでアカウントがロックされたら

ユーザがロックされちゃった!
そんなとーきーは~

SYS じゃなくても oracle ユーザで sqlplus が打てれば入れる

SYS じゃなくても oracle ユーザでsqlplusが呼び出せればとりあえず DB に接続できます。

sqlplus /nolog  

ロックされたユーザの確認

次にSYSDBAにスイッチして、ユーザの状態を確認します。

-- sysdbaになる  
connect / as sysdba  
-- 対象ユーザの状態を確認(下記の例はSYSがユーザ名) ロックされたユーザは ACCOUNT_STATUS が LOCKEDになる  
SELECT USERNAME,USER_ID,ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME = 'SYS';  

ユーザのアンロック

alter でアカウントステータスを変更します。

-- 対象ユーザをアンロック(下記の例はSYSがユーザ名)  
ALTER USER SYS ACCOUNT UNLOCK;  

これで作業は完了です。

ロックされている全ユーザを確認するには

ロックされている全ユーザを確認するには、ステータスが OPEN じゃないユーザを探せばよいです。
ロック時間で並び替えると、最近ロックされたユーザがわかりやすくなります。

SELECT USERNAME,ACCOUNT_STATUS,LOCK_DATE FROM DBA_USERS WHERE ACCOUNT_STATUS <> 'OPEN' ORDER BY LOCK_DATE;  

パスワードわからないんだけど!

パスワードが分からなければ再設定。

-- SYSユーザのパスワードを `oracle` に変更する  
ALTER USER sys IDENTIFIED BY oracle;  

参考資料

オラクルアカウントロック解除の方法 - 日々のメモ
https://blog.goo.ne.jp/gets2004jp/e/a0e6b588906ef93ced19ec889422967e

ORACLE  アカウントがロックされたら - 朧の.NET の足跡
https://www.oborodukiyo.info/ORACLE/12c/ORA-AccountLock

Subscribe to 猫好きが猫以外のことも書く

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe