Oracle11g/12c设置开机自动启动

时间:2021-10-10 08:41:48

(声明:部分链接可能需要FQ才能打开,FQ软件https://github.com/XX-net/XX-Net)

安装Oracle11g或者12c先安装Oracle Pre-Install RPM包可以为安装Oracle提前配置好环境,省得各种各样的配置了

CentOS6.X安装Oracle Pre-Install RPM http://tutorialforlinux.com/2013/10/06/red-hat-rhel-6-64bit-how-to-prepare-for-12c-database-installation-with-oracle-pre-installed-rpm/

CentOS6.X安装Oracle12c http://tutorialforlinux.com/2013/10/06/how-to-install-oracle-12c-database-on-centos-6-linux-64bit-step-by-step-easy-guide/(可以在安装数据库软件的时候直接新建实例)

可能需要设置必要的环境变量或者直接运行/usr/local/bin/oraenv脚本,可以打开脚本看看注释,看是怎么运行的。

创建数据库监听之后就可以从别的计算机远程连接数据库了netca http://installoracle.blogspot.it/2013/10/linux-how-to-create-and-start-listener.html

如果安装数据库时没有选择创建数据库实例可以运行dbca创建实例 http://installoracle.blogspot.com/2013/10/linux-how-to-create-database-for-oracle.html

 

重点是设置怎样让Oracle开机自动启动,否则每次手动启动太麻烦了,并且官方的启动脚本不支持CentOS和RedHat较新的版本,前面的配置可以参照官方,但是脚本不要用官方的http://docs.oracle.com/cd/E16655_01/server.121/e10638/strt_stp.htm#UNXAR150

脚本下载地址 https://pan.baidu.com/s/1B-OdUAL5HotgAaQH3-Yk4Q

[oracle@db01 ~]$ vi /etc/oratab
# end line: change
db01:/usr/oracle/app/product/11.2.0/dbhome_1:Y
[oracle@db01 ~]$ vi ~/.bash_profile
# add follows to the end
export ORACLE_SID=orcl

#!/bin/bash

# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle

. /etc/rc.d/init.d/functions

LOCKFILE=/var/lock/subsys/oracle
# 需要修改ORACLE_HOME和ORACLE_USER变量为自己安装环境的实际变量
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
ORACLE_USER=oracle

case "$1" in
'start')
    if [ -f $LOCKFILE ]; then
        echo $0 already running.
        exit 1
    fi
    echo -n $"Starting Oracle Database:"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
    touch $LOCKFILE
    ;;
'stop')
    if [ ! -f $LOCKFILE ]; then
        echo $0 already stopping.
        exit 1
    fi
    echo -n $"Stopping Oracle Database:"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
    rm -f $LOCKFILE
    ;;
'restart')
    $0 stop
    $0 start
    ;;
'status')
    if [ -f $LOCKFILE ]; then
        echo $0 started.
    else
        echo $0 stopped.
    fi
    ;;
*)
    echo "Usage: $0 [start|stop|status]"
    exit 1
esac

exit 0

[root@db01 ~]# chmod 755 /etc/rc.d/init.d/oracle
[root@db01 ~]# chkconfig --add oracle

最后这一步是没有必要的,假如脚本中没有 # chkconfig: 345 90 10 执行下面这个,设定oracle在各等级为on

[root@db01 ~]# chkconfig oracle on