Linux下系统开机ORACLE自启动有两种方法:
方法一:在LINUX开机启动脚本里启动ORACEL
1、修改Oracle系统配置文件/etc/oratab文件格式为(vi /etc/oratab): SID:ORACLE_HOME:AUTO
root@crmdb01 ~]# vi /etc/oratab
orcl:/opt/app/oracle/product/10.2.0/db_1:Y
2、dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题,分别打开两个文件找到:用vi编辑dbstart,ORACLE_HOME_LISTNER=$1,修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
3、在/etc/rc.d/rc.local配置文件中追加(#vi /etc/rc.d/rc.local)
su - oracle -c "/opt/app/oracle/product/10.2.0/db_1/bin/lsnrctl start"
su - oracle -c "/opt/app/oracle/product/10.2.0/db_1/bin/dbstart start"
2、重新启动检验是否开机启动
#reboot
方法二:加载服务使其自启动及关闭
1、同方法1中第一步;
2、在/etc/init.d下创建文件/etc/init.d/oradb,相当于创建服务脚本
#!/bin/sh
#chkconfig:345 90 10
#description:ORACLE
export ORA_OWNER=oracle
export ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1
case "$1" in
'start')
su - $ORA_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME > /dev/null 2>&1"
touch /var/lock/subsys/oradb
;;
'stop')
su - $ORA_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME > /dev/null 2>&1"
rm -f /var/lock/subsys/oradb
;;
*)
echo "Usage:$0 start | stop | status"
;;
esac
exit 0
3、修改为可执行文件,并添加服务
[root@crmdb01 init.d]# chmod +x oradb
[root@crmdb01 init.d]# ls -lah oradb
-rwxr-xr-x 1 root root 433 Jan 17 19:12 oradb
[root@crmdb01 init.d]# chkconfig --add oradb
[root@crmdb01 init.d]# chkconfig --list oradb
oradb 0:off 1:off 2:off 3:on 4:on 5:on 6:off
4、测试脚本
[root@crmdb01 init.d]# ./oradb stop
[root@crmdb01 init.d]# ./oradb start
运行dbstart命令时出现如下:
[root@localhost ~]# su - oracle -c "dbstart"
/opt/oracle/product/10.2.0/db_1/bin/dbstart: line 89: /opt/oracle/product/10.2.0/db_1/listener.log: Permission denied
/opt/oracle/product/10.2.0/db_1/bin/dbstart: line 90: /opt/oracle/product/10.2.0/db_1/listener.log: Permission denied
Processing Database instance "orcl": log file /opt/oracle/product/10.2.0/db_1/startup.log