千家信息网

ORACLE 12C 开机自动启动监听、CDB、PDB

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,linux下数据库实例监听开机自启动设置2018年8月1日 zhanky测试介绍系统版本:Oracle linux 7.2 x64数据库版本:Oracle Database 12c Enterpris
千家信息网最后更新 2025年02月03日ORACLE 12C 开机自动启动监听、CDB、PDB

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

[root@zhanky ~]# vi /etc/oratab [root@zhanky ~]# 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::## 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的所有库启动

[root@zhanky ~]# vi /etc/rc.d/rc.local [root@zhanky ~]# cat /etc/rc.d/rc.local !/bin/bashTHIS FILE IS ADDED FOR COMPATIBILITY PURPOSESIt is highly advisable to create own systemd services or udev rulesto run scripts during boot instead of using this file.In contrast to previous versions due to parallel execution during bootthis script will NOT be run after all other services.Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensurethat 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"[root@zhanky ~]# chmod +x /etc/rc.d/rc.local

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

CREATE OR REPLACE TRIGGER open_pdbsAFTER STARTUP ON DATABASEBEGINEXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';END open_pdbs;/

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

0