概要
Oracle DB は起動しているのに,Enterprise Manager の URLにアクセスすると,データベースが起動していないとなる。ORA-28001 パスワードが期限切れ と表示される(下図)
原因
Enterprise Manager (DBCONSOLE)では,system や dbsnmp ユーザーを使用している。インストールした初期状態のままだと パスワードの 有効期限 は 180日 のため期限ぎれとなるとDBにアクセスできない。DBにアクセスできていないだけで,DBが停止しているわけではない。
復旧
何はともあれ,sys でデータベースにログインして,system や dbsnmp のパスワードをもう一度設定し直す。
コマンドプロンプトにて
SET ORACLE_SID=xxx
sqlplus sys/xxxxxxxx as sysdba ※1
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
ALTER USER dbsnmp IDENTIFIED BY パスワード;
ALTER USER dbsnmp Account unlock;
ALTER USER system IDENTIFIED BY パスワード;
ALTER USER system Account unlock;
※1 クライアントからであれば
sqlplus sys/xxxxxxxxx@接続文字列 as sysdba
SQL Developer で SYS ログインできる場合は以下の方法もある。
dbsnmp や system ユーザーの編集
新規パスワード:既存と同じ
パスワードの期限切れ:チェックを外す
注意
パスワードの期限ぎれチェックを外しただけでは何も変わりません。ロックされたままです。新規パスワード欄に入力が必要です。
プロパティ
Oracle 11.2.0.3
Windows Server 2008 R2
コメント