Database OracleDB インフラ

[Oracle] パスワードプロファイルを確認・変更する手順

2019年3月4日

こんにちは!シミダイ(@shimidai2100)です。

Oracle DatabaseではDB作成時にデフォルトでパスワードポリシーが適用され、一定期間経過するとユーザーがロックされてしまいます。

なおOracle Databaseではプロファイルでパスワードポリシーを管理しており、プロファイルを変更することでパスワードポリシーを変更することができます。

今回はそんなOracle Databaseのパスワードポリシーを確認方法と変更方法を紹介します。


パスワードプロファイルの確認方法

まずはパスワードプロファイルの確認方法は「DBA_PROFILES」ビューを確認します。

今回の例ではデフォルトプロファイルの「DEFAULT」を確認するようにしています。

17行目でプロファイル名を指定してください。

set LINES 120
set PAGES 100
set TERM off
clear col
col PROFILE format a15
col RESOURCE_NAME format a30
col RESOURCE_TYPE format a15
col LIMIT format a15
select
  PROFILE,
  RESOURCE_NAME,
  RESOURCE_TYPE,
  LIMIT
from
  DBA_PROFILES
where
  PROFILE = 'DEFAULT'
order by
  RESOURCE_TYPE,
  RESOURCE_NAME;

実行結果は以下になります。

ALTER PROFILE DEFAULT LIMIT
   FAILED_LOGIN_ATTEMPTS UNLIMITED
   PASSWORD_LOCK_TIME UNLIMITED
   PASSWORD_LIFE_TIME UNLIMITED
   PASSWORD_GRACE_TIME UNLIMITED;

以下が実行例になります。

SQL> select
  2    PROFILE,
  3    RESOURCE_NAME,
  4    RESOURCE_TYPE,
  5    LIMIT
  6  from
  7    DBA_PROFILES
  8  where
  9    PROFILE = 'DEFAULT'
 10  order by
 11    RESOURCE_TYPE,
 12    RESOURCE_NAME;

PROFILE         RESOURCE_NAME                  RESOURCE_TYPE   LIMIT
--------------- ------------------------------ --------------- ---------------
DEFAULT         COMPOSITE_LIMIT                KERNEL          UNLIMITED
DEFAULT         CONNECT_TIME                   KERNEL          UNLIMITED
DEFAULT         CPU_PER_CALL                   KERNEL          UNLIMITED
DEFAULT         CPU_PER_SESSION                KERNEL          UNLIMITED
DEFAULT         IDLE_TIME                      KERNEL          UNLIMITED
DEFAULT         LOGICAL_READS_PER_CALL         KERNEL          UNLIMITED
DEFAULT         LOGICAL_READS_PER_SESSION      KERNEL          UNLIMITED
DEFAULT         PRIVATE_SGA                    KERNEL          UNLIMITED
DEFAULT         SESSIONS_PER_USER              KERNEL          UNLIMITED
DEFAULT         FAILED_LOGIN_ATTEMPTS          PASSWORD        UNLIMITED
DEFAULT         INACTIVE_ACCOUNT_TIME          PASSWORD        UNLIMITED
DEFAULT         PASSWORD_GRACE_TIME            PASSWORD        UNLIMITED
DEFAULT         PASSWORD_LIFE_TIME             PASSWORD        UNLIMITED
DEFAULT         PASSWORD_LOCK_TIME             PASSWORD        UNLIMITED
DEFAULT         PASSWORD_REUSE_MAX             PASSWORD        UNLIMITED
DEFAULT         PASSWORD_REUSE_TIME            PASSWORD        UNLIMITED
DEFAULT         PASSWORD_VERIFY_FUNCTION       PASSWORD        NULL

17行が選択されました。

 

パスワードプロファイルの確認方法:alter profile

隠しパラメータを変更するには「alter profile」文で行います。

alter profile <プロファイル> LIMIT
   FAILED_LOGIN_ATTEMPTS <COUNT> | UNLIMITED
   PASSWORD_LOCK_TIME <DAYS> | UNLIMITED
   PASSWORD_LIFE_TIME <DAYS> | UNLIMITED
   PASSWORD_GRACE_TIME <DAYS> | UNLIMITED;

以下が実行例になります。

今回の例ではデフォルトプロファイルの「DEFAULT」のパスワードポリシーの制限をすべて「UNLIMITED」にする例です。

SQL> ALTER PROFILE DEFAULT LIMIT
  2     FAILED_LOGIN_ATTEMPTS UNLIMITED
  3     PASSWORD_LOCK_TIME UNLIMITED
  4     PASSWORD_LIFE_TIME UNLIMITED
  5     PASSWORD_GRACE_TIME UNLIMITED;

プロファイルが変更されました。

 

関連記事

-Database, OracleDB, インフラ

Copyright© shimidai2100 , 2020 All Rights Reserved.