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 … […]

関連記事

ORACLEでDELETEとTRUNCATEのどちらを使うか。

未だに迷う。 例えば、テーブル全件削除をしたいときは delete * from tableA; delete文なら、こうだし。 truncate tableA; truncate文なら、こう。

Oracleで複数レコードを更新する方法

UPDATE文で、複数のレコードを一回のトランザクション内で更新する必要に迫られました。 基本的に、今まで使ってきたUPDATE文では、 UPDATE tableA set COL1 = 1 ,COL …

[ORACLE]SQLのIN句にパラメータを適用する方法

カンマ区切りの文字列を取得した理由 こないだの続きです。 日本の中心付近で仕様変更と闘うSE日記[C#]リストをカンマ区切りの文字列で出力するhttp://ht-jp.net/blog/pc/c/c- …

ORACLEでORA-01861: リテラルが書式文字列と一致しません

ORA-01861: リテラルが書式文字列と一致しません このエラー、ぶっちゃけ、意味が分からないところでもある。 日付の指定時に発生してて、原因が判明するまでに結構回り道をしました。 ネットで検索し …

[ORACLE]マテリアライズドビューの一覧を取得する

正直、使わなさ過ぎてマテリアライズドビューって何?って感じではあるけど、たまにフラット出てくるのでメモ。 詳細は、Oracleのリファレンス見てください。 https://docs.oracle.co …


カテゴリー