4.5 Unixサービスの使用によるデーモンの管理

RPMパッケージを使用してSQLclをインストールした場合は、それに、複数のユーザーのSQLclスケジューラ・デーモンを一元的に管理するsystemdサービス(sql-schedulerという名前)が含まれます。このサービスでは、特定のUnixグループに属するすべてのユーザーのデーモンが管理されます。

RPMパッケージを使用してSQLclをインストールすると、次のユーザーおよびグループの構成が実行されます:
  • sql-schedulerという名前のUnixグループは、それがシステムに存在しない場合は作成されます。
  • oracleユーザー・アカウントは、それが存在しない場合は作成されます。また、それがsql-schedulerグループに追加されます。

sql-schedulerグループに他のユーザーを追加した場合は、そのスケジューラ・デーモンが、systemdサービスによって自動的に管理されます。

ユーザーがこのグループに含まれている場合は、そのユーザーのデーモンが、システムのブート時に自動的に起動され(そのサービスが有効になっている場合)、システムのシャットダウン時に正常に停止されます。

ノート:

このsystemdサービスでは、sql-schedulerグループ内のユーザーのみが管理されます。他のユーザーは、sql -daemonコマンドを使用して各自のデーモンを手動で管理する必要があります。
このUnixサービスの使用、および製品内サポート・リソースへのアクセスについては、次のトピックを参照してください。

4.5.1 rootユーザーとしてのサービスの管理

SQLcl RPMパッケージをインストールし、必要なすべてのユーザーがsql-schedulerグループに含まれていることを確認した後、特権ユーザー(rootなど)は、そのサービスを管理して、それらのユーザー用のデーモンの起動と停止を一元的に制御できます。

この例では、rootユーザーとしてサービスを管理してoracleユーザーのスケジューラ・デーモンを制御する方法を示します。

oracleユーザーのグループの確認

oracleユーザーがsql-schedulerグループに含まれていることを確認します。


[root@oracledb23ia ~]$ groups oracle
oracle : oracle oinstall .... sql-scheduler

sql-schedulerサービスのステータスの確認

sql-schedulerサービスがインストールされていることを確認します。

[root@oracledb23ia ~]$ systemctl status sql-scheduler
   sql-scheduler.service - SQLcl scheduler services
   Loaded: loaded (/etc/systemd/system/sql-scheduler.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
 
Jun 09 13:02:57 oracledb23ia.localdomain systemd[1]: Started SQLcl scheduler services.

サービスの開始

sql-schedulerサービスを実行してsql-schedulerグループ内のすべてのユーザー(この場合は、oracleユーザーのみ)のスケジューラ・デーモンを起動します。

[root@oracledb23ia ~]$ systemctl start sql-scheduler
[root@oracledb23ia ~]$ systemctl status sql-scheduler
   sql-scheduler.service - SQLcl scheduler services
   Loaded: loaded (/etc/systemd/system/sql-scheduler.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2025-06-09 13:39:06 CST; 2min 29s ago
  Process: 3832 ExecStart=/usr/bin/bash -c /etc/init.d/sql-scheduler start (code=exited, status=0/SUCCESS)
 Main PID: 3938 (java)
    Tasks: 0 (limit: 36046)
   Memory: 64.0K
   CGroup: /system.slice/sql-scheduler.service

サービス・ログの確認

サービス・ログを表示するには、journalctlコマンドを使用します。oracleユーザー用の関連するすべてのログ、スケジュール構成ファイルおよびランタイム・データは、/home/oracle/.dbtools/schedules内に配置されます。

[root@oracledb23ia ~]# journalctl -a -f -u sql-scheduler
 
Jun 09 13:31:57 oracledb23ia.localdomain systemd[1]: sql-scheduler.service: Succeeded.
Jun 09 13:31:57 oracledb23ia.localdomain systemd[1]: Stopped SQLcl scheduler services.
Jun 09 13:39:02 oracledb23ia.localdomain systemd[1]: Starting SQLcl scheduler services...
Jun 09 13:39:02 oracledb23ia.localdomain bash[3842]: Starting the SQLcl Scheduler Daemon.
Jun 09 13:39:02 oracledb23ia.localdomain bash[3849]: Starting the SQLcl Scheduler Daemon for user oracle.
.....

サービスの停止

管理対象ユーザー(たとえば、oracleユーザー)のスケジューラ・デーモンを停止します。

[root@oracledb23ia ~]# systemctl stop sql-scheduler
[root@oracledb23ia ~]# journalctl -a -f -u sql-scheduler
 
Jun 09 13:39:04 oracledb23ia.localdomain bash[4065]: The SQLcl Scheduler Daemon has started correctly.
Jun 09 13:39:06 oracledb23ia.localdomain systemd[1]: Started SQLcl scheduler services.
Jun 09 14:07:24 oracledb23ia.localdomain systemd[1]: Stopping SQLcl scheduler services...
Jun 09 14:07:24 oracledb23ia.localdomain bash[4497]: Stopping the SQLcl Scheduler Daemon.
Jun 09 14:07:24 oracledb23ia.localdomain bash[4504]: Stopping SQLcl Scheduler Daemon for user oracle

4.5.2 製品内ヘルプ

YUMまたはRPMインストールの場合は、製品内で使用可能な、SQLおよびスケジューラ・サービスのマニュアル・ページを表示して、追加情報を確認できます。

サービス・マニュアル・ページ


man sql-scheduler.service

SQLマニュアル・ページ


man sql