デフォルトでOracleユーザーアカウントの有効期限は180日に設定されている。パスワード有効期限が切れるとログイン時に下記のエラー発生。
ORA-28001: ユーザーのアカウントが期限切れです。パスワードを変更する必要があります。The password has expiredThe password has expired.
Oracle(オラクル)ユーザーアカウントのデフォルトのパスワード有効期限を無期限に変更する手順例を下記した。
How to change Oracle acount default password expiration policy.
環境:Oracle 12c, 11, CentOS 6,7
---- log-------------------------------------------------------------------
$ sqlplus / as sysdba;
SQL> col username format a15;
SQL> col profile format a10;
SQL> col resource_name format a20;
SQL> col limit format a20;
SQL> select username,profile from dba_users where username in('TEST1','TEST1');
USERNAME PROFILE
--------------- ----------
TEST1 DEFAULT
TEST2 DEFAULT
21 rows selected.
SQL> select profile, resource_name, limit from dba_profiles where profile = 'DEFAULT' and resource_name = 'PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME LIMIT
---------- -------------------- --------------------
DEFAULT PASSWORD_LIFE_TIME 180
-- パスワード有効期限を無期限にする。 unlimit default password
SQL> alter profile DEFAULT limit PASSWORD_LIFE_TIME unlimited;
-- パスワード有効期限を3650日にする。 set password valid period to 3650 days.
-- SQL> alter profile DEFAULT limit PASSWORD_LIFE_TIME 3650;
Profile altered.
SQL> select profile, resource_name, limit from dba_profiles where profile = 'DEFAULT' and resource_name = 'PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME LIMIT
---------- -------------------- --------------------
DEFAULT PASSWORD_LIFE_TIME UNLIMITED
SQL> commit;
Commit complete.
--- END of log -----------------------------------------------------------------------
[END]