ORA-28001 the password has expired でユーザに接続不可

久々にOracleを動かそうとして、Oracle SQL Developerを起動し、データベースに接続すると接続エラーが発生しました。

エラーメッセージはORA-28001 the password has expired.

どうもパスワードの期限が切れているようです。
調べてみるとOracle11gではデフォルトでユーザのパスワードの期限が180日になっているそうです。

テストで動かすだけなので、SYSユーザでログインして、ユーザのパスワードを以下のコマンドで変更しました。

alter user 「USERNAME」 identified by 「PASSWORD」

その後、以下のコマンドでロックを解除します。

alter user 「USERNAME」 account unlock;

これで、接続できるようになりました。


ただ「SQL*Plus」での接続では以下の図のようにエラーが表示されますが、
その後、新規パスワードの入力が促され、そこでパスワードを入力しなおせば再度接続されます。

SIDとしてはテスト用のDB「test」で、ユーザもテスト用のID/PASSを「test/test」して行いました。
オラクルサーバーへの接続文字列としては、@マーク以下「//192.168.1.207/」を頭に付けてローカルなLANのサーバマシンのIPを特定しています。

Pass

 

■関連記事
Oracleファンクションのソースを表示する方法について・覚え書き
Oracleでのログインエラーでアカウントがロックされた場合の、強制ログインを使った対処方法
OracleでのPostgreSQLの「generate_series」(連続値の生成関数)的な使い方(LEVEL疑似列)
ORA-28002: the password will expire within 7 days がログイン時に発生
ORA-28001 the password has expired でユーザに接続不可

コメント(0)