linux下新增oracle自啟動指令碼

lurou發表於2012-05-19
linux環境下oracle自動啟動關閉的指令碼,會經常用到。[@more@]

1.修改/etc/oratab檔案,後面的dbstart和dbshut依據這個檔案啟動資料庫

soadb:/u01/oracle/product/11.2.0/dbhome_1:Y

2.建立資料庫初始化檔案:

#cp $ORACLE_BASE/admin/$ORACLE_SID/pfile/init$ORACLE_SID.ora.* $ORACLE_HOME/dbs/init$ORACLE_SID.ora

cp /u01/oracle/admin/soadb/pfile/init.ora.116201214406 /u01/oracle/product/11.2.0/dbhome_1/dbs/initsoadb.ora

3.接下來在/etc/init.d下建立系統自動啟動和關機前自動關閉Oracle的指令碼檔案,分別如下:

3.1新增檔案

vi start_oracle.sh

指令碼內如下,複製過去就可以:

#!/bin/bash

#this script is used to start the oracle

su - oracle -c "/u01/oracle/product/11.2.0/dbhome_1/bin/dbstart"

su - oracle -c "/u01/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"

繼續賦權:

chmod a+x /etc/init.d/start_oracle.sh

繼續新增關機指令碼:

vi stop_oracle.sh

指令碼內容如下,也是複製過去即可:

#!/bin/bash

#this script is used to stop the oracle

su - oracle -c "/u01/oracle/product/11.2.0/dbhome_1/bin/lsnrctl stop"

su - oracle -c "/u01/oracle/product/11.2.0/dbhome_1/bin/dbshut"

繼續賦權:

chmod a+x /etc/init.d/stop_oracle.sh

4.建立隨系統啟動和關閉的連結:

在/etc/rc2.d下加入自動啟動連結,命令如下:

ln -s /etc/init.d/start_oracle.sh /etc/rc.d/rc2.d/S16start_oracle

ln -s /etc/init.d/start_oracle.sh /etc/rc.d/rc3.d/S16start_oracle

ln -s /etc/init.d/start_oracle.sh /etc/rc.d/rc5.d/S16start_oracle

在/etc/rc0.d下加入自動關閉連結,接著cp這兩個連結在/etc/rc.d/rcN.d(N=3,5)下各一份

命令如下:

ln -s /etc/init.d/stop_oracle.sh /etc/rc.d/rc2.d/K01stop_oracle

ln -s /etc/init.d/stop_oracle.sh /etc/rc.d/rc3.d/K01stop_oracle

ln -s /etc/init.d/stop_oracle.sh /etc/rc.d/rc5.d/K01stop_oracle

設定完畢,可以重啟看看效果了。

linux:~ # reboot

test@linux:~> ps -ef | grep ora

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26006637/viewspace-1058263/,如需轉載,請註明出處,否則將追究法律責任。

相關文章