ORA-28000: The account is locked(アカウントがロックされている)
Oracle意味
接続先のデータベースユーザーアカウントがロックされているため、ログオンに失敗する。
原因
プロファイルの FAILED_LOGIN_ATTEMPTS 上限を超えた (パスワードの誤りの繰り返し)、または DBA が手動でアカウントをロックした (ALTER USER ... ACCOUNT LOCK)。ログイン失敗によるロックは PASSWORD_LOCK_TIME 経過後に自動で解除される。注: PASSWORD_LIFE_TIME の期限切れではアカウントはロックされず、EXPIRED / EXPIRED(GRACE) に移行し ORA-28001/ORA-28002 を返す。
対処方法
アカウントの状態を確認する: SELECT username, account_status, lock_date FROM dba_users WHERE username = 'APP_USER'。ロックを解除する: ALTER USER app_user ACCOUNT UNLOCK。再発防止のため、ログイン失敗の発生源を特定し、必要ならプロファイルの FAILED_LOGIN_ATTEMPTS を見直す。パスワードが期限切れなら新しいパスワードを設定する。
同じデータベースの他の項目
- ORA-00257Archiver error. Connect internal only, until freed(アーカイバエラー)
- ORA-01000Maximum open cursors exceeded(オープンカーソルの最大数を超過)
- ORA-00018Maximum number of sessions exceeded(セッションの最大数を超過)
- ORA-01578Oracle data block corrupted (file #, block #)(Oracle データブロックの破損)
- ORA-01722Invalid number(数値が無効)
- ORA-02049Timeout: distributed transaction waiting for lock(分散トランザクションのロック待機タイムアウト)
- enq: TX - row lock contention待機: 別トランザクションが保持する行レベルロックでセッションがブロックされている