时间:2021-07-01 10:21:17 帮助过:18人阅读
本文通过使用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 stop SQL> shutdown immediate
STEP2:查看是否有python相关的包是否已经安装(若没有安装,就需要安装相关的包)
[root@REDHAT6 ~]# which python /usr/bin/python
-- 先新建两个文件,一个是python脚本,一个是记录日志 [oracle@REDHAT6 ~]$ touch oracle.py [oracle@REDHAT6 ~]$ touch oracle.log [oracle@REDHAT6 ~]$ chmod -R 755 oracle.py
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()
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