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