无忧启动论坛

标题: 记录一次虚拟机中oracle-linux9.4安装oracle-database-free-23ai及主机用sqlplus连接 [打印本页]

作者: likeyouli    时间: 2025-6-14 09:29
标题: 记录一次虚拟机中oracle-linux9.4安装oracle-database-free-23ai及主机用sqlplus连接
本帖最后由 likeyouli 于 2025-6-23 10:32 编辑

如题,主机系统win11企业版,虚拟机用的vmware16,
   首先安装oracle linux,来这里下载https://yum.oracle.com/oracle-linux-isos.html
我下载的full iso:[backcolor=rgba(0, 0, 0, 0.05)]OracleLinux-R9-U4-x86_64-dvd.iso,然后再vmware中新建虚拟机,由于选择linux版本的时候没有oracle linux9 ,只能选择Oracle Linux 8 64 位代替,最后安装完也没感觉到有啥问题。安装的过程中,我选择的带gui界面的,感觉最小化安装(只安装带命令行的也应该没有啥问题),其余注意的,安装过程中别忘了打开网络,否则没有网,网络方式nat。 系统安装完毕。
        主机cmd下,ssh root@192.168.1.128,连接上linux系统,我的习惯更改一下命令提示符颜色echo 'PS1="\[\e[1;3;32m\][\u@\h \w]\\$\[\e[0m\]"' > /etc/profile.d/env.sh ,退出再登录一次即可看到效果,这里的\h 显示为localhost,如果想显示为本机的ip地址,可以使用 echo [size=12.573px]'PS1="\[\e[1;3;32m\][\u@$(ip route get 1 | awk "{print \$7}" | xargs) \w]\\$\[\e[0m\]"' > /etc/profile.d/env.sh [size=12.573px][size=12.573px]或者直接将\h 替换为hostname -I,注意这里的I一定要为大写,否则会显示[size=12.573px]::1 127.0.0.1
[size=12.573px]         看看能够使用的仓库
[root@LocalHost ~]#yum repolist all
仓库 id                                 仓库名称                                                                    状态
ol9_MODRHCK                             Latest RHCK with fixes from Oracle for Oracle Linux 9 (x86_64)              禁用
ol9_RDMA                                Oracle Linux 9 (x86_64) RDMA                                                禁用
ol9_UEKR7                               Oracle Linux 9 UEK Release 7 (x86_64)                                       启用
ol9_addons                              Oracle Linux 9 Addons (x86_64)                                              禁用
ol9_appstream                           Oracle Linux 9 Application Stream Packages (x86_64)                         启用
ol9_baseos_latest                       Oracle Linux 9 BaseOS Latest (x86_64)                                       启用
ol9_codeready_builder                   Oracle Linux 9 CodeReady Builder (x86_64) - (Unsupported)                   禁用
ol9_distro_builder                      Oracle Linux 9 Distro Builder (x86_64) - (Unsupported)                      禁用
ol9_kvm_utils                           Oracle Linux 9 KVM Utilities (x86_64)                                       禁用
ol9_u0_baseos_base                      Oracle Linux 9 BaseOS GA (x86_64)                                           禁用
ol9_u1_baseos_base                      Oracle Linux 9.1 BaseOS (x86_64)                                            禁用
ol9_u2_baseos_base                      Oracle Linux 9.2 BaseOS (x86_64)                                            禁用
ol9_u3_baseos_base                      Oracle Linux 9.3 BaseOS (x86_64)                                            禁用
ol9_u3_security_validation              Oracle Linux 9 Update 3 (x86_64) Security Validations                       禁用
ol9_u4_baseos_base                      Oracle Linux 9.4 BaseOS (x86_64)                                            禁用
[root@localhost ~]#yum repolist
仓库 id                                    仓库名称
ol9_UEKR7                                  Oracle Linux 9 UEK Release 7 (x86_64)
ol9_appstream                              Oracle Linux 9 Application Stream Packages (x86_64)
ol9_baseos_latest                          Oracle Linux 9 BaseOS Latest (x86_64)
[root@localhost ~]#yum repoinfo
上次元数据过期检查:0:01:42 前,执行于 2025年06月13日 星期五 08时09分47秒。
仓库ID            : ol9_UEKR7
仓库名称          : Oracle Linux 9 UEK Release 7 (x86_64)
软件仓库修订版      : 1749467737
更新的软件仓库       : 2025年06月09日 星期一 19时15分42秒
软件仓库的软件包          : 1,079
软件仓库的可用软件包: 1,079
软件仓库大小          : 29 G
软件仓库基本 URL       : https://yum.oracle.com/repo/OracleLinux/OL9/UEKR7/x86_64/
软件仓库过期时间        : 172,800 秒 (最近 2025年06月13日 星期五 08时09分47秒)
仓库文件名      : /etc/yum.repos.d/uek-ol9.repo

