> 데이터 베이스 > MySQL 튜토리얼 > LINUX下ORACLE自动启动

LINUX下ORACLE自动启动

WBOY
풀어 주다: 2016-06-07 15:24:52
원래의
968명이 탐색했습니다.

本文通过使用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
로그인 후 복사
LINUX下ORACLE自动启动

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用户
LINUX下ORACLE自动启动


下次启动机器,就会发现监听程序和数据库程序已经启动


最后,我们看看日志文件

[oracle@REDHAT6 ~]$ tail -200 /home/oracle/oracle.log
로그인 후 복사
LINUX下ORACLE自动启动
下面是启动数据库的日志,里面会报监听错误,但是监听我们先已经启动了,所以可以不必理会。也可以通过配置环境变量来启动

LINUX下ORACLE自动启动


参考网址:

http://blog.csdn.net/my2010sam/article/details/18315785

http://biancheng.dnbcw.info/python/242105.html

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