跳到主要内容返回博客列表如何配置Oracle开机自启?
作者:LuciferLiu,中国DBA联盟ACDU成员。 目前从事Oracle DBA工作,曾从事 Oracle 数据库开发工作,主要服务于生产制造,汽车金融等行业。现拥有Oracle OCP,OceanBase OBCA认证,擅长Oracle数据库运维开发,备份恢复,安装迁移,Linux自动化运维脚本编写等。 大家是否有遇到过,公司通知停电,要求数据库主机在特定时段内关闭开启的情况。如果开库时间
- 2738+ 篇实战文章
- 1500+ 步骤截图
- 10 大核心模块
作者简介
作者:LuciferLiu,中国DBA联盟(ACDU)成员。
目前从事Oracle DBA工作,曾从事 Oracle 数据库开发工作,主要服务于生产制造,汽车金融等行业。现拥有Oracle OCP,OceanBase OBCA认证,擅长Oracle数据库运维开发,备份恢复,安装迁移,Linux自动化运维脚本编写等。
前言
大家是否有遇到过,公司通知停电,要求数据库主机在特定时段内关闭开启的情况。如果开库时间被设定在你不方便的时间点,有什么好的解决方案呢?
答案:设置数据库随主机启动自启服务即可,当然方法可以是多种多样。
一、配置rc.local(单实例)
本章目标:掌握本章核心知识点
前置要求:完成前序章节学习
预计时长:60 分钟
1 修改/etc/oratab
1vi /etc/oratab
2##修改为Y
3cdb:/u01/app/oracle/product/19.3.0/db_1:Y
2 修改dbstart脚本
- 替换
ORACLE_HOME_LISTNER=$1:
1cd $ORACLE_HOME/bin
2vi dbstart
3##ORACLE_HOME_LISTNER=$1修改为如下
4ORACLE_HOME_LISTNER=$ORACLE_HOME
3 修改/etc/rc.d/rc.local
1vim /etc/rc.d/rc.local
2#添加
3su oracle -lc "/u01/app/oracle/product/19.3.0/db_1/bin/lsnrctl start"
4su oracle -lc /u01/app/oracle/product/19.3.0/db_1/bin/dbstart
二、配置crs(RAC集群)
1 查看crs是否自启动
1##具体路径根据实际情况填写
2cat <<EOF>>/root/.bash_profile
3alias crsctl='/u01/app/19.3.0/grid/bin/crsctl'
4EOF
5
6##生效环境变量
7source /root/.bash_profile
1##root用户下
2crsctl config has
3
4##如果显示disable则开启
5crsctl enable has
2 查看AUTO_START参数
1/u01/app/19.3.0/grid/bin/crsctl stat res ora.orcl.db -p | grep AUTO_START
注意:其中 ora.orcl.db 需要根据实际情况来填写。输出结果为 restore 即 未开启。
3 设置实例跟随crs自启动
1##root用户下执行
2##11g可以这样设置,
3/u01/app/19.3.0/grid/bin/crsctl modify res ora.orcl.db -attr AUTO_START=always
4
5##19c需要加上参数 -unsupported
6/u01/app/19.3.0/grid/bin/crsctl modify resource "ora.orcl.db" -attr "AUTO_START=always" -unsupported
自从12.1.0.2之后,如果使用crsctl 进行ora resource的修改、启动、关闭,都会遭遇 CRS-4995 The command 'Modify resource' is invalid in crsctl. Use srvctl for this command.的错误。
解决方案:加上-unsupported的参数。
三、重启测试
重启数据库主机
1##关闭数据库实例
2##单实例
3sqlplus / as sysdba
4shutdown immediate
5
6##rac集群
7srvctl stop database -d orcl
8
9##重启主机
10reboot
检查数据库状态
1##等待主机开启之后,查看数据库实例启动状态
2ps -ef|grep smon
3sqlplus / as sysdba
4select instance_name,status from gv$instance;
5
6INSTANCE_NAME STATUS
7---------------- ------------
8cdb OPEN
可以看到,重启主机后数据库已经成功启动,并且实例状态为OPEN,说明已经设置成功。
本次分享结束啦~
感谢您的阅读,希望对您有所帮助!
- 墨天轮:Lucifer三思而后行
- CSDN:Lucifer三思而后行
- 微信公众号:Lucifer三思而后行
如何配置Oracle开机自启? - DBA 学习之路