仓库ID            : ol9_appstream
仓库名称          : Oracle Linux 9 Application Stream Packages (x86_64)
软件仓库修订版      : 1749764851
更新的软件仓库       : 2025年06月13日 星期五 05时53分34秒
软件仓库的软件包          : 32,232
软件仓库的可用软件包: 30,929
软件仓库大小          : 290 G
软件仓库基本 URL       : https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/
软件仓库过期时间        : 172,800 秒 (最近 2025年06月13日 星期五 08时08分49秒)
仓库文件名      : /etc/yum.repos.d/oracle-linux-ol9.repo

仓库ID            : ol9_baseos_latest
仓库名称          : Oracle Linux 9 BaseOS Latest (x86_64)
软件仓库修订版      : 1749764761
更新的软件仓库       : 2025年06月13日 星期五 05时46分04秒
软件仓库的软件包          : 13,247
软件仓库的可用软件包: 13,247
软件仓库大小          : 61 G
软件仓库基本 URL       : https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/x86_64/
软件仓库过期时间        : 172,800 秒 (最近 2025年06月13日 星期五 08时08分32秒)
仓库文件名      : /etc/yum.repos.d/oracle-linux-ol9.repo
软件包总数:46,558

[size=12.573px]      最大的一个仓库290g,真厉害
[size=12.573px]     yum search all 23ai 查找带23ai的rpm包
[root@localhost ~]#yum search all 23ai
上次元数据过期检查:0:04:14 前,执行于 2025年06月13日 星期五 08时09分47秒。
================================================================================================ 名称 匹配:23ai ================================================================================================
oracle-database-preinstall-23ai.src : Oracle Database Preinstallation RPM
oracle-database-preinstall-23ai.x86_64 : Oracle Database Preinstallation RPM
oracle-instantclient-release-23ai-el9.src : Oracle Instant Client yum repository configuration
oracle-instantclient-release-23ai-el9.x86_64 : Oracle Instant Client yum repository configuration

[size=12.573px]   先安装一下安装数据库前的预安装环境yum install oracle-database-preinstall-23ai.x86_64
[root@localhost ~]#yum install oracle-database-preinstall-23ai.x86_64
上次元数据过期检查:0:06:37 前,执行于 2025年06月13日 星期五 08时09分47秒。
依赖关系解决。
=================================================================================================================================================================================================================
软件包                                                       架构                                版本                                                      仓库                                            大小
=================================================================================================================================================================================================================
安装:
oracle-database-preinstall-23ai                              x86_64                              1.0-3.el9                                                 ol9_appstream                                   35 k
安装依赖关系:
compat-openssl11                                             x86_64                              1:1.1.1k-5.el9_6.1                                        ol9_appstream                                  1.5 M
glibc-devel                                                  x86_64                              2.34-100.0.1.el9                                          ol9_appstream                                   58 k
glibc-headers                                                x86_64                              2.34-100.0.1.el9                                          ol9_appstream                                  914 k
gssproxy                                                     x86_64                              0.8.4-7.el9                                               ol9_baseos_latest                              120 k
initscripts                                                  x86_64                              10.11.8-4.0.1.el9                                         ol9_baseos_latest                              285 k
kernel-headers                                               x86_64                              5.14.0-570.21.1.0.1.el9_6                                 ol9_appstream                                  4.3 M
ksh                                                          x86_64                              3:1.0.6-6.0.1.el9                                         ol9_appstream                                  886 k
libev                                                        x86_64                              4.33-6.el9                                                ol9_baseos_latest                               56 k
libnfsidmap                                                  x86_64                              1:2.5.4-34.0.1.el9                                        ol9_baseos_latest                               70 k
libverto-libev                                               x86_64                              0.3.2-3.el9                                               ol9_baseos_latest                               14 k
libxcrypt-devel                                              x86_64                              4.4.18-3.el9                                              ol9_appstream                                   42 k
lm_sensors-libs                                              x86_64                              3.6.0-10.el9                                              ol9_appstream                                   42 k
make                                                         x86_64                              1:4.3-8.el9                                               ol9_baseos_latest                              570 k
nfs-utils                                                    x86_64                              1:2.5.4-34.0.1.el9                                        ol9_baseos_latest                              516 k
pcp-conf                                                     x86_64                              6.3.7-1.el9_6                                             ol9_appstream                                   42 k
pcp-libs                                                     x86_64                              6.3.7-1.el9_6                                             ol9_appstream                                  654 k
rpcbind                                                      x86_64                              1.2.6-7.el9                                               ol9_baseos_latest                               69 k
sssd-nfs-idmap                                               x86_64                              2.9.4-2.0.1.el9                                           ol9_baseos_latest                               49 k
sysstat                                                      x86_64                              12.5.4-9.0.2.el9                                          ol9_appstream                                  541 k

