Oracle12c 启动监听,Linux下oracle 12C自动启动监听及服务

oracle 数据库开机自启动

1:查看ORACLE_HOME是否设置

[oracle@ssy:~]$ echo $ORACLE_HOME

/u01/app/oracle/product/12.1.0/dbhome_1

2、执行数据库自带启动脚本dbstart

[oracle@ssy ~]$ dbstart

ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener

Usage: /u01/app/oracle/product/12.1.0/dbhome_1/bin/dbstart ORACLE_HOME

错误原因是:dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题。

3、编辑dbstart和dbshut脚本文件

sudo gedit /u01/app/oracle/product/12.1.0/dbhome_1/bin/dbstart

sudo gedit /u01/app/oracle/product/12.1.0/dbhome_1/bin/dbshut

将ORACLE_HOME_LISTNER=$1

修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

4、编辑oratab文件

sudo gedit /etc/oratab

将orcl:/u01/app/oracle/product/12.1.0/dbhome_1:N

修改为:orcl:/u01/app/oracle/product/10.2.0/db_1:Y

5、编辑listener.ora文件

添加如下内容

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl)

(ORACLE_HOME = /u01/app/oracle/product/12.1.0/dbhome_1)

(SID_NAME = orcl)

)

)

6、设置开机自启动

方法一:创建自启动脚本

1、创建oracle文件

sudo gedit /etc/rc.d/init.d/oracle

编写如下内容

==============================================================================

#!/bin/bash

# chkconfig: 345 99 10

# description: Startup Script for Oracle Databases

# /etc/rc.d/init.d/oracle

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$ORACLE_HOME/bin

ORA_OWNR="oracle"

# if the executables do not exist -- display error

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

echo "Oracle startup: cannot start"

exit 1

fi

# depending on parameter -- startup, shutdown, restart

# of the instance and listener or usage display

case "$1" in

start)

# Oracle listener and instance startup

echo -n "Starting Oracle: "

su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart"

su - $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"

touch /var/lock/Oracle

su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"

#su - $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctrl start"

echo "OK"

;;

stop)

# Oracle listener and instance shutdown

echo -n "Shutdown Oracle: "

su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"

#su - $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctrl stop"

su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut"

su - $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"

rm -f /var/lock/Oracle

echo "OK"

;;

reload|restart)

$0 stop

$0 start

;;

*)

echo "Usage: `basename $0` start|stop|restart|reload"

exit 1

esac

exit 0

==============================================================================

2、更改oracle文件权限

ls -l | grep oracle

-rw-r--r-- 1 root root  1311 3月  13 21:07 oracle

sudo chmod +x oracle

ls -l | grep oracle

-rwxr-xr-x 1 root root  1311 3月  13 21:07 oracle

3、更新系统服务的运行级

sudo apt-get install sysv-rc-conf

sudo cp /usr/sbin/sysv-rc-conf /usr/sbin/chkconfig

sudo chkconfig --level 2345 oracle on

[oracle@ssy:/etc/rc.d/init.d]$ ./oracle

Usage: oracle start|stop|restart|reload

[oracle@ssy:/etc/rc.d/init.d]$ cd /etc/rc.d/rc5.d/

[oracle@ssy:/etc/rc.d/rc5.d]$ ls -l | grep oracle

lrwxrwxrwx 1 root root 16 3月 13 21:25 S20oracle -> ../init.d/oracle

方法二:编辑rc.local启动文件

sudo gedit /etc/rc.d/rc.local

文件末尾添加如下两行

su - oracle -lc /u01/app/oracle/product/12.1.0/dbhome_1/bin/dbstart

su - oracle -lc "/u01/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl start"

注意:第二个命令有空格,所以要用引号

7、重启主机,查看数据库和监听是否自启动

ps -ef | grep orcl

lsnrctl status

ps -ef | grep LISTEN | grep -v grep

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值