配置Linux下Oracle19c开机自动启动及验证

配置oracle19c自动启动的2个关键点

1.$ORACLE_HOME   2.安装oracle的用户

 

以本人数据库为例子

$ORACLE_HOME=/home/afcinst/app/afcinst/product/19.3.0/dbhome_1

安装oracle的用户:oracle

.配置oracle19c开机自动启动

1. 修改 oracle 的启动脚本配置

[root@HEB-2-SC etc]# vi /etc/oratab

 

将里面 最后一句话设置从N 修改为Y 允许启动

orclSid:/home/oracle/app/product/19.3.0/dbhome_1:Y

 

2. 设置 数据库的启动命令

[root@HEB-2-SC etc]# vi /usr/bin/oracle.sh

增加的内容为:

#! /bin/bash

#  script  For oracle19c.service

#启动监听

/home/oracle/app/product/19.3.0/dbhome_1/bin/lsnrctl start

#启动数据库实例:q:q

/home/oracle/app/product/19.3.0/dbhome_1/bin/dbstart /home/oracle/app/product/19.3.0/dbhome_1

 

设置这个文件的读写权限

chmod 777 /usr/bin/oracle.sh

 

3. 新增一个关于oracle19c的服务

[root@HEB-2-SC etc]# vi /etc/systemd/system/oracle19c.service

 

编辑内容如下  每个配置都要另起一行

在其他机器配置注意红色部分的替换:

[Unit]
Description=Oracle19c
After=syslog.target network.target

[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=oneshot
RemainAfterExit=yes
User=afcinst Environment="ORACLE_HOME=/home/afcinst/app/afcinst/product/19.3.0/dbhome_1 "
ExecStart=/usr/bin/oracle.sh

[Install]
WantedBy=multi-user.target

如果后续有对oracle19c.service配置文件进行修改,请先执行下面的语句

重新加载服务配置文件

[root@HEB-2-SC etc] # systemctl daemon-reload

4. 设置新增的oracle服务开机自动启动

[root@HEB-2-SC etc]# systemctl enable oracle19c

查看服务运行状态,检查状态是否为“Active”

 

 

[root@HEB-2-SC etc]# systemctl status oracle19c

 

至此 Oracle19c重启自动启动已经配置完成

 

5. 多pdb容器数据库的额外操作

如果你安装的oracle19c属于多PDB容器数据库,由于oracle19c默认CBD重启后,PDB都是Mount状态,所以我们需要在CDB下创建触发器来实现CDB重启的时PDB也自动打开

 

 

 

SQL> show con_name;

CON_NAME

-------------------

CDB$ROOT

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

二、验证重启服务是否自动启动

1.先关闭oracle服务,关闭后验证客户端不能连接oracle

切换至装oracle的用户下面

[root@HEB-2-SC etc]#su oracle

 

关闭数据库实例

[oracle@HEB-2-SC ~]$ dbshut $ORACLE_HOME

关闭数据库监听

Lsnrctl stop

查看oracle服务  确认oracle服务已关闭

[oracle@HEB-2-SC ~]$ ps -ef | grep ora

 

 

Oracle客户端无法连接数据库

 

 

 

2.reboot重启linux

以下操作都在root用户下

 

[root@HEB-2-SC etc]# reboot

 

待系统重新启动后

 

查看oracle服务是否已经启动

[root@HEB-2-SC ~]$ ps -ef | grep ora

 

 

经过验证,关机前oracle服务已关闭,在系统重启后oracle服务会自动重启

 

此时再用客户端连接数据库,连接正常!

 

 

posted @ 2024-10-09 15:20  一只竹节虫  阅读(62)  评论(0编辑  收藏  举报