事务概要
=================================================================================================================================================================================================================
安装  20 软件包

总下载:11 M
安装大小:23 M
确定吗?[y/N]: y
下载软件包:
(1/20): libev-4.33-6.el9.x86_64.rpm                                                                                                                                               34 kB/s |  56 kB     00:01
(2/20): gssproxy-0.8.4-7.el9.x86_64.rpm                                                                                                                                           68 kB/s | 120 kB     00:01

[size=12.573px]由于从仓库我里也没有search到oracle数据库安装包,只能自己找地址下载了[size=12.573px]https://www.oracle.com/database/free/get-started/
[size=12.573px]  然后通过wget [size=12.573px]https://download.oracle.com/otn- ... .8-1.el9.x86_64.rpm[size=12.573px]进行下载
[root@localhost ~]# wget https://download.oracle.com/otn- ... .8-1.el9.x86_64.rpm
--2025-06-13 08:33:50--  https://download.oracle.com/otn- ... .8-1.el9.x86_64.rpm
正在解析主机 download.oracle.com (download.oracle.com)... 184.25.52.122
正在连接 download.oracle.com (download.oracle.com)|184.25.52.122|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Moved Temporarily
位置:https://edelivery.oracle.com/otn ... .8-1.el9.x86_64.rpm [跟随至新的 URL]
--2025-06-13 08:33:51--  https://edelivery.oracle.com/otn ... .8-1.el9.x86_64.rpm
正在解析主机 edelivery.oracle.com (edelivery.oracle.com)... 23.34.50.203, 2a02:26f0:3400:2be::366, 2a02:26f0:3400:28d::366
正在连接 edelivery.oracle.com (edelivery.oracle.com)|23.34.50.203|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Moved Temporarily
位置:https://download.oracle.com/otn- ... c4bdf47f51f4f7af138 [跟随至新的 URL]
--2025-06-13 08:33:53--  https://download.oracle.com/otn- ... c4bdf47f51f4f7af138
正在连接 download.oracle.com (download.oracle.com)|184.25.52.122|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1401096996 (1.3G) [application/x-redhat-package-manager]
正在保存至: “oracle-database-free-23ai-23.8-1.el9.x86_64.rpm”

oracle-database-free-23ai-23.8-1.el9.x86_64.rpm      100%[===================================================================================================================>]   1.30G  14.8MB/s  用时 5m 49s

[size=12.573px]然后开始安装
[root@localhost ~]#  dnf -y install oracle-database-free-23ai-23.8-1.el9.x86_64.rpm
上次元数据过期检查:2:06:55 前,执行于 2025年06月13日 星期五 08时09分47秒。
依赖关系解决。
=================================================================================================================================================================================================================
软件包                                                         架构                                        版本                                         仓库                                               大小
=================================================================================================================================================================================================================
安装:
oracle-database-free-23ai                                      x86_64                                      23.8-1                                       @commandline                                      1.3 G

事务概要
=================================================================================================================================================================================================================
安装  1 软件包

总计:1.3 G
安装大小:3.6 G
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                                                                  1/1
  运行脚本: oracle-database-free-23ai-23.8-1.x86_64                                                                                                                                                          1/1
  安装    : oracle-database-free-23ai-23.8-1.x86_64                                                                                                                                                          1/1
  运行脚本: oracle-database-free-23ai-23.8-1.x86_64                                                                                                                                                          1/1
[INFO] Executing post installation scripts...
[INFO] Oracle home installed successfully and ready to be configured.
To configure Oracle Database Free, optionally modify the parameters in '/etc/sysconfig/oracle-free-23ai.conf' and then run '/etc/init.d/oracle-free-23ai configure' as root.

