OracleDB

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

2019年3月4日

こんにちは!土門大貴(daikidomon)です。

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

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

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

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

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

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

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;

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

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

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;

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

関連記事

-OracleDB

Copyright© スタートアップIT企業社長のブログ , 2020 All Rights Reserved.