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 ```

相关推荐
合作小小程序员小小店12 小时前
桌面开发,超市管理系统开发,基于C#,winform,sql server数据库
开发语言·数据库·sql·microsoft·sqlserver·c#
quweiie12 小时前
thinkphp8.0链接SQL SERVER2022数据库
数据库·sqlserver·thinkphp
Databend13 小时前
如何打造AI时代的数据基石 | Databend Meetup 上海站
数据库
老华带你飞13 小时前
海产品销售系统|海鲜商城购物|基于SprinBoot+vue的海鲜商城系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·海鲜商城购物系统
合作小小程序员小小店13 小时前
桌面开发,在线%超市销售管理%系统,基于vs2022,c#,winform,sql server数据
开发语言·数据库·microsoft·c#
SelectDB13 小时前
字节跳动:Apache Doris + AI 一站式融合数据引擎的探索与实践
数据库·apache
IvorySQL14 小时前
PostgreSQL 18 - 时间约束 (Temporal Constraints)
数据库·postgresql·开源
q***614114 小时前
从MySQL迁移到PostgreSQL的完整指南
数据库·mysql·postgresql
N***738514 小时前
SQL锁机制
java·数据库·sql
小羊在奋斗14 小时前
MySQL表的约束:从基础到核心(附场景+案例)
android·数据库·mysql