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.