初始化并运行
[root@localhost ~]# /etc/init.d/oracle-free-23ai configure
Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:
Confirm the password:
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database FREE.
输入 SYS 用户口令:
*****
输入 SYSTEM 用户口令:
*****
输入 PDBADMIN 用户口令:
*****
准备执行数据库操作
已完成 7%
复制数据库文件
已完成 29%
正在创建并启动 Oracle 实例
已完成 30%
已完成 33%
已完成 36%
已完成 39%
已完成 43%
正在进行数据库创建
已完成 47%
已完成 49%
已完成 50%
正在创建插接式数据库
已完成 54%
已完成 71%
执行配置后操作
已完成 93%
正在运行定制脚本
已完成 100%
数据库创建完成。有关详细信息, 请查看以下位置的日志文件:
/opt/oracle/cfgtoollogs/dbca/FREE。
数据库信息:
全局数据库名:FREE
系统标识符 (SID):FREE
有关详细信息, 请参阅日志文件 "/opt/oracle/cfgtoollogs/dbca/FREE/FREE.log"。

此时会创建oracle用户,切换到oracle用户,su oracle,
[root@localhost ~]# su oracle
[oracle@localhost root]$ export ORACLE_SID=FREE
[oracle@localhost root]$ export ORAENV_ASK=NO
[oracle@localhost root]$ . /opt/oracle/product/23ai/dbhomeFree/bin/oraenv

如果想远程连接,还需关闭防火墙,先关闭,再禁止下次启动运行;此时可运行/etc/init.d/oracle-free-23ai status查看一下数据库的状态,显示为两个running则正常
[root@localhost ~]# /etc/init.d/oracle-free-23ai status
Status of the Oracle FREE 23ai service:

LISTENER status: RUNNING
FREE Database status:   RUNNING

配置环境变量 vim /etc/profile,配置完成别忘了source /etc/profile 使其生效;
export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
export ORACLE_SID=FREE
export PDB_NAME=FREEPDB1
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:/lib:/usr/lib
export PATH=${ORACLE_HOME}/bin:${ORACLE_HOME}/OPatch:$OGG_HOME:${PATH}
export HOST=`hostname | cut -f1 -d"."`
export LD_LIBRARY_PATH=$ORACLE_HOME/Lib:$ORACLE_HOME/Lib32:$0GG_HOME:/lib/usr/lib:/usr/local/lib
# General exports and vars
export PATH=$ORACLE_HOME/bin:$PATH
LSNR=$ORACLE_HOME/bin/lsnrctl
SQLPLUS=$ORACLE_HOME/bin/sqlplus

查看一下监听状态
[root@localhost ~]#lsnrctl status
LSNRCTL for Linux: Version 23.0.0.0.0 - Production on 14-JUN-2025 09:12:14
Copyright (c) 1991, 2025, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 23.0.0.0.0 - Production
Start Date                13-JUN-2025 22:07:15
Uptime                    0 days 11 hr. 4 min. 59 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           FREE
Listener Parameter File   /opt/oracle/product/23ai/dbhomeFree/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "376bf6b4d147a4fce065000000000001" has 1 instance(s).
  Instance "FREE", status READY, has 1 handler(s) for this service...
Service "FREE" has 1 instance(s).
  Instance "FREE", status READY, has 1 handler(s) for this service...
Service "FREEXDB" has 1 instance(s).
  Instance "FREE", status READY, has 1 handler(s) for this service...
Service "freepdb1" has 1 instance(s).
  Instance "FREE", status READY, has 1 handler(s) for this service...
The command completed successfully

