Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

ORA-28001 "the password has expired" Oracle 11gからパスワードポリシーがデフォルト180日

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

Opensourcetech by Takahiro Kujirai