「トラブル対応」カテゴリーアーカイブ

トラブル対応に関する記事です

Oracle:接続時に「ORA-01109:データベースがオープンされていません。」エラーが出た場合の原因と対応方法

DBクライアントソフトなどでOracle DBへ接続時に「ORA-01109:データベースがオープンされていません。」が表示された場合の原因と対応方法についてメモしておきます。

「ORA-01109:データベースがオープンされていません。」の原因

  • 文字通り接続しようとしているDBがオープンされていないのが原因となります。今回接続先を「ORCLPDB」に指定していましたがそこがオープンされていないようです。
  • 念のためSQL Plusを起動して「show pdbs」コマンドでプラガブル・データベース(PDB)のオープン状態を確認するとやはりオープンされていませんでした。

「ORA-01109:データベースがオープンされていません。」の対処方法

  1. SQL Plusで「alter pluggable database ORCLPDB open;」コマンドを実行し、ORCLPDBをオープンします。
  2. 「show pdbs」コマンドでプラガブル・データベース(PDB)のオープン状態を確認します。
  3. これでORCLPDBのオープンだけなら完了していますが、このままPCを再起動するとまた再びクローズ状態に戻ってしまいます。ですので最後に現在オープンされている全てのPDBを自動起動(オープン)するように「alter pluggable database all save state;」コマンドで保存します。

 

補足:よくある注意点と確認ポイント

上記の対応だけで解決しない場合や、環境によっては以下のようなケースもあるので参考にしてください。

PDB が自動で開かない場合

ALTER PLUGGABLE DATABASE ALL SAVE STATE; を実行しても、再起動後に PDB が自動的にオープンされないことがあります。
その際は以下を確認してみてください。

  • PDB の AUTO_STARTUP が有効になっているか
  • 初期化パラメータ ENABLE_PLUGGABLE_DATABASE が設定されているか
  • OS 側の起動スクリプトに PDB オープン処理が含まれているか

権限不足でエラーになる場合

PDB を開こうとしたときに ORA-01031: insufficient privileges が出る場合は、権限不足の可能性があります。
SYSDBA 権限を持つユーザーで接続して実行する必要があります。

PDB の状態確認

今の状態を確認したいときは、次のコマンドを使うと便利です。

