Linux ve UNIX sistemlerde veritabanını ve listener’ı boot esnasında açılış scripti ile başlatabiliriz. Bunun için bazı yollar vardır. Birinci yol, veritabanını başlatmak için kullanılan dbstart scripti içine ilgili listeneri eklemek ve değerini Y olarak değiştirmektir. Ancak bazı durumlarda bu başlatmada sıkıntı yaratabilmektedir.
Diğer en uygun yol ise hem veritabanını hemde listener’ı başlatıp durduracak bir script oluşturmak ve runlevel dizinlerinden birine bu scripti iliştirmektir.
Bu script, başlat ve durdur olmak üzere 2 arguman içerecek ve /etc/rc.d/init.d dizininde yer alacaktır. Alttaki komut dbora adlı dosya içerisinden listener’ı ve veritabanını başlatıp durdurmak için eklenmiştir.
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su -oracle -c "u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start"
su - oracle -c u01/app/oracle/product/10.2.0/db_1/bin/dbstart
touch /var/lock/subsys/oracle
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - oracle -c "u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl stop"
su - oracle -c u01/app/oracle/product/10.2.0/db_1/bin/dbshut
rm -f /var/lock/subsys/oracle
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart|reload"
exit 1
esac
exit 0
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su -oracle -c "u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start"
su - oracle -c u01/app/oracle/product/10.2.0/db_1/bin/dbstart
touch /var/lock/subsys/oracle
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - oracle -c "u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl stop"
su - oracle -c u01/app/oracle/product/10.2.0/db_1/bin/dbshut
rm -f /var/lock/subsys/oracle
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart|reload"
exit 1
esac
exit 0
İlk case cümlesi ilk argumanın başlat veya durdur komutu olup olmadığına bakar, su komutları mevcut kullanıcıyı “oracle” kullanıcısı ile değiştirir. su ve oracle arasında kullanılan (-) simgesi ise düzgün ortam ayarlarının sırasıyla uygulanabilmesi için oracle kullanıcısının oturum açma scriptinin çalışması için kullanılır. -c seçeneği tekli işletim sistemi komutunun çalışması için kullanılır.
dbora scripti, oracle kullanıcısının oturum açma scripti herhangi bir değer atanmak için sorduğunda çalışmaz. dbora scriptinin düzgün çalışması için oracle kullanıcısının oturum açma scriptinin interaktif olmaması gerekir.
dbora scriptini oluşturduktan sonra root olarak oturum açtıktan sonra test etmek için aşağıdaki komutları çalıştırın.
./dbora start
./dbora stop
Scriptin çalıştığından emin olduktan sonra şimdi alttaki iki komutu kullanarak bunu açılış scriptlerine iliştirmemiz gerekmektedir.
ln -s /etc/rc.d/init.d/dbora /etc/rc.d/rc0.d/K10dbora
ln -s /etc/rc.d/init.d/dbora /etc/rc.d/rc5.d/S99dbora
Yukardaki ilk ln komutu, runlevel 0 düzeyinde çalışan scriptlerin yer aldığı rc0.d dizinine sembolik bir link oluşturur. Red Hat Linux sistemlerde runlevel 0 sistemi kapatmak için kullanılır. Kxxx scriptleri sistem kapanırken prosesleri kapatmak için kullanılır. İkinci ln komutu rc5.d dizininde sembolik bir link oluşturur ve script S ile başlayarak adlandırılır Sxxx scriptleri Linux sistem boot olurken servisleri başlatmak için kullanılır.
0 yorum:
Yorum Gönder