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

相关推荐
廿一夏1 小时前
MySql存储引擎与索引
数据库·sql·mysql
lzhdim3 小时前
SQL 入门 15:SQL 事务:从 ACID 到四种常见的并发问题
数据库·sql
瀚高PG实验室4 小时前
瀚高企业版V9.1.1在pg_restore还原备份文件时提示extract函数语法问题
数据库·瀚高数据库
TDengine (老段)4 小时前
TDengine Tag 设计哲学与 Schema 变更机制
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
YOU OU5 小时前
Spring IoC&DI
java·数据库·spring
Muscleheng6 小时前
Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
数据库·postgresql
罗超驿7 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
jran-7 小时前
Redis 命令
数据库·redis·缓存
小江的记录本7 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
June`8 小时前
多线程redis下如何解决aof重写和rdb持久化的数据一致性问题
数据库·redis·缓存