Hitachi

ノンストップデータベース HiRDB Version 10 システム運用ガイド(UNIX(R)用)


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)に成功したときに日時がクリアされます。