Oracle systemd
Jump to navigation
Jump to search
Systemd ignora i limiti assegnati nel file /etc/security/limits.d/*
. Per evitare problemi è caldamente consigliabile configurare i limiti di processi, numero files e memoria a livello di systemd.
Resta aperta la questione se il listener ed il database devono appartenere allo stesso cgroup o no.
Comunque se si imposta il parametro rdbms:
use_dedicated_broker=true
I processi server del database non sono più figli del listener, e quindi il listener può appartenere senza problemi ad un cgroup diverso.
[root@host02 system]# pwd /usr/local/lib/systemd/system [root@host02 system]# more oracle_listener.service [Unit] Description="Oracle Listener" After=network.target [Service] User=oracle Group=oinstall Type=forking WorkingDirectory=/app/oracle/product/11.2.0/dbhome_1 Environment=ORACLE_BASE=/app/oracle ORACLE_HOME=/app/oracle/product/11.2.0/dbhome_1 Restart=on-failure ExecStart=/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start LISTENER ExecStop=/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl stop LISTENER LimitNOFILE=65536 LimitNPROC=16384 #LimitSTACK=unlimited LimitMEMLOCK=134217728 [Install] WantedBy=multi-user.target
[root@host02 system]# more oracle_database_test.service [Unit] Description="Oracle database test" After=network.target [Service] User=oracle Group=oinstall Type=forking WorkingDirectory=/app/oracle/product/11.2.0/dbhome_1 Environment=ORACLE_BASE=/app/oracle ORACLE_HOME=/app/oracle/product/11.2.0/dbhome_1 ORACLE_SID=test Restart=on-failure ExecStart=/bin/sh -c "echo startup | /app/oracle/product/11.2.0/dbhome_1/bin/sqlplus '/ as sysdba'" ExecStop=/bin/sh -c "echo shutdown immediate | /app/oracle/product/11.2.0/dbhome_1/bin/sqlplus '/ as sysdba'" LimitNOFILE=65536 LimitNPROC=16384 #LimitSTACK=unlimited LimitMEMLOCK=134217728 [Install] WantedBy=multi-user.target
[Unit] Description="Oracle database SID01" After=network.target [Service] User=oracle Group=oinstall Type=forking WorkingDirectory=/app/oracle/product/11.2.0/dbpe_1 Environment="ORACLE_BASE=/app/oracle" "ORACLE_HOME=/app/oracle/product/11.2.0/dbpe_1" "ORACLE_SID=SID01" "PATH=/app/oracle/product/11.2.0/dbpe_1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" Restart=on-failure ExecStart=/bin/bash -c "echo -e 'startup' | sqlplus -s '/ as sysdba'" ExecStop=/bin/bash -c "echo -e 'shutdown immediate' | sqlplus -s '/ as sysdba'" LimitNOFILE=65536 LimitNPROC=16384 LimitSTACK=131072:infinity LimitMEMLOCK=134217728 [Install] WantedBy=multi-user.target