<b>單執行個體</b><b>Oracle</b><b>系統啟動</b><b>/</b><b>關閉腳本</b>
1. 關于腳本的命名
腳本名稱:oracle.sh 部署目錄:/etc/rc.d/init.d 服務清單:redhat服務 操作使用者:root
啟動oracle指令:/etc/init.d/oracle start 關閉oracle指令:/etc/init.d/oracle stop
service oracle start service oracle stop
2. 腳本内容
#!/bin/bash
#
# chkconfig: 2345 99 01
# de.ion: init . to start/stop oracle database 10g, TNS listener, EMS
# match these values to your environment:
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH:/usr/sbin:$HOME/bin
#export NLS_LANG='croatian_croatia.ee8iso8859p2'
export ORACLE_SID=oraDBServer1
export DISPLAY=localhost:0
export ORACLE_USER=oracle
# see how we are called:
case $1 in
start)
su - "$ORACLE_USER"<<EOO
lsnrctl start
sqlplus /nolog<<EOS
connect / as sysdba
startup
EOS
emctl start dbconsole
EOO
;;
stop)
lsnrctl stop
shutdown immediate
emctl stop dbconsole
*)
echo "Usage: $0 {start|stop}"
esac
注意:
1) 其中兩行注釋,網上很多腳本因為少了這兩行不能使服務自啟動:
QUOTE:
#chkconfig: 2345 99 01
#de.ion: init . to start/stop oracle database 10g, TNS listener, EMS
其中chkconfig:2345 99 01 是指腳本将為運作級2、3、4、5啟動oracle 10g服務,啟動優先級為99,關閉優先級為01。
3. 腳本的權限和服務添加操作
1) 使用root使用者登入,把檔案copy到/etc/rc.d/init.d/目錄下
2) 賦予執行權限
[root@localhost ~]#cd /etc/init.d
[root@localhost init.d]#chown oracle oracle
[root@localhost init.d]#chmod 755 oracle
3) 建立符号連結
[root@localhost ~]# cd /etc/rc2.d
[root@localhost rc2.d]#ln -s /etc/rc.d/init.d/oracle S99oracle
[root@localhost init.d]# chkconfig --list oracle
[root@localhost init.d]# chkconfig --level 2345 oracle .
重新開機系統,就可以在啟動的過程中看到 Starting oracle,因為我們設定的優先級為99,一般是最後啟動。[OK]以後就可以了。因為要啟動emctl,可能有點慢,等待的時間要稍微長一點。
注意:要修改/etc/oratab檔案
orcl:/opt/app/oracle/product/10.2.0/db_1:N (将N該為Y)
本文轉自 pgmia 51CTO部落格,原文連結:
http://blog.51cto.com/heyiyi/127440