ORA-28001のパスワード期限切れが発生していた。ネットで色々調べたところ、Oracle 11gからデフォルトでパスワードに有効期限180日が付いていることが判明。
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/旧パスワード"