オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【Oracle Database】『ORA-28000:アカウントがロックされています。』エラーの原因、対処・解決方法

 

『ORA-28000:アカウントがロックされています。』エラーの原因

ORA-28000は、以下の要因で発生します。

 

  1. データベース管理者がアカウントをロックした
  2. ログイン失敗できる許容回数の上限を超えてパスワードを誤って入力した

 

「2.」ですが、そんなにパスワードを間違えることがあるか?と思いますが、セキュリティの観点で定期的にパスワード変更をしている場合、変更したパスワードが周知されておらず、ロックされてしまったというケースに何度か遭遇したことがあります。

 

パスワード間違いの場合は、以下のようなエラーが表示されます。

f:id:auroralights:20201212220212p:plain

許容回数を超えてパスワード間違いをすると、アカウントがロックされて以下のエラーが表示されます。

f:id:auroralights:20201212215456p:plain

 

『ORA-28000:アカウントがロックされています。』エラーの解消方法

管理者権限でログインして、ロックされたユーザーのアカウントを解除することでエラーが解消されます。

 

1.管理者権限でログインする

sqlplus / as sysdba

f:id:auroralights:20201212221035p:plain

 

2.アカウントの状態を確認する

select username, account_status, profile from dba_users where username = 'TESTUSER';

※TESTUSERというアカウントがロックされたのでusername = 'TESTUSER'を指定。

 

LOCKED(TIMED)がログイン失敗再試行回数の上限をオーバーした場合のACOUNT_STATUSになります。

f:id:auroralights:20201121011610p:plain

 

3.アカウントのロックを解除する

alter user TESTUSER account unlock;

※TESTUSERのアカウントをアンロックします。

 

4.ACOUNT_STATUSがOPENになったことを確認する

select username, account_status, profile from dba_users where username = 'TESTUSER';

 

今まで通りにログインできることを確認して、終了となります。

パスワードの期限切れのエラーは以下で紹介しています。 
auroralights.hatenablog.com