查看一下端口后是否正常监听
[root@localhost ~]#netstat -tulnp | grep 1521
tcp6       0      0 :::1521                 :::*                    LISTEN      50976/tnslsnr
[root@localhost ~]#netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      982/sshd: /usr/sbin
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      981/cupsd
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd
tcp6       0      0 :::22                   :::*                    LISTEN      982/sshd: /usr/sbin
tcp6       0      0 :::28237                :::*                    LISTEN      51129/db_d000_FREE
tcp6       0      0 :::1521                 :::*                    LISTEN      50976/tnslsnr
tcp6       0      0 ::1:631                 :::*                    LISTEN      981/cupsd
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           777/avahi-daemon: r
udp        0      0 0.0.0.0:111             0.0.0.0:*                           1/systemd
udp        0      0 127.0.0.1:323           0.0.0.0:*                           808/chronyd
udp        0      0 0.0.0.0:39632           0.0.0.0:*                           777/avahi-daemon: r
udp6       0      0 ::1:25412               :::*                                51131/db_s000_FREE
udp6       0      0 :::5353                 :::*                                777/avahi-daemon: r
udp6       0      0 ::1:13759               :::*                                51084/db_lreg_FREE
udp6       0      0 :::57202                :::*                                777/avahi-daemon: r
udp6       0      0 :::111                  :::*                                1/systemd
udp6       0      0 ::1:323                 :::*                                808/chronyd
udp6       0      0 ::1:64210               :::*                                51129/db_d000_FREE

自动启动和关闭监听器和数据库 systemctl daemon-reload  ;   /usr/lib/systemd/systemd-sysv-install enable oracle-free-23ai  ;
关闭systemctl stop oracle-free-23ai.service    ;重新启动 systemctl restart oracle-free-23ai
    此时都可以通过/etc/init.d/oracle-free-23ai status 查看状态 ,确保两个running













作者: likeyouli    时间: 2025-6-14 09:30
本帖最后由 likeyouli 于 2025-6-14 09:52 编辑

主机中仅想安装sqlplus,不想安装oracle数据库了,毕竟太占用资源,再说我主机多个系统,随意切换到哪个系统,都可以方便连接虚拟机中的数据库注意图片中的两个文件都需要下载 https://www.oracle.com/cn/databa ... 4-64-downloads.html

c 盘中新建C:\oracle\instantclient_23 文件夹,将basic中的instantclient_23_8这个文件夹里边的所有内容拷贝到C:\oracle\instantclient_23里边,再将sqlplus包里的instantclient_23_8这个文件夹下的所有内容也拷贝到C:\oracle\instantclient_23里边,有点合并instantclient_23_8文件夹下内容的感觉,至于两个压缩包里的META-INF不知道有啥用
    然后就是设置环境变量,直接用户变量里添加上C:\oracle\instantclient_23即可,(可选设置[size=12.573px]ORACLE_HOME=C:\oracle\instantclient_23)。

[size=16.002px]Instant Client 23c 需要 VS 2019 运行时库:

dumpbin /dependents sqlplus.exe
[size=16.002px]查看缺少哪些 DLL 文件

..png (8.63 KB, 下载次数: 0)

两个都需要下载

两个都需要下载

作者: likeyouli    时间: 2025-6-14 09:31
本帖最后由 likeyouli 于 2025-6-19 22:04 编辑

占楼,另做他用 https://developer.aliyun.com/article/1637345开发者社区 数据库 文章 正文
Linux平台Oracle开机自启动设置2024-11-14195发布于河北
版权



简介: 【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
[color=rgba(0, 0, 0, 0.65)]
  • 理解 Linux 服务管理机制
  • 在 Linux 系统中,服务的开机自启动通常是通过系统的初始化系统来管理的。常见的初始化系统有 System V(SysV)和 systemd。CentOS 6 及更早版本主要使用 SysV,而 CentOS 7 及更高版本、Ubuntu 等系统主要使用 systemd。System V 使用一系列以/etc/init.d/为目录的脚本,而 systemd 使用单元配置文件(.service文件)。
  • 针对 systemd 系统(如 CentOS 7+、Ubuntu 等)的 Oracle 开机自启动设置
  • 步骤一:创建 Oracle 服务单元文件
  • 以oracle用户(通常是安装和管理 Oracle 数据库的用户)登录系统。
  • 创建一个名为oracle.service的文件,通常放在/usr/lib/systemd/system/目录下。示例文件内容如下:

[Unit]Description = Oracle Database ServiceAfter = network.target[Service]User = oracleGroup = dbaType = simpleExecStart = /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstartExecStop = /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshutRestart = always[Install]WantedBy = multi - user.target










  • 在[Unit]部分:
  • Description是对服务的描述,这里写的是 “Oracle Database Service”。
  • After表示这个服务应该在network.target之后启动,因为 Oracle 数据库通常需要网络连接。
  • 在[Service]部分:
  • User和Group指定了运行 Oracle 服务的用户和组,这里是oracle用户和dba组。
  • Type = simple表示这是一个简单的服务类型,即执行ExecStart指定的命令来启动服务。
  • ExecStart指定了启动 Oracle 数据库的命令路径,这里是/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart,你需要根据自己的 Oracle 安装路径进行调整。
  • ExecStop指定了关闭 Oracle 数据库的命令路径,这里是/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut。
  • Restart = always表示如果服务意外停止,系统会自动重新启动它。
  • 在[Install]部分:
  • WantedBy = multi - user.target表示这个服务在多用户模式下应该被启动。
  • 步骤二:重新加载 systemd 配置
  • 使用以下命令让 systemd 重新加载配置文件:

