Oracleで「Ora-28001:the password has expired」のエラーの対処法

投稿日:

正直、自分で見たときに何が起こったのかわかりませんでしたw
だって、初めて見るエラーだったし・・・

ということで、調べてみたら、パスワードの有効期限らしいですね。
対処法も簡単なので、サクッと対処法をメモ書き。

事前の警告を見逃した

本来?なら、数日前から「Ora-28002」というエラーが発生するそうです。
内容は、「あと○日で、パスワードの有効期限が切れるよ」という警告。

今回は、そのメッセージが出ませんでした。
確かに、今のユーザーを作成したのは半年ぐらい前だった・・・かもしれません。
(記憶には薄い・・・)

警告をすっ飛ばして、いきなり期限切れのように見えた

でもって、該当ユーザーには、しばらくログインしていなかったため、警告メッセージを見るタイミングが無かったというわけです。

で、いきなり

こんなエラーが出たら、ビビるw

SQLPLUSでログインしてたら、違ったかもね。

対処法

何はともあれ、一番手っ取り早いのはSQLPlusを使うことだと思う。
ので、以下、手順。

コマンドプロンプトを起動して、SQLPlusへログイン。

sqlplus USER/PASSWORD@localhost

でログインします。
※ユーザー・パスワード・接続先なんかは、適宜変更で

すると、パスワード変更しろと言われるので、新しいパスワードを入力して設定します。
再度、同じパスワードの入力を求められるので、入力して設定完了。

※自分は、2回目を間違えましたw

まとめ

多分だけど、今回の肝はSQLPlusを使うことなんだと思う。
A5Mk2を使ってたからだけど、エラーメッセージが表示されるだけで、パスワード変更の流れにならないから、余計に分かりづらかったのかな~と。

あと、本当はパスワードの変更だけじゃなくて、今後発生しないようにパスワードの変更期限を無期限に設定したりする必要もあるんだけど、それは現場だったり、社内のルール(パスワードは定期変更とかw)に従ってください。

弊社では、開発環境なので無期限でいいんだけど、今回は調べてる時間が無かったのでパスワードの変更まででw







-ORACLE
-


  1. […]  日本の中心付近で仕様変更と闘うSE日記 Oracleで「Ora-28001:the password … […]

関連記事

C# OracleDbAccessを使用して、SQL実行時にORA-00911 文字が無効です のエラー

表題のとおり、C#でOracleDbAccessを使用して、SQLを実行させる時に発生しました。 ネットで探すと、 全角スペースが原因 とか出てきたので、SQL内のスペースを全て半角スペースに置き換え …

[ORACLE]指定日付の月末を取得する

LAST_DAYで月末を取得する LAST_DAYを使います。 実際、仕様で、ある項目には月末を入力させるとか、翌月1日を指定するとかいうのが指定されたりします。 細かく計算してると正直面倒くさいです …

SQL文中で全角文字を使うなと言われたので、ORACLEでJOIN句の条件式をCASE文で分岐させる

JOINの条件式にCase文を入れる http://blog.goo.ne.jp/ilikehobby/e/80b471f96f6d693b6c5df75f18591c0e SQL文中で全角文字を使う …

ORACLEでTO_CHARを使用し、カンマ区切りデータを出力する

帳票出力を行うPGで困った。 数値形式のデータのため、カンマ区切りで表示したいんだけど、テンプレートの制約のせいで上手く行かなくて時の解決方法。 帳票のテンプレートとなるファイルのセルは文字列形式。 …

Oracle Database Bronzeの勉強を始めました。

業務でOracleを使ってます。 DBへの接続と簡単なSQLの確認ぐらいだったら、SQLDeveloperとかのツールを使わずにSQLPlusだけで済ませちゃう人も多いのかな? あとは、SQLのバッチ …


カテゴリー