Oracle Database 19c Service (AUTOSTART CDB/PDB) on Oracle LinuxR8


Buat file service
sudo vi /etc/systemd/system/oracledb_ORCLCDB.service

[Unit]
Description=Oracle Database service for ORCLCDB
After=network.target
Wants=network.target

[Service]
Type=forking
User=oracle
Group=oinstall
Environment=ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
Environment=ORACLE_SID=ORCLCDB
Environment=PATH=/opt/oracle/product/19c/dbhome_1/bin:/usr/bin:/bin
ExecStart=/opt/oracle/product/19c/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/opt/oracle/product/19c/dbhome_1/bin/dbshut $ORACLE_HOME
TimeoutSec=600
Restart=on-failure
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target



Catatan penting:

dbstart/dbshut membaca /etc/oratab. Pastikan entri CDB:

ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y (huruf terakhir Y agar auto-start).

Sesuaikan ORACLE_HOME/ORACLE_SID kalau berbeda.


Reload systemd
sudo systemctl daemon-reload


Enable saat boot
sudo systemctl enable oracledb_ORCLCDB.service

Start sekarang (opsional)

 
sudo systemctl start oracledb_ORCLCDB.service

Cek status
sudo systemctl status oracledb_ORCLCDB.service

Log jika perlu
journalctl -u oracledb_ORCLCDB.service -b












Oracle Listener Service (AUTOSTART LISTENER)


Buat file service
sudo vi /etc/systemd/system/oracle-listener.service


[Unit]
Description=Oracle Listener
After=network.target

[Service]
Type=forking
User=oracle
Group=oinstall
Environment=ORACLE_BASE=/opt/oracle
Environment=ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
Environment=TNS_ADMIN=/opt/oracle/product/19c/dbhome_1/network/admin
Environment=LD_LIBRARY_PATH=/opt/oracle/product/19c/dbhome_1/lib
Environment=PATH=/opt/oracle/product/19c/dbhome_1/bin:/usr/bin:/bin
ExecStart=/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start
ExecStop=/opt/oracle/product/19c/dbhome_1/bin/lsnrctl stop
RemainAfterExit=yes
Restart=on-failure

[Install]
WantedBy=multi-user.target



Reload systemd
sudo systemctl daemon-reload

Enable saat boot
sudo systemctl enable oracle-listener.service

Start sekarang

sudo systemctl start oracle-listener.service

Cek status

sudo systemctl status oracle-listener.service

Verifikasi listener

lsnrctl status


Uji Saat Reboot

Reboot
sudo reboot

Setelah login, cek:

sudo systemctl status oracledb_ORCLCDB.service
sudo systemctl status oracle-listener.service


Ringkasan


DB service: /etc/systemd/system/oracledb_ORCLCDB.service (pakai dbstart/dbshut).

Listener service: /etc/systemd/system/oracle-listener.service (pakai lsnrctl start/stop).

Pastikan /etc/oratab punya entri ...:Y.

Aktifkan auto-start dengan systemctl enable dan verifikasi dengan status / journalctl.