LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。
ちょっとはまったのでメモ。
Oracle 11g R1からパスワードポリシーのデフォルト設定が変更され、
・パスワード有効期限(PASSWORD_LIFE_TIME)が無期限から180日
・パスワード期限切れ後の猶予期間(PASSWORD_GRACE_TIME)が無期限から7日
・指定回数失敗後、ロックされる日数(PASSWORD_LOCK_TIME)が無期限から1日
・ロックされるまでのログイン試行失敗回数(FAILED_LOGIN_ATTEMPTS)は10日 ※変更なし
https://blogs.oracle.com/sec/oracle_database_11g_1
https://docs.oracle.com/cd/E51614_01/doc.12104/e49732/genericdb.htm
https://docs.oracle.com/cd/E16338_01/server.112/b56299/statements_2008.htm
ユーザーに適用されているプロファイルの確認
select USERNAME, PROFILE from DBA_USERS where USERNAME = '<ユーザー名>'
プロファイルの内容を確認
select PROFILE, RESOURCE_NAME, RESOURCE_TYPE, LIMIT from DBA_PROFILES where PROFILE = 'DEFAULT' and RESOURCE_TYPE = 'PASSWORD'
デフォルトプロファイルのパスワード有効期限を無期限化
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;
デフォルトプロファイルのその他パラメータも無期限化
alter profile default limit FAILED_LOGIN_ATTEMPTS UNLIMITED alter profile default limit PASSWORD_LOCK_TIME UNLIMITED alter profile default limit PASSWORD_GRACE_TIME UNLIMITED
ド忘れしてると、突然DB接続できなくなるトラップですね。
Oracle DBやってる方にとっては当たり前かもしれんですがw