【WindowsでOracleを使用している場合必見】Oracleサービス管理

オラクルデータベースの基本

OracleデータベースをWindows上で運用する場合、データベースや関連プロセスはWindowsサービスとして動作します。これにより、データベースの起動や停止、状態の確認などを、Windowsの標準的なサービス管理ツールを使って簡単に操作することができます。この記事では、Oracleサービスの管理について詳しく説明し、安定した運用を実現するためのベストプラクティスを紹介します。

1. Oracleサービスとは?

OracleをWindows上にインストールすると、いくつかのWindowsサービスが登録されます。これにより、データベースの自動起動・停止や状態管理がWindowsのサービスとして管理可能になります。主なサービスには以下のものがあります。

  • OracleServiceORCL: データベースインスタンスそのものを表すサービス。この「ORCL」は、デフォルトのデータベース名であり、環境によって異なる場合があります。
  • OracleOraDb19Home1TNSListener: リスナーサービス。このサービスはクライアントからの接続を受け付けるために必要です。
  • OracleDBConsoleORCL: Oracle Enterprise Managerのためのコンソールサービス。このサービスを使うことで、ブラウザを通じてデータベースの管理が可能になります。

2. Oracleサービスの確認と管理方法

Windowsでは「サービスマネージャー」を使ってOracleサービスを管理できます。

サービスの確認手順:

  1. サービスマネージャーの起動
    スタートメニューを開き、「services.msc」と入力し、サービスマネージャーを起動します。
  2. Oracleサービスの検索
    サービス一覧の中から、OracleServiceOracleOraDbなどの名前で始まる項目を見つけます。
  3. サービスの状態確認
    サービスの「状態」欄で、サービスが「実行中」か「停止」状態かを確認できます。

サービスの操作手順:

  • 開始/停止/再起動: サービスを右クリックして「開始」「停止」「再起動」などの操作が可能です。例えば、システムメンテナンスの前にデータベースを停止する場合、OracleServiceORCLを停止することができます。

自動起動の設定:

  1. プロパティの確認
    Oracleサービスを右クリックし、「プロパティ」を選択します。
  2. 起動の種類を変更
    「全般」タブで、サービスの「スタートアップの種類」を確認します。通常は「自動」に設定しておくと、Windowsの起動時に自動的にOracleサービスが起動します。特定のメンテナンス時には「手動」に設定することも可能です。

Oracleサービスは基本的にデフォルトで「自動」に設定されています。
「自動」となっている場合Windowsを立ち上げた際にOracleに関しても自動で起動してしまい、その他の作業をする際にOracleが余計にリソースを使用しています
そのため、実機確認を目的にOracleをインストールしている場合は「手動」に設定しましょう。

ただし、「手動」に変更した後にOracleを使用する時はサービス管理画面から手動でOracleサービスの起動が必要です。

以下は「手動」に変更する手順です。
該当のOracleサービスを右クリックし「プロパティ」を選択することで以下のような画面が表示されます。
スタートアップの種類欄を「手動」に変更して「OK」を選択します。
基本的にはすべてのOracleサービス(Oracleから始まるサービス)を「手動」にした方が良いでしょう。

3. サービス自動起動の利点

Oracleサービスを「自動」に設定することで、Windowsが再起動した際にデータベースも自動的に起動するため、管理者の手間を減らせます。特にサーバーが定期的にメンテナンスや再起動を行う場合には、自動起動の設定が役立ちます。

自動起動設定の確認:

  1. services.mscからOracleサービスの「スタートアップの種類」を「自動」に設定します。
  2. これにより、Windowsが再起動した際に、Oracleサービスが自動的に立ち上がり、手動でデータベースを起動する必要がなくなります。

4. Oracleサービスのトラブルシューティング

サービスが正しく動作しない場合、以下の手順でトラブルシューティングを行うことができます。

ログの確認:

  1. Windowsイベントビューアーを開き、システムログやアプリケーションログを確認します。
    • Start > Event Viewer > Windows Logs > Application からOracleサービスに関連するエラーを確認できます。
  2. Oracleのログファイルも参照します。通常、OracleのログはORACLE_HOME\diag\rdbms\以下に保存されています。ここで、特定のエラーメッセージやサービス起動失敗の原因を調べます。

リスナーサービスの確認:

データベースに接続できない場合、リスナーサービスが正しく動作していない可能性があります。この場合、OracleOraDb19Home1TNSListenerサービスが起動しているか確認し、必要に応じて再起動します。

ポートの確認:

Oracleが使用するデフォルトポート(通常1521)が他のアプリケーションによって使用されていないか確認し、競合があればポートを変更します。

5. ベストプラクティス: サービスの安定運用のために

安定した運用を確保するために、以下のベストプラクティスを実践します。

  • 監視ツールの導入: Oracleデータベースの可用性とパフォーマンスを維持するため、専用の監視ツールやスクリプトを導入して、サービスが異常終了しないように監視します。NagiosやZabbixなどの監視ツールを使って、データベースの状態をリアルタイムでチェックすることができます。
  • バックアップの確保: Oracleサービスが停止する際にデータが損失しないように、定期的にバックアップを実施します。RMANを使ったバックアップを推奨します。
  • 定期的なメンテナンス: サーバーやOSのメンテナンスを定期的に実施し、Oracleサービスに問題が発生しないようにします。

Oracleサービスを手動で起動/停止する

Oracleサービスを起動

Oracleサービスを手動で起動/停止する場合はサービス管理画面で可能です。
該当のOracleサービスを選択し、「サービスの開始」を選択します。


基本的に実機確認を行う目的で起動する場合はオラクルデータベース本体(OracleService<SID>)とリスナー(OracleOraDB~TNSListener)を起動すれば問題ありません。

Oracleサービスを停止

上記の起動と同様にサービス管理画面で停止可能です。
該当のOracleサービスを選択し、「サービスの停止」を選択します。

Oracleサービスを停止する前にオラクルデータベースを必ず停止しましょう。
データベースを停止する前にOracleサービスを停止した場合、オラクルデータベースは強制停止状態となってしまい、状況によっては壊れてしまう可能性も考えられます。

【データベースの停止方法】
C:\Users>sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 – Production on 金 10月 4 19:27:27 2024
Version 19.20.0.0.0

Copyright (c) 1982, 2022, Oracle. All rights reserved.

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.20.0.0.0
に接続されました。
SQL> shutdown immediate ★データベースの停止
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL>


まとめ

Windows環境でOracleデータベースを運用する際、サービスの管理はデータベースの安定性と可用性を確保する上で重要です。サービスの起動・停止の管理、トラブルシューティング、そして自動起動の設定など、効率的な運用を実現するためのポイントを押さえておくことで、トラブルを未然に防ぐことができます。正しいサービス管理によって、OracleデータベースをWindows上で安全かつ効率的に運用しましょう。

[参考]
データベース管理者リファレンス for Microsoft Windows – Oracle DatabaseのWindowsサービスについて

コメント

タイトルとURLをコピーしました