web-dev-qa-db-ja.com

ロックされたアカウントのリストを取得する方法/アカウントがロックされていることを確認する方法は?

次のステートメントを使用して、アカウントのロックを解除できます。

ALTER USER username ACCOUNT UNLOCK

しかし、アカウントが現在ロックアウトされていることを確認するには、どのステートメントを使用できますか?

18
Mikhail

Dbaの回答 がすでに示しているように、dba_usersビューからアカウントステータス情報にアクセスできます。適切な権限を持つユーザーと接続すると、これは「非アクティブなユーザー」の識別にも使用できます。

SELECT username, account_status, created, lock_date, expiry_date
  FROM dba_users
 WHERE account_status != 'OPEN';

アカウントが作成されたときに、ロック/期限切れのアカウントごとに、その状態(ロック、期限切れ、期限切れおよびロック、expired(grace))、およびアカウントがロックまたは期限切れになった時間を通知します。 「クリーンアップ」に役立ちます。ただし、一部のアカウントは、セキュリティ上の理由で接続されず、Oracle自体またはアプリケーションによって必要とされる「データホルダー」である場合があることを考慮する必要があります。それらの良い例は、システムアカウントOUTLNです。そのため、使用/不要であることがわかっているアカウントのみを「クリーンアップ」するように注意してください。

24
Izzy

使用する DBA_USERS 見る。

SELECT username, account_status
FROM dba_users;
5
Dba

ユーザー名を指定してこれをクエリすることもできます:

select username, account_status
from dba_users
where username = 'your_user_name';
1
Mohammed Nouh