Centos7 Oracle19c 开机自启设置!

# 配置开机启动服务
# 切换到oracle账号
su - oracle

# 查找监听服务路径
whereis lsnrctl

在这里插入图片描述

# 创建oracle指令shell脚本
# 创建 启动 数据库实例脚本
vim /data/oracle/scripts/dbstart.sh
# 文件内容为:
sqlplus / as sysdba <<EOF
startup;
EOF

# 创建 重启 数据库实例脚本
vim /data/oracle/scripts/dbrestart.sh
# 文件内容为:
sqlplus / as sysdba <<EOF
shutdown immediate;
startup;
EOF

# 创建 关闭 数据库实例脚本
vim /data/oracle/scripts/dbshut.sh
# 文件内容为:
sqlplus / as sysdba <<EOF
shutdown immediate;
EOF

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

# 文件授权(给文件加上执行权限)

# 进入 /data/oracle/scripts/ 目录(下面图片中忘记截图了)
cd /data/oracle/scripts/
# 切换root账号
su root
# 文件授权
chmod +x ./dbstart.sh
chmod +x ./dbrestart.sh
chmod +x ./dbshut.sh

在这里插入图片描述

# 配置启动服务 -> oracle.service 和 -> lsnrctl.service
# 切换 oracle 账号
su oracle
# 进入 /usr/lib/systemd/system 目录
cd /usr/lib/systemd/system
# 创建当前目录下的 oracle.service 文件
vim ./oracle.service

# 内容为:
[Unit]
Description=Oracle RDBMS
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/su - oracle -c "/data/oracle/scripts/dbstart.sh >> /tmp/oracle.log"
ExecReload=/usr/bin/su - oracle -c "/data/oracle/scripts/dbrestart.sh >> /tmp/oracle.log"
ExecStop=/usr/bin/su - oracle -c "/data/oracle/scripts/dbshut.sh \>\> /tmp/oracle.log"
RemainAfterExit=yes


[Install]
WantedBy=multi-user.target

# 查询 oracle 的安装目录
echo $ORACLE_HOME
# 创建当前目录下的 lsnrctl.service 文件
vim ./lsnrctl.service

# 内容为:
[Unit]
Description=Oracle lsnrctl
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/su - oracle -c "/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start >> /tmp/lsnrctl.log"
ExecReload=/usr/bin/su - oracle -c "/opt/oracle/product/19c/dbhome_1/bin/lsnrctl reload >> /tmp/lsnrctl.log"
ExecStop=/usr/bin/su - oracle -c "/opt/oracle/product/19c/dbhome_1/bin/lsnrctl stop >> /tmp/lsnrctl.log"
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

# 刷新服务配置文件
systemctl daemon-reload

在这里插入图片描述

# 测试
# 执行脚本检查是否有问题
/usr/bin/su - oracle -c "/opt/oracle/product/19c/dbhome_1/bin/lsnrctl status >> /tmp/lsnrctl.log"

# 下面这个命令执行后需要稍等一会!
/usr/bin/su - oracle -c "/data/oracle/scripts/dbshut.sh \>\> /tmp/oracle.log"

在这里插入图片描述
在这里插入图片描述

# 切换 root 账号
su root
# 启动oracle服务
systemctl start oracle
# 重启oracle服务
systemctl restart oracle
# 关闭oracle服务
systemctl stop oracle

# 启动lsnrctl服务
systemctl start lsnrctl
# 重启lsnrctl服务
systemctl restart lsnrctl
# 关闭lsnrctl服务
systemctl stop lsnrctl

在这里插入图片描述

# 将 oracle 和 lsnrctl 服务设置为开机/关机自动启动/停止
# 把oracle实例服务设置为开机自启动
systemctl enable oracle

# 把oracle监听服务设置为开机自启动
systemctl enable lsnrctl

在这里插入图片描述

# 执行 systemctl stop oracle ,避免 oracle 因为异常关闭,而导致开机启动异常。
systemctl stop oracle
# 关机
reboot

在这里插入图片描述

# 稍等一会后,使用PLSQL连接,看看能否连接成功!

在这里插入图片描述

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值