You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle 21c XE监听器配置及DBCA创建数据库异常求助

解决Oracle 21c XE监听器异常导致DBCA无法识别的问题

问题定位

从lsnrctl services返回的TNS-01153: Failed to process string: PGD~É错误来看,核心是监听器配置文件或环境变量存在乱码/文件损坏——尽管Windows服务显示监听器运行,但实际解析配置时出错,导致DBCA判定其状态为Down。

修复步骤

1. 备份并重建listener.ora配置文件

当前配置语法看似正常,但可能存在隐藏乱码或损坏:

  • 停止监听器:
    lsnrctl stop LISTENER
    
  • 进入监听器配置目录(通常为C:\app\ABC.lab\product\21c\dbhomeXE\network\admin),将原listener.ora重命名为listener.ora.bak做备份。
  • 新建空白listener.ora,复制以下干净配置(注意匹配你的ORACLE_HOME和主机名):
    DEFAULT_SERVICE_LISTENER = XE
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = C:\app\ABC.lab\product\21c\dbhomeXE)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:C:\app\ABC.lab\product\21c\dbhomeXE\bin\oraclr.dll")
        )
      )
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = monarch.ABC.lab)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    
  • 保存文件时选择ANSI编码(Windows记事本默认编码),避免UTF-8带BOM导致解析异常。

2. 检查并修正系统环境变量

  • 打开系统环境变量面板,确认以下变量配置正确:
    • ORACLE_HOME:C:\app\ABC.lab\product\21c\dbhomeXE
    • ORACLE_SID:XE
    • PATH:将%ORACLE_HOME%\bin移至最前端,避免其他版本Oracle工具干扰。
  • 修正后重启命令行窗口,确保环境变量生效。

3. 重启监听器并验证功能

  • 启动监听器:
    lsnrctl start LISTENER
    
  • 执行以下命令确认无报错:
    lsnrctl status LISTENER
    lsnrctl services LISTENER
    
    正常输出应包含监听地址、已注册服务状态等信息,无TNS相关错误。

4. 重新运行DBCA创建数据库

监听器验证正常后,启动DBCA,此时监听器状态会显示为Up,可正常选择并完成数据库创建流程。

额外排查点

若以上步骤无效,可尝试:

  • 检查Windows服务OracleOraDB21Home1TNSListener的登录账户,确保为本地系统账户,排除权限问题。
  • 临时关闭Windows防火墙(或添加1521端口的入站允许规则),排除端口阻塞导致的连接异常。

内容的提问来源于stack exchange,提问作者myamulla_ciencia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 14:35:24