`sql
SELECT name, open_mode FROM v$pdbs;
-- または
SELECT name, status FROM dba_pdbs;

READ WRITE であればオープン済み、MOUNTED ならまだ開いていない状態です。

ログのチェック

もし原因が分からない場合は、アラートログ(alert log)や trace ファイルを確認してみてください。
「ファイルが読み込めない」「整合性が取れていない」といったエラーが記録されていることもあります。

冗長構成を利用している場合

Data Guard や RAC のような構成では、PDB のオープン状態が自動で引き継がれないことがあります。
フェイルオーバー後に PDB が閉じたままになるケースもあるので注意が必要です。

関連するエラーメッセージ

今回の ORA-01109 以外にも、以下のエラーが一緒に出ることがあります。

  • ORA-01110

  • ORA-01113

これらも「データベースがオープンされていない」状態に関係するため、併せて確認してみてください。

Oracle:ユーザー作成時に「ORA-65096」エラーが出た場合の原因と対応方法

Oracleのインストール後にSQL*Plusなどでユーザー作成しようとした際、「ORA-65096」エラーが発生した場合の原因と対応方法についてメモしておきます。

「ORA-65096:共通ユーザーまたはロール名が無効です」の原因

  • ルートコンテナにローカルユーザーを作成しようとした場合に発生するエラーとなります。
    ルートコンテナには共有ユーザー(common user) と呼ばれる特殊なユーザーしか作成することはできません。
    Oracle 11gまでと違いOracle 12c以降からは一つのインスタンスには一つのコンテナ・データベース(CDB)と、プラガブル・データベース(PDB)と呼ばれる子DBが存在しています。sysなどのユーザーでログイン直後はコンテナ・データベース(CDB)に接続されている状態となっているため、そのままローカルユーザーを作成しようとしてもエラーが発生してしまうということになります。

「ORA-65096:共通ユーザーまたはロール名が無効です」の対処方法

原因が分かってしまえば対応はシンプルです。接続先がコンテナ・データベース(CDB)であるのがまずいのであればプラガブル・データベース(PDB)に変更してしまえばいいだけです。

  1. まずは「show con_name;」で現在接続されているデータベースを確認します。
  2. 次に「select name, open_mode from v$pdbs;」でPDBの名前と現在のOPEN_MODEを確認します。
  3. PDBの名前が「ORCLPDB」というのがわかったのでデータベースの接続先を「ORCLPDB」へ変更します。
  4. もう一度「show con_name;」を実行して接続先が変更されていることを確認します。
  5. 接続先がPDBへ変更されたのでもう一度ユーザー作成を実行すると正常に実行されます。

 

🔍補足:ORA-65096エラーの仕組みと注意点

ORA-65096: invalid common user or role name は、マルチテナント構成の Oracle Database(12c以降) において、
ルートコンテナ(CDB$ROOT)上でローカルユーザーを作成しようとした場合に発生するエラーです。
以下のポイントを押さえておくと、再発を防ぎやすくなります。

観点 内容
エラーの本質 共通ユーザーとローカルユーザーの区別を誤ったことによる構文エラー
共通ユーザー名の規則 C## または c## のプレフィックスが必須(COMMON_USER_PREFIXパラメータで変更可)
発生条件 CDB$ROOT に接続したままユーザーを作成/命名規則を満たさない場合
解決策 ALTER SESSION SET CONTAINER = <PDB名> でPDBに切り替えてから CREATE USER を実行する
参考 SHOW CON_NAME; で現在の接続先(コンテナ)を確認可能

✅ 具体例:安全なユーザー作成手順

-- 現在のコンテナを確認
SHOW CON_NAME;

-- PDBに切り替え
ALTER SESSION SET CONTAINER = ORCLPDB;

-- PDB内でユーザー作成
CREATE USER myuser IDENTIFIED BY mypassword;
GRANT CONNECT, RESOURCE TO myuser;

もしルートコンテナ側で共通ユーザーを作成したい場合は、以下のようにします。

CREATE USER C##admin IDENTIFIED BY pass123 CONTAINER = ALL;
GRANT CREATE SESSION TO C##admin CONTAINER = ALL;

💡補足メモ

  • SHOW PDBS; で現在のPDB一覧を確認可能。OPEN_MODEREAD WRITE でなければユーザー作成はできません。

  • バージョン19c以降では、CDB構成がデフォルトのため、PDB接続の意識が必須 です。

  • TNS接続文字列(SERVICE_NAME)が CDB を指していると、意図せずルート側に接続してしまうことがあります。

WordPressで記事の更新時に「更新が失敗しました。返答が正しいJSONレスポンスではありません。」と表示されたり新規投稿画面を開こうとしても「Security check failed」と表示された原因

本日WordPressで作業していたら以下のような事象が発生しました。

  • WordPressで記事を更新しようとしても以下のように「更新が失敗しました。返答が正しいJSONレスポンスではありません。」と表示されて更新出来ない
  • 新規で投稿や固定ページを追加しようとしても「Security check failed」と表示されて新規投稿用の画面が表示されない

先日まで投稿できてたのに何故!?

と思いエラーメッセージでググっても「クラシックエディタに変更してみる」とか「パーマリンク設定を基本にする」などは見つかりましたが今ひとつ根本的な解決手段じゃないなあと本日行った作業を思い出してみるとそういばプラグインいくつか更新したな。。と思い出し本日更新したプラグインを一つずつ無効化して確かめてたら。。

プラグイン「WP to Twitter」の更新が原因でした!!

これを無効化したら全て正常に動作したので私の場合は「プラグインの更新で不具合があった」というのが根本原因でした。。

やっぱりプラグイン更新時は動作確認必須だなあと再認識(^_^;)

WP to Twitterのページを見るとバージョン「3.6.0」に更新すると発生します。

サポートフォーラムを見てもまだこの件については何も記載されてないようなのでもう少し対応待つ必要ありそうです。

Wp to Twitterのプラグインページへ

 

今回は更新したプラグインで不具合があったのが原因でしたが、調べていると他の原因でも「更新が失敗しました。返答が正しいJSONレスポンスではありません。」のメッセージが表示されることがあるようです。まずは正常に更新出来ていた時期~エラーが発生した時期までに更新したことを思い出して一つずつ原因を潰すのが一番近道かなあと思います。あと定期的なバックアップも大事!

他に考えられる原因や対処方法

  • レンタルサーバー側でなんらかのセキュリティなどの機能が追加されたのが影響した
  • 「.htaccees」の編集で記載ミスがあった。もしくは自動で中身がクリアされてしまっていた。
  • ブラウザのキャッシュをクリアしたら直った
  • サーバーのWAFをOFFにしたら直った

 

Cisco AnyConnectのクライアントソフトインストール時「The VPN client agent was unable to create the interprocess communication depot」が発生した場合の対処方法

Cisco AnyConnect(anyconnect secure mobility client)のクライアントソフトをインストール時、下記のように「The VPN client agent was unable to create the interprocess communication depot」というエラーメッセージが表示されて上手くインストールできない場合の対処方法をメモしておきます。

原因

  • Internet Connection Sharing(ICS)というサービスが有効になっている

対処方法

問題となっているICSのサービスは通常、家庭用で複数台のパソコンでインターネットを使う時に必要なサービスみたいなので不要な方はこのサービスを無効とすることで正常にAnyConnectがインストール可能となります。

  1. コントールパネル ⇒ システムとセキュリティを選択
  2. 管理ツールを選択
  3. サービスを選択
  4. Internet Connection Sharing(ICS)を右クリック ⇒ プロパティを選択
  5. スタートアップの種類を「無効」を選択 ⇒ OKボタンを選択
  6. 再度、AnyConnectのクライアントソフトインストールしてみてエラーメッセージが表示されなければ正常にインストールされます。

【0x81000204】復元ポイントからの復元ができない場合の対処方法

システムの復元ポイントからの復元を実行しても以下のようにエラーコード「0x81000204」が表示されて復元に失敗した場合の対処方法です。

対処方法

システム ファイルの破損を検出・修復する以下コマンドを実行する手順です。

  1. コマンド プロンプトを管理者権限で実行
  2. コマンドプロンプト画面で「dism /online /cleanup-image /restorehealth」と入力して Enter
  3. 上記の処理が終わったら、引き続き「sfc /scannow」と入力して Enter
  4. 再度システムの復元を実施

コマンドプロンプト実行時に「管理者として実行」が表示されない場合の対処方法

スタートメニューからコマンドプロンプトのアイコンを右クリックしても「管理者として実行」が表示されない場合の対処方法をメモしておきます。

タスクバーから管理者として実行する方法

タスクマネージャー経由でアプリケーションを管理者として実行する方法です。

  1. 「Windowsマーク」を右クリックして「タスクマネージャー」を選択します。
  2. 「ファイル」→「新しいタスクの実行」を選択します。
  3. コマンドプロンプトを管理者として実行したい場合は「cmd」と入力します。
  4. 「タスクに管理者特権を付与して作成します。」をチェックを入れて「OK」ボタンを選択します。
  5. 以下の様に管理者としてコマンドプロンプトが実行されます。

スマホでAmazonの画面が英語で表示される場合の対処方法

スマホでAmazonのサイト(アプリ版じゃない方)を表示するとメニューなどが英語表示されていることが最近よくあります。
対処方法を記載したのでご参考になれば幸いです。

動作環境

    iPhone12 ver 15.4.1

英語表記を日本語表記に変更する方法

  1. 右上の自分のアカウント名を選択
  2. 表示されたメニューの下の方にSettingsがあるのでそこの「English」を選択
  3. 言語設定画面が表示されるので「日本語 – JA」を選択して黄色の「変更を保存」ボタンを押下
  4. これで表示が日本語表記に戻ります。

WordPressで「現在メンテナンス中のため、しばらくの間ご利用いただけません」と表示される原因について

WordPressを操作していてサイトを表示するといきなり「現在メンテナンス中のため、しばらくの間ご利用いただけません」と表示されて管理画面も表示出来ずかなり焦ったので対処方法をメモしておきます。

事象

    WordPressで作成したサイトを表示すると「現在メンテナンス中のため、しばらくの間ご利用いただけません」と表示される

原因

    プラグイン等の更新中にF5などで再表示した場合に発生するようです

対応策

  • 該当サイトのリポジトリへアクセスし、「.maintenance」ファイルを削除します。

DMM Playerで再生すると「protocol error:1646-0015」が表示される原因

拡張子「.wmv」形式の動画ファイルをDMM Playerで再生しようとしたら「protocol error:1646-0015」と表示されて再生出来ませんでした。
この際の原因についてメモしておきます。

事象

    拡張子「.wmv」形式の動画ファイルをDMM Playerで再生すると以下のエラーダイアログが出て動画を再生出来ない。DMM Playerを単独で実行しても同じエラーが表示される。

原因

    DMM Playerをインストールしていたつもりが「DMM Player for Chrome」だけをインストールしていた。
    ⇒PC上にあるwmvファイルを再生するには「DMM Player」をインストールする必要があります。

対応策

  • 下記リンクから「DMM Player」のインストーラをダウンードしてインストールを実行します。
    ⇒「DMM Player」をダウンロード
  • インストール後に「DMM PLayer」を起動して下記のように正常に起動する事を確認します。

「PC SpeedScan Pro」の削除(アンインストール)方法

普段から不要ソフトのインストールには気をつけていたつもりですがそれでもいつの間にか「PC SpeedScan Pro」なるスキャンソフトがPCにインストールされていました。
結論から言ってしまうとこのソフトはPCを起動すると勝手にスキャンを開始し始めてキャンセルして終了しようとするとあたかも問題があるように表示して不安を煽り有償版を購入させようとする詐欺ソフトです。見つけたら即刻削除しましょう!

PC SpeedScan Proの起動画面

  1. PC起動直後に以下の様に勝手にスキャンを開始します。起動を確認したら即刻「スキャンを停止」ボタンを選択して終了させて下さい。
  2. スキャンを停止して閉じようとするとしつこく確認してくるので右上の「x」ボタンで閉じます。
  3. PC SpeedScan Proが起動されていると右下のタスクバーに以下のアイコンが表示されます。

PC SpeedScan Proの削除手順

  1. 右下のタスクバーに表示されているアイコンを右クリックして「終了」を選択します。
  2. 「コントロールパネル」⇒「プログラムと機能」を選択し、「PC SpeedScan Pro」を選択してアンイストールを選択します。
  3. アンインストールウィザードが表示されたら右下にある「アンインストール」ボタンを選択します。
  4. アンインストールが終了したら「完了」ボタンを選択して削除完了となります。