一郎科技|Oracle-Oracle DB、监听和oem开机启动


一郎科技|Oracle-Oracle DB、监听和oem开机启动1.WindowsOracle提供了伴随操作系统自动重启的功能 , 在Windows中 , 可以修改“我的电脑-->管理-->服务-->OracleService$ORACLE_SID” , 或直接使用Win+R键打开运行窗口 , 输入services.msc即可打开服务 , 找到相应的Oracle服务 , 然后将其属性中的启动类型修改成自动 。 一般在Windows系统上安装完后会自动设置成自动 。
一郎科技|Oracle-Oracle DB、监听和oem开机启动Linux对于Linux/Unix操作系统 , 如果想设置自动重启 , 那该如何操作呢?对此Oracle提供了dbstart命令用于启动 , 可以有2种方法来配置 。
方法1:配置Linux的service服务
1. 修改/etc/oratab
1[root@oracle ~]#vim /etc/oratab2orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y#将N改为Y文件/etc/oratab由root.sh脚本创建 , 在用DBCA创建实例时也会更新这个文件 。 当$ORACLE_SID:$ORACLE_HOME:设置为Y时 , 允许实例自启动 , 当设置为N时 , 则不允许自启动 。 这个文件里的配置仅仅起一个开关的作用 , 其并不会具体的执行启动和关闭 , 具体的操作由$ORACLE_HOME/bin/dbstart和dbshut脚本来实现 。 这2个脚本在执行时会检查/etc/oratab文件里的配置 , 为Y时才能继续执行 。
2. 修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut
【一郎科技|Oracle-Oracle DB、监听和oem开机启动】1[root@oracle ~]#vim $ORACLE_HOME/bin/dbstart2[root@oracle ~]#vim $ORACLE_HOME/bin/dbshut3ORACLE_HOME_listener=$ORACLE_HOME ($1改为$ORACLE_HOME)ORACLE_HOME_listener的位置:Oracle 11g的dbstart在第80行 , dbshut文件中在第50行 。
3. 建立启动脚本
使用root用户创建脚本:
[root@oracle ~]#vim /etc/rc.d/init.d/oracle
1#!/bin/bash2# chkconfig: 2345 99 103# description: Startup Script for oracle Databases4# /etc/rc.d/init.d/oracle 5 6export ORACLE_BASE=/u01/app/oracle/ 7export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 8export PATH=$PATH:$ORACLE_HOME/bin 9export ORACLE_UNQNAME=PROD11011echo " " >> /var/log/oraclelog12echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog1314case "$1" in15start)16echo "-----startup oracle-----" >> /var/log/oraclelog17su oracle -c "$ORACLE_HOME/bin/dbstart"18su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"19touch /var/lock/subsys/oracle20echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog21echo "-----startup oracle successful-----" >> /var/log/oraclelog22echo "OK" 23;;2425stop)26echo "-----shutdown oracle-----" >> /var/log/oraclelog27su oracle -c "$ORACLE_HOME/bin/dbshut"28su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"29rm -f /var/lock/subsys/oracle30echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelogg31echo "-----shutdown oracle successful-----" >> /var/log/oraclelog32echo "OK" 33;;3435restart)36echo "-----shutdown oracle-----" >> /var/log/oraclelog37su oracle -c "$ORACLE_HOME/bin/dbshut"38su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"39rm -f /var/lock/subsys/oracle40echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog41echo "-----shutdown oracle successful-----" >> /var/log/oraclelog4243echo "-----startup oracle-----" >> /var/log/oraclelog44su oracle -c "$ORACLE_HOME/bin/dbstart"45su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"46touch /var/lock/subsys/oracle47echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog48echo "-----startup oracle successful-----" >> /var/log/oraclelog49echo "OK" 50;;5152*)53echo "Usage: 'basename $0' start|stop|restart" 54exit 155esac56exit 057


推荐阅读