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

配置监听服务随系统启动
检查监听状态
确认监听已安装且正常运行,在Linux系统中,使用lsnrctl status命令查看监听状态;在Windows中,通过“服务”管理器检查“Oracle Listner”服务状态。编辑监听配置文件
打开$ORACLE_HOME/network/admin/listener.ora文件,添加或修改STARTUP参数:LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <your_hostname>)(PORT = 1521)) ) ) STARTUP = ON保存文件后,重启监听服务以应用配置。
配置系统服务
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-reload和systemctl enable oracle-listener.service,设置服务为自动启动。
Windows:打开“服务”管理器,右键“Oracle Listner”选择“属性”,将“启动类型”设为“自动”,点击“应用”并重启服务。
配置Oracle数据库服务随系统启动
检查数据库实例状态
确认数据库已安装且处于运行状态,在Linux中,使用sqlplus / as sysdba连接数据库并执行startup命令;在Windows中,通过“服务”管理器检查“Oracle Service”服务状态。 配置数据库启动参数
编辑$ORACLE_HOME/dbs/init<SID>.ora文件(或spfile),添加STARTUP参数:STARTUP = ON
保存文件后,重启数据库实例以应用配置。
配置系统服务
Linux(systemd):创建服务文件
/etc/systemd/system/oracle-db.service如下:
[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-reload和systemctl 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)
如何检查监听是否随系统启动?
在Linux系统中,重启后执行systemctl status oracle-listener.service,若输出“active (running)”,则监听已成功随系统启动,在Windows中,重启后打开“服务”管理器,查看“Oracle Listner”服务的“状态”列,若为“正在运行”,则配置成功。配置过程中出现“服务已存在”错误怎么办?
若在Windows“服务”管理器中添加服务时出现“服务已存在”错误,需先删除原有服务(右键“Oracle Listner”选择“删除”),然后重新添加服务,确保服务名称和启动命令与原配置一致,在Linux中,若systemd服务已存在,执行systemctl disable oracle-listener.service删除原服务,再创建新服务文件并启用。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/210068.html


