OL9设置oracle23ai数据库开机自启动

1、设置oracle用户的环境变量信息

oracle@OracleLinuxR9U5 \~\]$vim \~/.bash_profile ```bash # Set Oracle environment variables for Oracle 23c AI export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree export ORACLE_SID=FREE export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS_LANG=SIMPLIFIED_CHINESE_CHINA.AL32UTF8 ``` ### 2. 创建 systemd 服务文件 为 Oracle 数据库和监听器分别创建 systemd 服务文件。 #### 2.1 数据库服务文件 创建文件 /etc/systemd/system/oracle-db.service: ```bash [root@OracleLinuxR9U5 dbhomeFree]# touch /etc/systemd/system/oracle-db.service [root@OracleLinuxR9U5 dbhomeFree]# vim /etc/systemd/system/oracle-db.service ``` ```bash [Unit] Description=Oracle Database 23c AI Instance After=network.target [Service] Type=forking User=oracle Group=oinstall Environment="ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree" Environment="ORACLE_SID=FREE" ExecStart=/opt/oracle/product/23ai/dbhomeFree/bin/dbstart $ORACLE_HOME ExecStop=/opt/oracle/product/23ai/dbhomeFree/bin/dbshut $ORACLE_HOME TimeoutSec=300 Restart=on-failure [Install] WantedBy=multi-user.target ``` ### 2.2 监听器服务文件 创建文件 /etc/systemd/system/oracle-lsnrctl.service: ```bash [root@OracleLinuxR9U5 dbhomeFree]# touch /etc/systemd/system/oracle-lsnrctl.service [root@OracleLinuxR9U5 dbhomeFree]# vim /etc/systemd/system/oracle-lsnrctl.service ``` ```bash [Unit] Description=Oracle Listener Control After=network.target [Service] Type=forking User=oracle Group=oinstall Environment="ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree" ExecStart=/opt/oracle/product/23ai/dbhomeFree/bin/lsnrctl start ExecStop=/opt/oracle/product/23ai/dbhomeFree/bin/lsnrctl stop TimeoutSec=300 Restart=on-failure [Install] WantedBy=multi-user.target ``` ### 3. 修改 dbstart 和 dbshut 脚本 确保 dbstart 和 dbshut 脚本能够正确识别 ORACLE_HOME 和 ORACLE_SID。通常不需要修改,但可以检查以下内容: 在 $ORACLE_HOME/bin/dbstart 和 $ORACLE_HOME/bin/dbshut 中,确保没有硬编码的 ORACLE_HOME 或 ORACLE_SID。 确保 /etc/oratab 文件中包含正确的实例信息,例如: ```bash [root@OracleLinuxR9U5 ~]#vim /etc/oratab ``` ```bash FREE:/opt/oracle/product/23ai/dbhomeFree:Y ``` ### 4. 重新加载 systemd 配置 ```bash 执行以下命令重新加载 systemd 配置并启用服务: [root@OracleLinuxR9U5 ~]#sudo systemctl daemon-reload [root@OracleLinuxR9U5 ~]#sudo systemctl enable oracle-db.service [root@OracleLinuxR9U5 ~]#sudo systemctl enable oracle-lsnrctl.service ``` ### 5. 测试服务 启动并检查服务状态: ```bash [root@OracleLinuxR9U5 ~]#sudo systemctl start oracle-db.service [root@OracleLinuxR9U5 ~]#sudo systemctl start oracle-lsnrctl.service [root@OracleLinuxR9U5 ~]#sudo systemctl status oracle-db.service [root@OracleLinuxR9U5 ~]#sudo systemctl status oracle-lsnrctl.service [root@OracleLinuxR9U5 ~]#sudo systemctl stop oracle-db.service [root@OracleLinuxR9U5 ~]#sudo systemctl stop oracle-lsnrctl.service ```

相关推荐
zfoo-framework1 小时前
线上redis的使用
数据库·redis·缓存
典孝赢麻崩乐急1 小时前
Redis学习-----Redis的基本数据类型
数据库·redis·学习
止水编程 water_proof2 小时前
MySQL——事务详解
数据库·mysql
爱喝水的鱼丶2 小时前
SAP-ABAP:SAP ABAP OpenSQL JOIN 操作权威指南高效关联多表数据
运维·开发语言·数据库·sap·abap
m0_653031362 小时前
一套视频快速入门并精通PostgreSQL
数据库·postgresql
不似桂花酒3 小时前
数据库小知识
数据库·sql·mysql
ZZH1120KQ3 小时前
ORACLE的表维护
数据库·oracle
典孝赢麻崩乐急3 小时前
数据库学习------数据库事务的特性
数据库·学习·oracle
杜哥无敌3 小时前
在SQL SERVER 中,用SSMS 实现存储过程的每日自动调用
数据库
Warren983 小时前
MySQL查询语句详解
java·开发语言·数据库·mysql·算法·蓝桥杯·maven