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