ORACLE 12C 开机自动启动监听CDBPDB

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE 12C 开机自动启动监听CDBPDB相关的知识,希望对你有一定的参考价值。

linux下数据库实例监听开机自启动设置
2018年8月1日 zhanky

测试介绍
系统版本:Oracle linux 7.2 x64
数据库版本:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
实例名:orcl CDP:orcl PDB:orcl1、orcl2
ORACLE_HOME:/u01/app/oracle/product/12.2.0/db_1

一、设置监听和CDB开机自启
通过使用rc.local开机自动运行脚本,调用Oracle自带的dbstart和lsnrct启动。但调用dbstart需要在oratab中允许
1、修改oratab

[[email protected] ~]# vi /etc/oratab 
[[email protected] ~]# cat /etc/oratab 
#
# This file is used by ORACLE utilities.  It is created by root.sh
# and updated by either Database Configuration Assistant while creating
# a database or ASM Configuration Assistant while creating ASM instance.

# A colon, ‘:‘, is used as the field terminator.  A new line terminates
# the entry.  Lines beginning with a pound sign, ‘#‘, are comments.
#
# Entries are of the form:
#   $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively.  The third field indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#

2、编辑rc.local
因为Oracle linux 7.2默认rc.local是没有执行权限,需执行chmod自己增加
dbstart默认将oratab中参数为Y的所有库启动

[[email protected] ~]# vi /etc/rc.d/rc.local 
[[email protected] ~]# cat /etc/rc.d/rc.local 
!/bin/bash
THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES

It is highly advisable to create own systemd services or udev rules
to run scripts during boot instead of using this file.

In contrast to previous versions due to parallel execution during boot
this script will NOT be run after all other services.

Please note that you must run ‘chmod +x /etc/rc.d/rc.local‘ to ensure
that this script will be executed during boot.

touch /var/lock/subsys/local
##用oracle用户登录,运行lsnrctl start 脚本启用监听。
su - oracle -c "/u01/app/oracle/product/12.2.0/db_1/bin/lsnrctl start"
##用oracle用户登录,运行dbstart启动数据库
su - oracle -c "/u01/app/oracle/product/12.2.0/db_1/bin/dbstart"
[[email protected] ~]# chmod +x /etc/rc.d/rc.local

二、设置PDB自动启动
通过触发器来启东PDB,下列触发器中ALTER PLUGGABLE DATABASE ALL OPEN代表将所有PDB启动,
如果只需

CREATE OR REPLACE TRIGGER open_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE ‘ALTER PLUGGABLE DATABASE ALL OPEN‘;
END open_pdbs;
/

三、测试验证,重启数据库服务器即可。

以上是关于ORACLE 12C 开机自动启动监听CDBPDB的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 12C CDBPDB常用管理命令

Oracle 12C CDBPDB常用管理命令

Oracle 12c orcl不能直接创建用户了,开机不自动启动PDB,这些怎么办

oracle 12c启动监听报错协议适配器错误

如何让oracle DB监听和oem开机启动(dbstart)

ORACLE 12C采坑之 ORA-12541:TNS:无监听程序