株式会社コーソル

KNOWLEDGE

コーソルの技術情報

コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。

KNOWLEDGE検索人気のキーワード

Oracle DB Tips

ORA-01034: Oracleは使用できません。

01.ORA-01034エラーとはどのようなエラーか?

ORA-01034は、接続先のインスタンスが使用できないことを示すエラーです。
インスタンスが存在するノードと同一のノードからインスタンスに接続する方式をローカル接続と呼びます。
ローカル接続を実行したとき、接続先のインスタンスが停止しているか、または環境変数ORACLE_SIDの指定が誤っている場合に、ORA-01034エラーが発生します。

02.ORA-01034エラーのエラー出力例

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

ORA-01034エラーに付随して出力されるエラー(上記例ではORA-27101)は、ORA-01034エラーの発生原因を示すエラーとなります。

03.ORA-01034の一般的な発生要因と対処

ORA-01034は一般に以下の要因で発生します。

  • 接続先インスタンスが起動していない状態で、ローカル接続を実行した
  • 環境変数ORACLE_SIDに誤った値を設定して、ローカル接続を実行した

 

接続先インスタンスが起動していない状態で、ローカル接続を実行した

ORA-01034発生時に環境変数ORACLE_SIDで指定したデータベースインスタンスが起動していない場合、接続先のインスタンスが使用できないため ORA-01034 は発生します。
接続先のインスタンス起動後に再度接続を行うことで、ORA-01034 エラーの発生を回避することができます。

環境変数ORACLE_SIDに誤った値を設定して、ローカル接続を実行した

ローカル接続では、環境変数 ORACLE_SID に指定しているインスタンスに接続を行います。ORACLE_SID に設定するSIDが誤っている場合、正しいSIDのインスタンスへ接続を行うことができないため、ORA-01034エラーが発生します。
正しいSIDを設定することでORA-01034エラーの発生を回避することができます。

04.ORA-01034に関するFAQ

同様の状況で「アイドル・インスタンスに接続しました。」が出力される理由は?

接続先のインスタンスが停止している場合や、接続しようとしたSIDの指定が誤っている状態で、SYSDBA権限を持つユーザーでインスタンスに接続した場合は、「アイドル・インスタンスに接続しました。」というメッセージが表示されます。
データベースを起動する場合、SYSDBA権限をもつユーザーでインスタンスに接続することが必要です。この場合はインスタンスが起動していないことが明らかなので、エラーを表示するのではなく「アイドル・インスタンスに接続しました。」というメッセージを出力する仕様となっています。
SIDの指定が誤っている場合も、誤ったSIDに対応するインスタンスが起動していないため、同じメッセージが表示されます。ただし、誤ったSIDに対応する初期化パラメータファイルが存在しないため、実際にはstartupコマンドを実行してもインスタンスを起動できません。

05.キーワード

ORA-1034 ORA-01034 SID ORACLE_SID 識別子 ORA-27101