Oracle数据库开机自启大法好
作者简介:
作者:LuciferLiu
中国DBA联盟(ACDU)成员。目前从事Oracle DBA工作,曾从事 Oracle 数据库开发工作,主要服务于生产制造,汽车金融等行业。现拥有Oracle OCP,OceanBase OBCA认证,擅长Oracle数据库运维开发,备份恢复,安装迁移,Linux自动化运维脚本编写等。
前言
大家是否有遇到过,公司通知停电,要求数据库主机在特定时段内关闭开启的情况。如果开库时间被设定在你不方便的时间点,有什么好的解决方案呢?
答案:设置数据库随主机启动自启服务即可,当然方法可以是多种多样。
一、单实例配置rc.local自启动
1、修改/etc/oratab
dbca建库时都会自动创建/etc/oratab文件
需要将orcl:/u01/app/oracle/product/11.2.0/dbhome_1:N
修改成 orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y
vi /etc/oratab
##修改为Y
cdb:/u01/app/oracle/product/19.3.0/db_1:Y
2、修改dbstart脚本
将ORACLE_HOME_LISTNER=$1修改成ORACLE_HOME_LISTNER=$ORACLE_HOME 前提是$ORACLE_HOME环境设置正确
cd $ORACLE_HOME/bin
vi dbstart
##ORACLE_HOME_LISTNER=$1修改为如下
ORACLE_HOME_LISTNER=$ORACLE_HOME
3、修改/etc/rc.d/rc.local
vim /etc/rc.d/rc.local
#添加
su oracle -lc "/u01/app/oracle/product/19.3.0/db_1/bin/lsnrctl start"
su oracle -lc /u01/app/oracle/product/19.3.0/db_1/bin/dbstart
4、重启测试
##重启
reboot
##等待主机开启之后,查看数据库实例启动状态
ps -ef|grep smon
sqlplus / as sysdba
select instance_name,status from gv$instance;
INSTANCE_NAME STATUS
---------------- ------------
cdb OPEN
二、RAC配置crs自启动
1.查看crs是否自启动
** 注意:需要提前配置root用户环境变量。**
##具体路径根据实际情况填写
cat <<EOF>>/root/.bash_profile
alias crsctl='/u01/app/19.3.0/grid/bin/crsctl'
EOF
##生效环境变量
source /root/.bash_profile
设置crs自启动:
##root用户下
crsctl config has
##如果显示disable则开启
crsctl enable has
2.查看AUTO_START参数
/u01/app/19.3.0/grid/bin/crsctl stat res ora.orcl.db -p | grep AUTO_START
注意:其中ora.orcl.db需要根据实际情况来填写。输出结果为 restore 即未开启。
3.设置实例跟随crs自启动
##root用户下执行
##11g可以这样设置,
/u01/app/19.3.0/grid/bin/crsctl modify res ora.orcl.db -attr AUTO_START=always
##19c需要加上参数 -unsupported
/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的参数。
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力,技术交流可以关注公众号~
墨天轮:Lucifer三思而后行
CSDN:Lucifer三思而后行
微信公众号:Lucifer三思而后行
- 点赞
- 收藏
- 关注作者
评论(0)