Oracle数据库开机自启动的配置
如果服务器断电重启或计划内重启,在服务器的操作系统启动后,需要手工启动数据库实例和监听,本文介绍如何把Oracle数据库的启动和关闭配置成系统服务,在操作系统启动/关闭时,自动启动/关闭Oracle实例和监听。
假设ORACLE_HOME环境变量的值是/oracle/home。
1、启动数据库实例的shell脚本
启动Oracle数据库的脚本为/oracle/home/bin/dbstart,内容如下:
sqlplus / as sysdba <<EOF
startup;
EOF
2、重启数据库实例的shell脚本
启动Oracle数据库的脚本为/oracle/home/bin/dbrestart,内容如下:
sqlplus / as sysdba <<EOF
shutdown immediate;
startup;
EOF
3、关闭数据库实例的shell脚本
启动Oracle数据库的脚本为/oracle/home/bin/dbshut,内容如下:
sqlplus / as sysdba <<EOF
shutdown immediate;
EOF
4、oracle实例的系统服务配置文件脚本
如果把系统服务命名为oracle,则创建服务配置文件/usr/lib/systemd/system/oracle.service,内容如下:
[Unit]
Description=Oracle RDBMS
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/su - oracle -c "/oracle/home/bin/dbstart >> /tmp/oracle.log"
ExecReload=/usr/bin/su - oracle -c "/oracle/home/bin/dbrestart >> /tmp/oracle.log"
ExecStop=/usr/bin/su - oracle -c "/oracle/home/bin/dbshut \>\> /tmp/oracle.log"
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
5、lsnrctl监听的系统服务配置文件脚本
如果把系统服务命名为lsnrctl,则创建服务配置文件/usr/lib/systemd/system/lsnrctl.service,内容如下:
[Unit]
Description=Oracle lsnrctl
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/su - oracle -c "/oracle/home/bin/lsnrctl start >> /tmp/lsnrctl.log"
ExecReload=/usr/bin/su - oracle -c "/oracle/home/bin/lsnrctl reload >> /tmp/lsnrctl.log"
ExecStop=/usr/bin/su - oracle -c "/oracle/home/bin/lsnrctl stop >> /tmp/lsnrctl.log"
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
6、重新加载服务配置文件
systemctl daemon-reload
7、启动/停止/启重oracle和lsnrctl服务
systemctl start oracle # 启动oracle服务。
systemctl restart oracle # 重启oracle服务。
systemctl stop oracle # 关闭oracle服务。
systemctl start lsnrctl # 启动lsnrctl服务。
systemctl restart lsnrctl # 重启lsnrctl服务。。
systemctl stop lsnrctl # 关闭lsnrctl服务。
8、把oracle和lsnrctl服务设置为开机/关机自启动/停止
systemctl enable oracle # 把Oracle实例服务设置为开机自启动。
systemctl enable lsnrctl # 把Oracle监听服务设置为开机自启动。
9、查看Oracle实例和监听启动/停止的日志。
Oracle实例启动的日志在/tmp/oracle.log文件中。
监听的启动日成在/tmp/lsnrctl.log文件中。
注意,只有通过systemctl启动/关闭Oracle实例和监听才会写日志,手工执行脚本不写日志。
10、版权声明
C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。
来源:C语言技术网(www.freecplus.net)
作者:码农有道
如果我们的文章对您有帮助,请点赞评论,让更多的人看到这文章,我们也将继续努力创作更多的文章,谢谢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?