本文通过使用python脚本来启动oracle数据库,实现oracle数据库的开机启动(主要启动监听和数据库,不包含dbconsole): step1:关闭数据库,关闭监听 /prepre name=code class=sql[oracle@redhat6 ~]$ lsnrctl stopsql shutdown immediate step2:查看是否有
本文通过使用python脚本来启动oracle数据库,实现oracle数据库的开机启动(主要启动监听和数据库,不包含dbconsole):
step1:关闭数据库,关闭监听
[oracle@redhat6 ~]$ lsnrctl stopsql> shutdown immediate
step2:查看是否有python相关的包是否已经安装(若没有安装,就需要安装相关的包)
[root@redhat6 ~]# which python/usr/bin/python
step3:编写启动相关服务的 python 脚本-- 先新建两个文件,一个是python脚本,一个是记录日志[oracle@redhat6 ~]$ touch oracle.py[oracle@redhat6 ~]$ touch oracle.log[oracle@redhat6 ~]$ chmod -r 755 oracle.py
python脚本import commands;import sys;import time;dtime=time.strftime('%y-%m-%d %h:%i:%m:%s',time.localtime(time.time()));file_append=open('/home/oracle/oracle.log','a+')print>>file_append,dtime,'\n'print>>file_append,'============start listener================\n'(status,output)=commands.getstatusoutput(su - oracle -c '/u01/app/oracle/bin/lsnrctl start' )print>>file_append,output+'\n'if(status==0): print>>file_append,'============ok: listener start ok=============\n'else: print>>file_append,'============error: listener start error=============\n'print>>file_append,'============start database================\n'(status,output)=commands.getstatusoutput(su - oracle -c '/u01/app/oracle/bin/dbstart' )print>>file_append,output,'\n'if(status==0): print>>file_append,'============ok: database start ok=============\n'else: print>>file_append,'============error: database start error=======\n'print>>file_append,'\n','\n'file_append.close()
脚本先启动lsnrctl, 再启动 dbstart, 在dbstart启动时,会自动启动lsnrctl,由于本人在环境变量中没有配置,所以在启动dbstart时,监听无法启动,所以就在python中先启动了监听
step4:将脚本执行命令添加到开机启动中
[oracle@redhat6 ~]$ vi /etc/rc.d/rc.local
在该文件中增加一行:su - root -c python /home/oracle/oracle.py 有的人说是将 su - root 要改成 oracle用户,这里没有必要改,因为我在python脚本中已经指定了oracle用户
下次启动机器,就会发现监听程序和数据库程序已经启动
最后,我们看看日志文件
[oracle@redhat6 ~]$ tail -200 /home/oracle/oracle.log
下面是启动数据库的日志,里面会报监听错误,但是监听我们先已经启动了,所以可以不必理会。也可以通过配置环境变量来启动
参考网址:
http://blog.csdn.net/my2010sam/article/details/18315785
http://biancheng.dnbcw.info/python/242105.html