仕事上で経験したメモです。今回は本番環境で発生してしまった失敗談です。
昨年、とある案件で、ユーザに導入してもらったデータベースORACLE 11g において、当方が開発したシステムがある日突然データベースへ接続できなくなったという問い合わせを受け、調査したところ、ORA-28001のパスワード期限切れが発生していた。ネットで色々調べたところ、Oracle 11gからデフォルトでパスワードに有効期限180日が付いていることが判明。今まで8i~10gを触ってきていたが、11gについては新機能や変更点については調査したものの、こんな大事なことが漏れていた。。(本来は全ての変更点を把握するべきなのですが・・)
とりあえず、10gまで通り(パスワードは無期限有効)にする設定、ロックされたアカウントを復旧させる設定をメモっておく。
1. SQLPlusを起動:
sqlplus /nolog
2. SYSDBAでログイン:
conn /as sysdba
3. アカウントのプロファイルがデフォルトのままである場合は、デフォルトプロファイルの設定でパスワードを無期限有効に変更:
alter profile default limit password_life_time unlimited;
4. ユーザのパスワードを再設定:
alter user ユーザ名 identified by 新パスワード;
5. ロックされていたアカウントをロック解除
alter user ユーザ名 account unlock;
これでアカウントは復旧したのだが、OEMが依然としてログインできない状況のまま。。インスタンスへのエージェント接続部にORA-28001が表示されたまま。
原因はOEMで使用されるアカウント(SYSMAN, DBSNMP)についても同様にパスワードの有効期限切れが発生していたためだった。これらについてもパスワードを再設定する必要あり。
1. sqlplus /nolog
2. SYSMANでログインすると、パスワードの再設定を要求されるので、再設定
connect sysman/旧パスワード
3. DBSNMPについても同様
connect dbsnmp/旧パスワード
※ちなみにこれまた11gからの変更点だが、ユーザの大文字・小文字が別物扱いとなっているので、注意。今回のDBはアプリケーションの関係上、10g以前同様に、大文字・小文字を区別しない設定を導入当初しているため、記述は全て小文字となっている。
以上
昨年、とある案件で、ユーザに導入してもらったデータベースORACLE 11g において、当方が開発したシステムがある日突然データベースへ接続できなくなったという問い合わせを受け、調査したところ、ORA-28001のパスワード期限切れが発生していた。ネットで色々調べたところ、Oracle 11gからデフォルトでパスワードに有効期限180日が付いていることが判明。今まで8i~10gを触ってきていたが、11gについては新機能や変更点については調査したものの、こんな大事なことが漏れていた。。(本来は全ての変更点を把握するべきなのですが・・)
とりあえず、10gまで通り(パスワードは無期限有効)にする設定、ロックされたアカウントを復旧させる設定をメモっておく。
1. SQLPlusを起動:
sqlplus /nolog
2. SYSDBAでログイン:
conn /as sysdba
3. アカウントのプロファイルがデフォルトのままである場合は、デフォルトプロファイルの設定でパスワードを無期限有効に変更:
alter profile default limit password_life_time unlimited;
4. ユーザのパスワードを再設定:
alter user ユーザ名 identified by 新パスワード;
5. ロックされていたアカウントをロック解除
alter user ユーザ名 account unlock;
これでアカウントは復旧したのだが、OEMが依然としてログインできない状況のまま。。インスタンスへのエージェント接続部にORA-28001が表示されたまま。
原因はOEMで使用されるアカウント(SYSMAN, DBSNMP)についても同様にパスワードの有効期限切れが発生していたためだった。これらについてもパスワードを再設定する必要あり。
1. sqlplus /nolog
2. SYSMANでログインすると、パスワードの再設定を要求されるので、再設定
connect sysman/旧パスワード
3. DBSNMPについても同様
connect dbsnmp/旧パスワード
※ちなみにこれまた11gからの変更点だが、ユーザの大文字・小文字が別物扱いとなっているので、注意。今回のDBはアプリケーションの関係上、10g以前同様に、大文字・小文字を区別しない設定を導入当初しているため、記述は全て小文字となっている。
以上