systemctl daemon - reload










  • 步骤三:设置开机自启动并启动服务
  • 要设置 Oracle 服务开机自启动,可以使用以下命令:

systemctl enable oracle.service










  • 要立即启动 Oracle 服务,可以使用:

systemctl start oracle.service










  • 针对 System V 系统(如 CentOS 6 等)的 Oracle 开机自启动设置
  • 步骤一:编辑 Oracle 启动脚本
  • 以oracle用户登录系统。
  • 找到 Oracle 数据库的启动脚本,通常在/etc/init.d/目录下,例如/etc/init.d/oradb(名称可能因安装方式而异)。
  • 编辑这个脚本,在开头添加以下内容:

#! /bin/bash# chkconfig: 345 99 10# description: Oracle Database Service










  • chkconfig: 345 99 10表示这个服务在运行级别 3、4、5 下,启动优先级是 99,停止优先级是 10。
  • 步骤二:设置开机自启动
  • 使用以下命令设置服务开机自启动:

chkconfig --add oradbchkconfig oradb on










  • 步骤三:启动服务
  • 使用以下命令启动 Oracle 数据库服务:

service oradb start










无论是哪种方式,在设置完成后,最好重启系统来验证 Oracle 数据库是否能够自动启动。如果在启动过程中出现问题,可以查看系统日志(如/var/log/messages或/var/log/syslog)来查找故障原因。













作者: guong    时间: 2025-6-14 12:14
进来学习一下
作者: jho    时间: 2025-6-14 16:03
学习了
作者: guong    时间: 2025-6-15 12:45
来学习学习
作者: likeyouli    时间: 2025-6-19 17:10
本帖最后由 likeyouli 于 2025-6-19 17:27 编辑

[color=rgb(var(--ds-rgb-label-1))]
在 Oracle 数据库成功启动但 systemctl status *oracle* 查询不到服务时,通常是因为 Oracle 数据库默认 不通过 systemd 管理,而是使用传统的启动脚本(如 dbstart/dbshut)。以下是详细解决方案:

1. 确认 Oracle 的启动方式
Oracle 数据库通常通过以下方式启动:

2. 检查现有 Oracle 服务文件
运行以下命令,查看是否已有 Oracle 相关的 systemd 服务:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制

