如何配置Oracle数据库与监听服务随操作系统自动启动?

配置Oracle数据库和监听随操作系统启动

Oracle数据库的稳定运行依赖于监听和数据库服务随操作系统启动,避免手动启动的繁琐和潜在错误,本文将详细介绍配置步骤,确保系统重启后自动启动。

如何配置Oracle数据库与监听服务随操作系统自动启动?

配置监听服务随系统启动

  1. 检查监听状态
    确认监听已安装且正常运行,在Linux系统中,使用lsnrctl status命令查看监听状态;在Windows中,通过“服务”管理器检查“Oracle Listner”服务状态。

  2. 编辑监听配置文件
    打开$ORACLE_HOME/network/admin/listener.ora文件,添加或修改STARTUP参数:

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = <your_hostname>)(PORT = 1521))
        )
      )
    STARTUP = ON

    保存文件后,重启监听服务以应用配置。

  3. 配置系统服务

    • Linux(systemd):创建服务文件/etc/systemd/system/oracle-listener.service如下:

      [Unit]
      Description=Oracle Listener Service
      After=network.target
      [Service]
      Type=forking
      ExecStart=/usr/lib/oracle/<version>/bin/lsnrctl start
      ExecStop=/usr/lib/oracle/<version>/bin/lsnrctl stop
      User=oracle
      Group=dba
      Restart=on-failure
      [Install]
      WantedBy=multi-user.target

      执行systemctl daemon-reloadsystemctl enable oracle-listener.service,设置服务为自动启动。

      如何配置Oracle数据库与监听服务随操作系统自动启动?

    • Windows:打开“服务”管理器,右键“Oracle Listner”选择“属性”,将“启动类型”设为“自动”,点击“应用”并重启服务。

配置Oracle数据库服务随系统启动

  1. 检查数据库实例状态
    确认数据库已安装且处于运行状态,在Linux中,使用sqlplus / as sysdba连接数据库并执行startup命令;在Windows中,通过“服务”管理器检查“Oracle Service ”服务状态。

  2. 配置数据库启动参数
    编辑$ORACLE_HOME/dbs/init<SID>.ora文件(或spfile),添加STARTUP参数:

    STARTUP = ON

    保存文件后,重启数据库实例以应用配置。

  3. 配置系统服务

    • Linux(systemd):创建服务文件/etc/systemd/system/oracle-db.service如下:

      如何配置Oracle数据库与监听服务随操作系统自动启动?

      [Unit]
      Description=Oracle Database Service
      After=network.target
      [Service]
      Type=forking
      ExecStart=/usr/lib/oracle/<version>/bin/dbstart $ORACLE_HOME
      ExecStop=/usr/lib/oracle/<version>/bin/dbshut $ORACLE_HOME
      User=oracle
      Group=dba
      Restart=on-failure
      [Install]
      WantedBy=multi-user.target

      执行systemctl daemon-reloadsystemctl enable oracle-db.service,设置服务为自动启动。

    • Windows:打开“服务”管理器,右键“Oracle Service ”选择“属性”,将“启动类型”设为“自动”,点击“应用”并重启服务。

验证配置

重启系统后,检查监听和数据库服务是否自动启动:

  • 监听:使用lsnrctl status(Linux)或“服务”管理器(Windows),确认监听已运行。
  • 数据库:使用sqlplus / as sysdba执行SELECT * FROM v$instance;,确认数据库实例已启动。

配置对比表

配置项 监听服务配置步骤 数据库服务配置步骤
配置文件 listener.ora(添加STARTUP=ON init<SID>.ora(或spfile,添加STARTUP=ON
系统服务 Linux:systemd服务文件(lsnrctl start/stop命令)
Windows:“服务”管理器(自动启动)
Linux:systemd服务文件(dbstart/dbshut命令)
Windows:“服务”管理器(自动启动)
验证方式 lsnrctl status(Linux)或“服务”管理器(Windows) sqlplus / as sysdba(执行startup命令)或“服务”管理器(Windows)

常见问题解答(FAQs)

  1. 如何检查监听是否随系统启动?
    在Linux系统中,重启后执行systemctl status oracle-listener.service,若输出“active (running)”,则监听已成功随系统启动,在Windows中,重启后打开“服务”管理器,查看“Oracle Listner”服务的“状态”列,若为“正在运行”,则配置成功。

  2. 配置过程中出现“服务已存在”错误怎么办?
    若在Windows“服务”管理器中添加服务时出现“服务已存在”错误,需先删除原有服务(右键“Oracle Listner”选择“删除”),然后重新添加服务,确保服务名称和启动命令与原配置一致,在Linux中,若systemd服务已存在,执行systemctl disable oracle-listener.service删除原服务,再创建新服务文件并启用。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/210068.html

(0)
上一篇 2026年1月4日 07:00
下一篇 2026年1月4日 07:07

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注