25.10 連続認証失敗アカウントロック状態のユーザを確認する
実行者 DBA権限保持者又は監査人
連続認証失敗アカウントロック状態のユーザを確認するには,ディクショナリ表を検索します。検索例を次に示します。
なお,システム定義スカラ関数ADD_INTERVALを使用するため,データディクショナリLOB用RDエリアが必要になります。データディクショナリLOB用RDエリアがない場合は作成してください。
- 例題1
-
連続認証失敗アカウントロック状態のユーザを表示します(アカウントロック期間に無期限を指定していない場合)。
SELECT USER_ID,CON_LOCK_TIME FROM MASTER.SQL_USERS WHERE CAST(CON_LOCK_TIME AS CHAR(19)) >= (SELECT MASTER.ADD_INTERVAL(CAST(CURRENT_TIMESTAMP(0) AS CHAR(19)),-INT_VALUE) FROM MASTER.SQL_SYSPARAMS WHERE PARAM_KEY = 'LOCK_MINUTE_CODE') AND CON_LOCK_TIME IS NOT NULL
- 実行結果
USER_ID CON_LOCK_TIME --------------------- USER1 2005-01-19 11:37:58 USER2 2005-01-19 12:06:11
- 〔説明〕
-
USER1とUSER2が連続認証失敗アカウントロック状態です。
- 例題2
-
連続認証失敗アカウントロック状態のユーザを表示します(アカウントロック期間に無期限を指定している場合)。
SELECT USER_ID,CON_LOCK_TIME FROM MASTER.SQL_USERS WHERE CON_LOCK_TIME IS NOT NULL
- 実行結果
USER_ID CON_LOCK_TIME --------------------- USER1 2005-01-19 13:17:23 USER2 2005-01-19 13:17:35
- 〔説明〕
-
USER1とUSER2が連続認証失敗アカウントロック状態です。
- 例題3
-
連続認証失敗アカウントロック状態でないユーザを表示します(アカウントロック期間に無期限を指定していない場合)。
SELECT USER_ID,CON_LOCK_TIME FROM MASTER.SQL_USERS WHERE CAST(CON_LOCK_TIME AS CHAR(19)) < (SELECT MASTER.ADD_INTERVAL(CAST(CURRENT_TIMESTAMP(0) AS CHAR(19)),-INT_VALUE) FROM MASTER.SQL_SYSPARAMS WHERE PARAM_KEY = 'LOCK_MINUTE_CODE') OR CON_LOCK_TIME IS NULL
- 実行結果
USER_ID CON_LOCK_TIME --------------------- USER1 NULL AUDITOR1 NULL
- 〔説明〕
-
USER1とAUDITOR1が連続認証失敗アカウントロック状態ではありません。
- 例題4
-
連続認証失敗アカウントロック状態でないユーザを表示します(アカウントロック期間に無期限を指定している場合)。
SELECT USER_ID,CON_LOCK_TIME FROM MASTER.SQL_USERS WHERE CON_LOCK_TIME IS NULL
- 実行結果
USER_ID CON_LOCK_TIME --------------------- USER1 NULL AUDITOR1 NULL
- 〔説明〕
-
USER1とAUDITOR1が連続認証失敗アカウントロック状態ではありません。
- 注意事項
-
フロントエンドサーバとディクショナリサーバが異なるサーバマシンに配置されている場合,サーバマシンに設定されている時間を合わせてください。時間が異なっていると,正しい検索結果が得られない可能性があります。
- 参考
-
連続認証失敗アカウントロック状態になった日時がディクショナリ表のSQL_USERSに格納されます。この日時は連続認証失敗アカウントロック状態が解除されても,残ったままになります。ユーザ認証(CONNECT)に成功したときに日時がクリアされます。