1. 建立檔案/etc/oratab
#添加如下內容到/etc/oratab檔案中,
#$ORACLE_SID是你的Oracle資料庫的sid
#$ORACLE_HOME是你的Oracle資料庫的Oracle_home
#Y表示要求在系統啟動的時候啟動Oracle資料庫.N表示不要在系統啟動的時候啟動Oracle
$ORACLE_SID:$ORACLE_HOME:Y
2. 修改檔案/etc/rc.local添加一下兩行
##
## 關於su的具體命令參看linux的manual文檔
##
su - oracle -c 'dbstart'
su - oracle -c 'lsnrctl start LISTENER'
環境變數設定:
編輯 /etc/profile
export ORACLE_BASE=/usr/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_2
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LC_CTYPE=en_US.UTF-8
轉載, 通過指令碼實現自啟動:
#!/bin/sh
# Author: jackylau <squidipt@yahoo.com.cn>
# chkconfig: 345 99 99
# description: start or stop oracle
. /etc/rc.d/init.d/functions
#oracle_env
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=oradb
export ORACLE_TERM=vt100
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
oracle_user=oracle
#killproc
start(){
echo -n "starting oracle: "
su - "$oracle_user"<
lsnrctl start
sqlplus /nolog <
connect /as sysdba
startup
EOS
EOO
}
stop(){
echo -n "stoping oracle: "
su - "$oracle_user"<
lsnrctl stop
sqlplus /nolog <
connect /as sysdba
shutdown immediate
EOS
EOO
}
case "$1" in
start)
start
touch /var/lock/subsys/orad
;;
stop)
stop
rm -f /var/lock/subsys/orad
;;
status)
status oracle
;;
restart)
stop
sleep 3
start
;;
*)
echo "$0 {start|stop|status|restart}"
;;
esac
將此指令碼cp到/etc/rc.d/init.d/目錄下
加上可執行許可權:
chmod 755 /etc/rc.d/init.d/orad
發布:
chkconfig --add orad
即可!