ぱと隊長日誌

ブログ運用もエンジニアとしての生き方も模索中

Oracle Database インスタンスとリスナーの起動順序

原則として、Oracle Database ではリスナーを起動した後、インスタンスを起動する。

SQL*Plusを使用してデータベース・インスタンスを起動する前に、次の準備手順を実行する必要があります。
1. データベースが依存するOracleコンポーネントが起動されたことを確認します。
たとえば、データベースのデータがOracle Automatic Storage Management(Oracle ASM)のディスク・グループに格納される場合は、Oracle ASMインスタンスが実行中であること、および必要なディスク・グループがマウントされていることを確認してください。また、データベースが起動する前にOracle Netリスナーを起動することをお薦めします。

起動と停止

インスタンスを起動してからリスナーの起動を忘れたことに気が付いた場合、リスナーのみ起動すればよい(インスタンスの再起動は不要)。ただし、インスタンスとリスナーの接続まで最大60秒遅延するため、通常運用することはお勧めしない。

インスタンスの起動時にリスナーが実行していない場合、LREGプロセスはサービス情報を登録できません。LREGは、定期的にリスナーに接続を試みますが、リスナーが起動されてからLREGがリスナーに登録するまで、最大で60秒間遅延することがあります。リスナーの起動後即座にサービス登録を開始するには、SQL文ALTER SYSTEM REGISTERを使用します。この文は特に高可用性が求められる構成で有益です。

Oracle Netアーキテクチャの理解

ちなみに、Oracle Database 12c からリスナー登録をLREGがPMONに代わって行うようになった。

Oracle Database 12cまでのリリースでは、PMONがリスナー登録を実行していました。

プロセス・アーキテクチャ