ODCSの有効期限が切れた時の対応
ご無沙汰しております。
インフラ系パパです。
今回は、Oracle Databse Cloud Service でトラブルがあった話と、その対応について書かせていただきます。
お客様、当社で利用していた Oracle Databse Cloud Service のAPEX管理画面又は商品一覧を確認しようとアクセスすると、ORDS で 404 のエラーが出てしまいます。はて??何が起こったのだろうと、先にサービスの停止が無いか、直接サーバにログインします。。。
止まっていないようですね。。
ORDS のログを見ると。。。
ログ:/u01/app/oracle/product/ords/log/ords.log
ん???何かエラーを見つけました。。
どうやら有効期限切れだそうで。。。
原因が分かって、対応手順も分かりましたが、、、設定時の管理者パスワードが必要だそうです。
お客様対応のときは、パスワードを確認してすぐに対応出来ましたが、当社の環境は時間が掛かりました。
なぜなら、設定時の管理者がパスワードを覚えておらず、メモを探すのに苦労しました。
有効期限が切れていた場合は、設定時の管理者パスワードを使ってパスワードを再設定する為、大切に保管しておきましょう。
有効期限切れの際の対応手順
1. ORDSを停止します。
2. SQL*Plus で sysユーザーで該当データベースのコンテナ・データベース(CDB$ROOT) に接続します。
2-1. 以下のコマンドを実行し、CDB$ROOT が戻されることを確認します。
SQL> show con_name
2-2. 以下のコマンドを実行し、ORDS_PUBLIC_USER ユーザーに対する変更作業を実施します。
SQL> Alter user ords_public_user identified by <パスワード>;
SQL> ALTER USER ORDS_PUBLIC_USER ACCOUNT UNLOCK;
# <パスワード> は、インスタンス作成時に使用されたパスワードと同じパスワードを再設定します。
# これは、sys のパスワードと同じになります。
3. ご利用されているPDBに接続を変更し、各ユーザーに対して作業を実施します
3-1. 以下のコマンドを実行し、PDBに接続を変更します。 (PDB の名前を PDB1 とします。環境に応じて変更してください)
SQL> ALTER SESSION SET container = PDB1;
3-2. 以下のコマンドを実行し、PDB名が戻されることを確認します。
SQL> show con_name
3-3. 以下のコマンドを実行し、パスワードの再設定を実施します。
SQL> Alter user APEX_PUBLIC_USER identified by <パスワード>;
SQL> Alter user APEX_REST_PUBLIC_USER identified by <パスワード>;
SQL> Alter user APEX_LISTENER identified by <パスワード>;
# <パスワード> は、インスタンス作成時に使用されたパスワードと同じパスワードを再設定します。
# これは、sys のパスワードと同じになります。
3-4. 以下のコマンドを実行し、ロックを解除します。
SQL> ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
SQL> ALTER USER APEX_REST_PUBLIC_USER ACCOUNT UNLOCK;
SQL> ALTER USER APEX_LISTENER ACCOUNT UNLOCK;
SQL> ALTER USER ORDS_PUBLIC_USER ACCOUNT UNLOCK;
4. ORDSを起動します。
最後に
この記事が誰かのお役にたてることを切に願います。
ではでは、このあたりで失礼致します。