今天我们继续来说怎么开机自动启动oracle,首先我们需要修改/etc/oratab文件
$vi /etc/oratab
找到#orcl:/opt/oracle/oracle11g/product/11.2.0/dbhome_1:N这一行
改为:
orcl:/opt/oracle/oracle11g/product/11.2.0/dbhome_1:Y
也就是将最后的N改为Y,意思是将不允许自动启动改为允许自动启动。
然后我们在文件中输入如下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
#!/bin/sh ### BEGIN INIT INFO # Provides: oracle # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the oracle daemon # Description: starts oracle using start-stop-daemon ### END INIT INFO ORA_HOME=/opt/oracle/oracle11g/product/11.2.0/dbhome_1/ ORACLE_SID=orcl PATH=$PATH:$ORACLE_HOME/bin ORA_OWNER=oracle if [ ! -f $ORA_HOME/bin/dbstart ] then echo "Oracle startup: cannot start" exit fi case "$1" in 'start') # Start the Oracle databases: echo "Starting Oracle Databases ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle echo "Done" # Start the Listener: echo "Starting Oracle Listeners ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle echo "Done." echo "Starting emctl dbconsole ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting emctl dbconsole as part of system up." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole" >> /var/log/oracle echo "Done." echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle touch /var/lock/subsys/oracle ;; 'stop') # Stop the Oracle Listener: echo "Stoping Oracle Listeners ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle echo "Done." rm -f /var/lock/subsys/oracle # Stop the Oracle Database: echo "Stoping Oracle Databases ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle echo "Done." echo "Stoping emctl dbconsole ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting emctl dbconsole as part of system up." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole" >> /var/log/oracle echo "Done." echo "" echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle ;; 'restart') $0 stop $0 start esac |
然后保存文件,修改文件权限
1 2 |
[duxing:~]$ sudo chmod 755 /etc/init.d/oracle |
然后放到启动脚本中
1 2 |
[duxing:~]$ sudo update-rc.d oracle defaults 99 |
这样就可以了,下面再介绍几个常用的命令
1 2 3 4 |
[duxing:~]$ oracle restart #重启oracle [duxing:~]$ oracle stop #停止oracle [duxing:~]$ sudo update-rc.d oracle remove #删除oracle的开机启动 |
还有一种方法可以开机启动的方法,大家可以参考一个参考资料中的第三篇文章,那里的方法是不需要修改/etc/oratab文件的。下一篇我会说一下我遇到的几个问题。
参考资料:
http://blog.itpub.net/29140875/viewspace-769223/