安装完成后services.msc中找不到Oracle服务或启动失败,主因是仅安装软件未运行dbca建库;需确认是否执行dbca、检查其日志,或用oradim手动创建服务,同时确保Server服务启用、监听器配置正确、防火墙放行1521端口及服务账户权限充足。

Oracle 19c 安装后服务未创建或启动失败
安装完成但 services.msc 里找不到以 Oracle 开头的服务,或者服务存在却启动失败(报错 1053、1067、1068 等),说明安装过程未真正完成数据库实例部署,只完成了软件安装。常见于选了【仅安装软件】但没运行 dbca,或 dbca 运行中途崩溃/被跳过。
验证方式:打开 CMD,执行 lsnrctl status —— 若提示“不是内部或外部命令”,说明监听器没装;若提示“TNS-12541: No listener”,说明监听器进程没启,但二进制已存在。
- 先确认是否执行过
dbca:只有它才会创建 Windows 服务(如OracleServiceORCL、OracleOraDB19Home1TNSListener) - 若已运行
dbca但服务仍缺失,检查dbca日志,默认在%ORACLE_HOME%\cfgtoollogs\dbca\<sid>\</sid>下的trace.log - 手动创建服务是下策:可用
oradim -new -sid ORCL -startmode auto -spfile补救,但前提是数据文件、控制文件、参数文件都已就位
Windows Server 上 Server 服务被禁用导致安装卡死或服务无法注册
Oracle 安装程序和 dbca 严重依赖 Windows 的 Server 服务(提供命名管道、SMB 共享等 IPC 机制)。该服务被禁用时,安装界面可能空白、假死,或建库后服务注册失败、监听器无法绑定本地地址。
典型现象:setup.exe 点击后无响应;dbca 卡在“正在配置监听器”;lsnrctl start 报 “TNS-12560: TNS:protocol adapter error”。
- 按
Win + R输入services.msc,找到Server服务,启动并设为“自动” - 同时检查依赖服务:
Workstation、Remote Procedure Call (RPC)、DNS Client也需运行 - 若在域环境中,组策略可能强制禁用
Server服务——需联系域管理员临时调整
监听器启动失败:ORA-12560 或 TNS-12545 错误
lsnrctl start 执行后看似成功,但 lsnrctl status 显示无监听实例,或客户端连不上,大概率是监听器配置与实际环境不匹配。Windows Server 默认启用 IPv6,而 Oracle 19c 监听器默认只监听 IPv4 地址(127.0.0.1),当系统优先解析主机名为 IPv6 地址(::1)时就会断连。
- 编辑
%ORACLE_HOME%\network\admin\listener.ora,将HOST =后的值明确改为127.0.0.1,不要留空或写localhost - 确保
ADR_BASE_LISTENER路径存在且当前用户有写权限(如D:\oracle19c\diag\tnslsnr\<hostname>\listener</hostname>) - 防火墙必须放行 TCP 1521 端口——Windows Server 防火墙默认拦截入站连接,哪怕本机连接也受控
服务账户权限不足:ORA-1031 或 Windows 事件日志报“拒绝访问”
Oracle 服务默认以 LocalSystem 账户运行,但在某些加固过的 Windows Server 环境中(尤其是域控或启用了 UAC 严格策略的机器),该账户无法访问 %ORACLE_HOME% 或 %ORACLE_BASE% 下的目录,导致服务启动即退出。
事件查看器中 Windows 日志 → 应用程序 → 来源为 TNSLSNR 或 OracleServiceORCL 的错误,常含“access is denied”、“failed to open file”等关键词。
- 在
services.msc中右键对应 Oracle 服务 → 属性 → 登录 → 改为“此账户”,填入一个已加入Administrators组的本地账户(如.\oracleadmin) - 手动赋予该账户对
%ORACLE_HOME%和%ORACLE_BASE%的“完全控制”NTFS 权限(注意勾选“替换子容器和对象的所有者”) - 避免使用带空格或中文的用户名,否则服务可能无法加载 DLL


















