Linux üzerinde Oracle Database Otomatik Başlatma Nasıl Yapılır ?
Oracle Database kurduktan sonra, linux makinayı yeniden başlatınca yani reboot edince malesef database otomatik olarak başlamıyor. Bu sebeple manuel olarak önce listener’ı başlatıyoruz, ardından database’i başlatıyoruz. Oracle Database’i otomatik başlatmak için aşağıda bahsedeceğim adımları uygulayacağız.
Benim makinamda işletim sistemi: Oracle Linux 6 Update 5 (benzer sürümlerde de uygulanabilir). Benim makinamda kurulu Database (Veritabanı): Oracle Database 12c ( 11g R2’de de uygulanabilir).
Makina üzerinde root olarak oturum açın.
/etc/init.d
dizinine gidin. Boş bir yer üzerinde sağ tıklayıp “Create Document” -> “Empty File” seçin.

/etc/init.d
altında oluşan dosyaya dbora
ismini verin. dbora dosyasını düzenleyeceğiz. Bu sebeple üstünde sağ tıklayıp “Open with gedit” i seçiniz.

Alttaki kodun hiç bir yerini değiştirmeden aynen kopyalayın. ( oracle kullanıcı ile kurulum yaptığınızı farz ediyorum. Farklı kullanıcı ile kurulum yaptıysanız ORA_OWNER değerini değiştirin.)
#!/bin/sh # chkconfig: 345 99 10 # description: Oracle auto start-stop script. # # Set ORA_OWNER to the user id of the owner of the # Oracle database software. ORA_OWNER=oracle case "$1" in 'start') # Start the Oracle databases: # The following command assumes that the oracle login # will not prompt the user for any values # Remove "&" if you don't want startup as a background process. su $ORA_OWNER -c "/home/oracle/scripts/startup.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1" & touch /var/lock/subsys/dbora ;; 'stop') # Stop the Oracle databases: # The following command assumes that the oracle login # will not prompt the user for any values su $ORA_OWNER -c "/home/oracle/scripts/shutdown.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1" rm -f /var/lock/subsys/dbora ;; esac

dbora’daki değişiklikleri kaydedip çıkın. Terminal’i çalıştırın. Ardından altta yer alan komutları tek tek giriniz.
chmod 750 /etc/init.d/dbora chkconfig --add dbora mkdir -p /home/oracle/scripts chown oracle.oinstall /home/oracle/scripts
chmod: yetkileri ayarlar. chkconfig: dbora nın run level ı ayarlar.
mkdir: birazdan kullanacağımız scripts klasörünü oluşturur.
chown: birazdan kullanacağımız scripts klasörünün sahibini(owner’ını) değiştir.

/home/oracle/scripts
klasörüne gidin. startup.sh
ve shutdown.sh
dosyalarını oluşturun. startup.sh
, üstünde sağ tıklayıp “Open with gedit” i seçiniz.Alttaki kodu startup.sh içine kopyalayın. Yalnızca kırımızı renkli olan kısımları, kendi ayarlarınıza göre değiştirip kaydedin. (komut satırına echo $ORACLE_HOSTNAME yazıp görebilirsiniz olması gereken değerleri. )
#!/bin/bash export TMP=/tmp export TMPDIR=$TMP export PATH=/usr/sbin:/usr/local/bin:$PATH export ORACLE_HOSTNAME=localhost export ORACLE_UNQNAME=ORACLEDB export ORACLE_SID=ORACLEDB12C ORAENV_ASK=NO . oraenv ORAENV_ASK=YES # Start Listener lsnrctl start # Start Database sqlplus / as sysdba << EOF STARTUP; EXIT; EOF

shutdown.sh
, üstünde sağ tıklayıp “Open with gedit” i seçiniz.Alttaki kodu shutdown.sh içine kopyalayın. Yalnızca kırımızı renkli olan kısımları, kendi ayarlarınıza göre değiştirin (startup dosyasında olduğu gibi).
#!/bin/bash export TMP=/tmp export TMPDIR=$TMP export PATH=/usr/sbin:/usr/local/bin:$PATH export ORACLE_HOSTNAME=localhost export ORACLE_UNQNAME=ORACLEDB export ORACLE_SID=ORACLEDB12C ORAENV_ASK=NO . oraenv ORAENV_ASK=YES # Stop Database sqlplus / as sysdba << EOF SHUTDOWN IMMEDIATE; EXIT; EOF # Stop Listener lsnrctl stop

Terminali açıp alttaki komutları girin.
chmod u+x /home/oracle/scripts/startup.sh /home/oracle/scripts/shutdown.sh
chown oracle.oinstall /home/oracle/scripts/startup.sh /home/oracle/scripts/shutdown.sh
chmod: yetkileri ayarlar
chown: owner(sahip) bilgisi günceller.

service dbora start
service dbora stop
komutları ile yaptığınız işlemin doğruluğunu kontrol edebilirsiniz. Veya makinayı yeniden başlatıp kontrol edebilirsiniz.