次のステートメントを使用して、アカウントのロックを解除できます。
ALTER USER username ACCOUNT UNLOCK
しかし、アカウントが現在ロックアウトされていることを確認するには、どのステートメントを使用できますか?
Dbaの回答 がすでに示しているように、dba_users
ビューからアカウントステータス情報にアクセスできます。適切な権限を持つユーザーと接続すると、これは「非アクティブなユーザー」の識別にも使用できます。
SELECT username, account_status, created, lock_date, expiry_date
FROM dba_users
WHERE account_status != 'OPEN';
アカウントが作成されたときに、ロック/期限切れのアカウントごとに、その状態(ロック、期限切れ、期限切れおよびロック、expired(grace))、およびアカウントがロックまたは期限切れになった時間を通知します。 「クリーンアップ」に役立ちます。ただし、一部のアカウントは、セキュリティ上の理由で接続されず、Oracle自体またはアプリケーションによって必要とされる「データホルダー」である場合があることを考慮する必要があります。それらの良い例は、システムアカウントOUTLN
です。そのため、使用/不要であることがわかっているアカウントのみを「クリーンアップ」するように注意してください。
使用する DBA_USERS
見る。
SELECT username, account_status
FROM dba_users;
ユーザー名を指定してこれをクエリすることもできます:
select username, account_status
from dba_users
where username = 'your_user_name';