[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





ls /etc/systemd/system/*oracle*.service 2>/dev/nullls /usr/lib/systemd/system/*oracle*.service 2>/dev/null
如果无输出,说明未配置 systemd 服务。

3. 手动创建 systemd 服务文件(1)创建服务文件
新建 /etc/systemd/system/oracle-19c.service:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo vi /etc/systemd/system/oracle-19c.service
填入以下内容(根据实际路径修改):
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]ini
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





[Unit]Description=Oracle Database 19cAfter=network.target[Service]Type=forkingUser=oracleGroup=oinstallEnvironment="ORACLE_HOME=/opt/oracle/product/19c/dbhome_1"Environment="ORACLE_SID=ORCLCDB"ExecStart=$ORACLE_HOME/bin/dbstart $ORACLE_HOMEExecStop=$ORACLE_HOME/bin/dbshut $ORACLE_HOMETimeoutSec=0[Install]WantedBy=multi-user.target
(2)设置权限并重载 systemd[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo chmod 644 /etc/systemd/system/oracle-19c.servicesudo systemctl daemon-reload

4. 启用并测试服务(1)启动服务[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo systemctl start oracle-19c
(2)检查状态[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo systemctl status oracle-19c
正常输出应显示 active (running)。
(3)设置开机自启[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo systemctl enable oracle-19c

5. 替代方案:使用 Oracle 官方脚本
如果不想用 systemd,可以通过传统脚本管理:
(1)修改 /etc/oratab
确保数据库条目以 Y 结尾:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y
(2)使用 dbstart/dbshut[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo su - oracle$ORACLE_HOME/bin/dbstart $ORACLE_HOME  # 启动$ORACLE_HOME/bin/dbshut $ORACLE_HOME   # 关闭

6. 验证数据库状态
无论通过哪种方式启动,最终验证:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]sql
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sqlplus / as sysdbaSQL> SELECT status FROM v$instance;
应返回 OPEN。

常见问题解决[td]
问题
解决方法
服务启动失败检查 journalctl -xe 和 $ORACLE_HOME/startup.log
权限不足确保 oracle 用户有权限访问 $ORACLE_HOME
ORACLE_HOME 未定义在服务文件中明确定义环境变量


总结
如果仍有问题,请提供以下信息:

[color=var(--ds-icon-button-text-color)]

[color=var(--ds-icon-button-text-color)]

[color=var(--ds-icon-button-text-color)]

[color=var(--ds-icon-button-text-color)]





使用 dbstart/dbshut 如何设置开机自启动oracle ?
[color=var(--ds-icon-button-text-color)]

[color=var(--ds-icon-button-text-color)]





[color=rgb(var(--ds-rgb-label-1))]
在 Oracle 数据库中,dbstart 和 dbshut 是官方提供的脚本,用于启动和关闭数据库实例。要让 Oracle 数据库 开机自动启动,可以通过以下步骤配置:

1. 确保 /etc/oratab 配置正确
/etc/oratab 文件决定了哪些数据库实例会被 dbstart 自动启动。
(1)检查 /etc/oratab[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制

[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





cat /etc/oratab
输出示例:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]text
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y
(2)修改 /etc/oratab(如果需要)[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo vi /etc/oratab
确保你的数据库条目以 Y 结尾,例如:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]text
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y
保存并退出。

2. 创建 /etc/init.d/oracle 启动脚本
为了让 dbstart 和 dbshut 在系统启动时自动运行,可以创建一个 init.d 脚本。
(1)创建 /etc/init.d/oracle[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo vi /etc/init.d/oracle
填入以下内容(根据实际情况修改 ORACLE_HOME 和 ORACLE_USER):
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





#!/bin/bash# chkconfig: 345 99 10# description: Oracle auto start/stop scriptORACLE_HOME=/opt/oracle/product/19c/dbhome_1ORACLE_USER=oraclecase "$1" in    start)        echo "Starting Oracle Database..."        su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"        ;;    stop)        echo "Stopping Oracle Database..."        su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"        ;;    restart)        echo "Restarting Oracle Database..."        $0 stop        $0 start        ;;    *)        echo "Usage: $0 {start|stop|restart}"        exit 1esacexit 0
保存并退出。
(2)设置权限[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo chmod 755 /etc/init.d/oracle

3. 使用 chkconfig 或 systemctl 设置开机启动(1)chkconfig(适用于 SysVinit 系统,如 CentOS 6)[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo chkconfig --add oraclesudo chkconfig oracle on
检查是否生效:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





chkconfig --list oracle
预期输出:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]text
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





oracle        0:off   1:off   2:on    3:on    4:on    5:on    6:off
(2)systemctl(适用于 systemd 系统,如 CentOS 7/8, RHEL 7/8, Ubuntu 16.04+)[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo systemctl enable oracle
检查状态:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo systemctl status oracle

4. 测试启动/关闭(1)手动测试启动[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo /etc/init.d/oracle start
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo systemctl start oracle
(2)手动测试关闭[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo /etc/init.d/oracle stop
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo systemctl stop oracle
(3)检查数据库状态[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sqlplus / as sysdba <<EOFSELECT status FROM v\$instance;EXIT;EOF
预期输出:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]text
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





STATUS--------OPEN

5. 重启服务器验证[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





sudo reboot
重启后,检查 Oracle 是否自动启动:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]bash
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





ps -ef | grep pmon
预期输出:
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]text
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制
[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





oracle   12345     1  0 10:00 ?        00:00:00 ora_pmon_ORCLCDB

6. 常见问题排查[td]
问题
解决方案
/etc/oratab 权限问题sudo chmod 644 /etc/oratab
dbstart 报错检查 $ORACLE_HOME/bin/dbstart 是否有执行权限
oracle 用户无法启动确保 oracle 用户有权限访问 $ORACLE_HOME
chkconfig 报错确保脚本头部有 # chkconfig: 345 99 10


总结
这样,Oracle 数据库就会在系统启动时自动运行! &#128640;








欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3