Linux下Oracle 10g自动启动与关闭的实现
2010-09-14 10:47
666 查看
作者:肖凤斌 E-mail:binsweet@gmail.com
Linux下Oracle 10g自动启动与关闭的实现
环境:RHEL 5.5 + Oracle 10g + VMWare 5.5
尝试在linux下进行oracle的自动启动与关闭,经过多次摸索,完整实现如下:
1、修改oratab文件,使数据库自动启动
#vi /etc/oratab
sid:/opt/app/ora10g/oracle/product/10.2.0/db_1:Y -----即把原来的N修改为Y。
2、修改dbstart、dbshut脚本,使之能够自动启动、关闭LISTENER
将dbstart与dbshut两个脚本中的ORACLE_HOME_LISTNER=$1改为
ORACLE_HOME_LISTNER=$ORACLE_HOME即可(我这个版本好像只修改dbstart,dbshut中没有什么要修改)
3、编写启动脚本/etc/rc.d/init.d/oracle
4、添加服务
[root@by init.d]# chmod 755 oracle
[root@by init.d]# chmod +x /etc/rc.d/init.d/oracle
[root@by init.d]# chkconfig --add oracle
[root@by init.d]# chkconfig --list oracle
oracle 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
如果出现:bash: chkconfig: command not found,那么一般是chkconfig包没装或者装了路径没设置对。
[root@by init.d]# PATH="$PATH":/sbin
[root@by init.d]# echo $PATH
/sbin:/usr/kerberos/sbin:/opt/oracle/product/10.2.0/db_1/bin:/usr/sbin:/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/oracle/bin:/sbin
5、测试服务
[root@by init.d]# service oracle stop
如果出现如下错误:
Stoping EM ...
/home/oracle/.bash_profile: line 23: ulimit: open files: cannot modify limit: 不允许的操作
Done.
可在
[root@by init.d]# vi /etc/security/limits.conf
添加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Ok,一切完成。关闭系统,重启,最后验证,都自动启动了。
Linux下Oracle 10g自动启动与关闭的实现
环境:RHEL 5.5 + Oracle 10g + VMWare 5.5
尝试在linux下进行oracle的自动启动与关闭,经过多次摸索,完整实现如下:
1、修改oratab文件,使数据库自动启动
#vi /etc/oratab
sid:/opt/app/ora10g/oracle/product/10.2.0/db_1:Y -----即把原来的N修改为Y。
2、修改dbstart、dbshut脚本,使之能够自动启动、关闭LISTENER
将dbstart与dbshut两个脚本中的ORACLE_HOME_LISTNER=$1改为
ORACLE_HOME_LISTNER=$ORACLE_HOME即可(我这个版本好像只修改dbstart,dbshut中没有什么要修改)
3、编写启动脚本/etc/rc.d/init.d/oracle
#!/bin/bash # #################FUNCTION############# # # AutoStart Oracle and listener # AutoStop Oracle and listener # ##################################### # # Created by ZhouYS 2003-11-26 # Modified by XiaoFengBin 2010-09-13 # # chkconfig: 2345 99 01 # description: oracledb starts/stops the Oracle server case "$1" in start) 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 - oracle -c "dbstart" >> /var/log/oracle echo "Done." 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 - oracle -c "lsnrctl start" >> /var/log/oracle echo "Done." echo "Starting EM ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting EM as part of system up." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - oracle -c "emctl start dbconsole" >> /var/log/oracle echo "Done." echo "Starting isqlplus ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting isqlplus as part of system up." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - oracle -c "isqlplusctl start" >> /var/log/oracle echo "Done." echo "" echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle touch /var/lock/subsys/oracle ;; stop) echo "Stoping EM ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stoping EM as part of system down." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - oracle -c "emctl stop dbconsole" >>/var/log/oracle echo "Done." echo "Stoping isqlplus ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stoping isqlplus as part of system down." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - oracle -c "isqlplusctl stop" >>/var/log/oracle echo "Done." 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 - oracle -c "lsnrctl stop" >> /var/log/oracle echo "Done." 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 - oracle -c "dbshut" >>/var/log/oracle echo "Done." echo "" echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle rm -f /var/lock/subsys/oracle ;; restart) $0 stop $0 start ;; *) echo "Usage: oracle {start|stop|restart}" exit 1 esac exit 0
4、添加服务
[root@by init.d]# chmod 755 oracle
[root@by init.d]# chmod +x /etc/rc.d/init.d/oracle
[root@by init.d]# chkconfig --add oracle
[root@by init.d]# chkconfig --list oracle
oracle 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
如果出现:bash: chkconfig: command not found,那么一般是chkconfig包没装或者装了路径没设置对。
[root@by init.d]# PATH="$PATH":/sbin
[root@by init.d]# echo $PATH
/sbin:/usr/kerberos/sbin:/opt/oracle/product/10.2.0/db_1/bin:/usr/sbin:/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/oracle/bin:/sbin
5、测试服务
[root@by init.d]# service oracle stop
如果出现如下错误:
Stoping EM ...
/home/oracle/.bash_profile: line 23: ulimit: open files: cannot modify limit: 不允许的操作
Done.
可在
[root@by init.d]# vi /etc/security/limits.conf
添加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Ok,一切完成。关闭系统,重启,最后验证,都自动启动了。
相关文章推荐
- Linux下Oracle 10g自动启动与关闭的实现
- oracle 10g 随linux系统自动启动的设置脚本
- oracle随linux OS自动启动与关闭
- Linux下oracle 10g开机自动启动(监听,实例)
- oracle的环境配置-设置开机(Linux)自动启动Oracle关机自动关闭Oracle
- Linux主机下配置Oracle 10G自动启动过程记
- Linux主机下配置Oracle 10G自动启动
- Linux下设置oracle 10g 服务以及实例自动启动方法
- Linux下Oracle 11g数据库自动启动和关闭
- RHEL5下Oracle 10g 数据库(单数据库)的自动启动与关闭
- linux下配置ORACLE 10g自动启动
- Linux下设置ORACLE自动启动与关闭
- Oracle 10G for Linux/Unix 启动/关闭脚本
- linux下配置ORACLE 10g自动启动经验分享
- 在Linux中设置系统启动和关闭时自动启动和关闭Oracle
- Linux 下设置oracle 10g 自动启动服务
- linux下的oracle从10g以后其启动与关闭与以前版本有所不同
- linux下oracle 10g的启动与关闭
- linux oracle 服务自动启动、关闭
- Oracle 10g数据库在linux (red hat 5)上的自动启动配置方法详解