ORACLE 修改端口号之后无法启动?
Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生。这一问题通常源于配置错误或环境冲突,而非端口修改本身。以下是系统性解决方案:
🔍 一、问题根源分析
-
配置文件语法错误
- 修改
listener.ora
时遗漏关键符号(如括号不匹配)、格式错误或路径错误会导致解析失败。 - 典型表现:执行
lsnrctl start
后报错TNS-12542: TNS: 监听器地址无效
。
- 修改
-
端口被占用或防火墙拦截
- 新端口可能被其他进程占用(如Apache、其他数据库)或被防火墙阻止。
- 验证命令:
# Linux/Unix netstat -tuln | grep <新端口号> # Windows netstat -ano | findstr "<新端口号>"
-
未同步更新客户端配置
- 仅修改
listener.ora
而未更新tnsnames.ora
,导致客户端无法连接,误判为监听器故障。
- 仅修改
-
SID或服务名未正确关联
- 监听器未绑定到正确的数据库实例(SID),导致无法路由连接请求。
🛠️ 二、保姆级解决方案
步骤1:修正监听器配置文件 (listener.ora
)
- 文件路径:
$ORACLE_HOME/network/admin/listener.ora
- 正确配置模板:
LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 主机名)(PORT = 新端口号)) # 修改此处端口)) SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = 数据库SID) # 例如 orcl(ORACLE_HOME = Oracle安装路径) # 例如 /u01/app/oracle/product/19.0.0/dbhome_1))
⚠️ 关键检查点:
- 括号必须成对闭合,避免嵌套错误。
HOST
需为服务器IP或可解析的主机名(避免用localhost
)。
步骤2:更新客户端配置 (tnsnames.ora
)
- 文件路径:
$ORACLE_HOME/network/admin/tnsnames.ora
- 修改示例:
服务别名 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 主机名)(PORT = 新端口号)) # 与listener.ora一致(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = 数据库服务名) # 例如 orcl))
步骤3:重启监听器并验证
# 停止监听器
lsnrctl stop
# 启动监听器
lsnrctl start
# 检查状态
lsnrctl status
- 预期输出:显示
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=新端口号))
且状态为 "Service ready"。
步骤4:处理端口占用与防火墙
- 释放端口:终止占用进程(通过
kill -9 <PID>
或Windows任务管理器)。 - 开放防火墙:
# Linux firewall-cmd --add-port=<新端口号>/tcp --permanent firewall-cmd --reload # Windows:高级安全防火墙 → 新建入站规则
步骤5:检查环境变量与权限
- 确认
ORACLE_HOME
正确:echo $ORACLE_HOME # Linux set ORACLE_HOME # Windows
- 文件权限:确保
oracle
用户对listener.ora
和tnsnames.ora
有读写权限:chown oracle:oinstall $ORACLE_HOME/network/admin/*.ora chmod 640 $ORACLE_HOME/network/admin/*.ora
⚡ 三、预防性措施
- 变更前备份配置:
cp listener.ora listener.ora.bak cp tnsnames.ora tnsnames.ora.bak
- 使用工具验证配置:
tnsping 服务别名
测试客户端连通性。
- RAC环境特殊处理:
- 通过
srvctl
更新集群监听配置:srvctl modify listener -l LISTENER -p "TCP:新端口号" srvctl modify scan_listener -p 新端口号
- 通过
💎 总结
端口修改后监听器无法启动通常由配置遗漏或语法错误引发(占案例80%以上)。严格遵循以下流程可彻底解决:
- 双文件同步:同步修改
listener.ora
和tnsnames.ora
; - 语法校验:检查括号闭合、参数格式;
- 环境验证:端口占用、防火墙、权限;
- 重启生效:通过
lsnrctl status
确认监听状态。
若仍失败,检查
$ORACLE_HOME/log/diag/tnslsnr/主机名/listener/alert/log.xml
中的详细错误日志。
相关文章:

ORACLE 修改端口号之后无法启动?
Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生。这一问题通常源于配置错误或环境冲突,而非端口修改本身。以下是系统性解决方案: 🔍 一、问题根源分析 配置文件语法错误 修…...
Qt Quick Test模块功能及架构
Qt Quick Test 是专门为测试 QML 应用程序设计的模块,在 Qt 6.0 中得到了显著增强。 一、主要功能/使用方法 核心功能概述 QML 单元测试框架 提供完整的 QML 测试环境 支持测试用例组织和执行 包含 QML 断言函数和测试结果收集 测试类型支持 组件功能测试 用…...

Excel自动分列开票工具推荐
软件介绍 本文介绍一款基于Excel VBA开发的自动分列开票工具,可高效处理客户对账单并生成符合要求的发票清单。 软件功能概述 该工具能够将客户对账单按照订单号自动拆分为独立文件,并生成可直接导入发票清单系统的标准化格式。 软件特点 这是一款体…...

Maven入门(够用)
1、Maven是什么? 这个问题非常不重要,或者说不应该上来就问maven是什么,而是直接学习maven怎么用能干什么,学完之后自然就知道了maven是个什么玩意儿,很多技术都是如此。 2、Maven下载 先准备Java环境,安…...
【HarmonyOS 5】 社交行业详解以及 开发案例
HarmonyOS 5通过分布式能力、响应式框架及AI技术,重构社交应用的交互范式,以下是分领域解析: 🧏 一、无障碍社交创新 听障人士实时通讯辅助 语音文字双向转译功能:对方语音实时转为文字显示,用户…...
python版若依框架开发:集成Dash应⽤
python版若依框架开发 从0起步,扬帆起航。 python版若依部署代码生成指南,迅速落地CURD!项目结构解析前端开发规范后端开发规范集成Dash应⽤文章目录 python版若依框架开发后端部分1.安装 Dash2.在 sub_applications 目录下新建 dash_app.py ⽂件3.在 sub_applications/han…...
网盘变硬盘挂载软件:百度 / 阿里 / OneDrive 秒变本地磁盘
各位网盘达人们!今天咱来聊聊超神奇的网盘挂载软件。你知道吗,这玩意儿就像个超级魔法棒,能把远程网盘,像百度网盘、阿里云盘、OneDrive这些,变成咱本地的虚拟磁盘。有了它,咱管理云端文件就跟操作自己家硬…...

自动化办公集成工具:一站式解决文档处理难题
1. 项目概述 在当今信息化时代,办公自动化已成为提升工作效率的关键。本文将详细介绍一款基于Python和PyQt5开发的「自动化办公集成工具」,该工具集成了多种常用的办公文档处理功能,包括批量格式转换、文本智能替换、表格数据清洗等,旨在为用户提供一站式的办公自动化解决方…...

three.js 零基础到入门
three.js 零基础到入门 什么是 three.js为什么使用 three.js使用 Three.js1. 创建场景示例 2.创建相机3. 创建立方体并添加网格地面示例 5. 创建渲染器示例 6. 添加效果(移动/雾/相机跟随物体/背景)自动旋转示例效果 相机自动旋转示例 展示效果 实现由远到近的雾示例展示效果 T…...

PublishSubject、ReplaySubject、BehaviorSubject、AsyncSubject的区别
python容易编辑,因此用pyrx代替rxjava3做演示会比较快捷。 pyrx安装命令: pip install rx 一、Subject(相当于 RxJava 的 PublishSubject) PublishSubject PublishSubject 将对观察者发送订阅后产生的元素,而在订阅前…...

在Ubuntu22.04 系统中安装Docker详细教程
1.更新系统软件包 #确保您的系统软件包是最新的。这有助于避免安装过程中可能遇到的问题 sudo apt update sudo apt upgrade -y2.安装必要的依赖 sudo apt install apt-transport-https ca-certificates curl software-properties-common -y3.替换软件源 echo "deb htt…...
解决transformers.adapters import AdapterConfig 报错的问题
需要安装 Adapter-Hub 的 transformers 分支,不是官方 transformers 库! pip install githttps://github.com/Adapter-Hub/transformers.git✅ 注意:这个命令会从 GitHub 下载源码并安装。你需要确保你的网络可以访问 GitHub,并且…...

AUTOSAR实战教程--DoIP_01_配置项解释
配置项 解释 备注 DoIPChannelSARef 引用DoIP Tester的源地址,就是你在DoIP Tester这个Containter中配置的Tester实例。 DoIPChannelTARef 引用目标地址。就是你在DoIPTargetAddress这个Container中的配置。 DoIPPduRRxPduId 为该pdu设置一个ID用于DoIP…...
湖北理元理律师事务所:法律视角下的债务优化与生活平衡之道
一、债务优化的本质:法律与生活的平衡艺术 债务问题常被视为单纯的财务危机,实则牵涉法律权责界定、还款能力评估、生活保障等多重维度。作为法律服务机构,我们观察到:真正的债务优化需同时满足两个条件: 法律合规性…...

机器人/智能车纯视觉巡线经典策略—滑动窗口+直方图法
作者:SkyXZ CSDN:SkyXZ~-CSDN博客 博客园:SkyXZ - 博客园 在机器人或智能车的自主导航任务中,视觉巡线是一项最为基础且关键的能力之一。通过摄像头实时获取道路图像,并基于图像信息判断行驶路径࿰…...
附加模块--Qt OpenGL模块功能及架构
一、模块功能: 主要变化 Qt OpenGL 模块的分离: 在 Qt 6 中,原来的 Qt OpenGL 功能被拆分为多个模块 传统的 Qt OpenGL 模块 (QGL*) 已被标记为废弃 新的图形架构: Qt 6 引入了基于 QRhi (Qt Rendering Hardware Interface) 的…...

503 Service Unavailable:服务器暂时无法处理请求,可能是超载或维护中如何处理?
处理 "503 Service Unavailable" 错误是服务器管理者面临的常见挑战之一。这种错误通常表示服务器暂时无法处理请求,可能是由于服务器超载、维护中或其他临时性问题导致的。在本文中,我将介绍如何处理 "503 Service Unavailable" 错…...
抖音怎么下载没有水印的视频?
你是不是经常在抖音上刷到喜欢的视频,想保存下来却总是带着烦人的水印?无论是想收藏精彩片段,还是二次创作,水印都成了“拦路虎”。别急!今天就来教你3种超简单方法,轻松下载无水印抖音视频,高清…...

虚拟机时间同步
一、常见同步方式 常见的虚拟机同步方式有给虚拟机配置ntp、或者用平台提供的agent对时与虚拟机所在的宿主机。第一种依赖网络、第二种依赖平台的agent这个三方工具。 二、利用ptp_kvm.ko来直接和宿主机同步时间 关键组件 ptp_kvm驱动、chrony。 PTP_KVM同步原理 |--------…...
三级流水线是什么?
三级流水线是什么? “三级流水线” 英文名:Three-Stage Pipeline 或 Basic 3-Stage Pipeline,是计算机处理器(CPU)设计中一种基本的指令流水线技术,它将指令的执行过程划分为三个主要阶段,使得…...

软件更新机制的测试要点与稳定性提升
💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…...
自定义protoc-gen-go生成Go结构体,统一字段命名与JSON标签风格
背景 在日常的 Go 微服务开发中,Protocol Buffers(protobuf) 是广泛使用的数据交换格式。其配套工具 protoc-gen-go 会根据 .proto 文件生成 Go 结构体代码,但默认生成的字段名、JSON tag 命名风格往往不能满足所有团队或项目的代…...
Context API 应用与局限性
核心概念 React 的 Context API 是为了解决组件间数据共享而设计的一种机制,其核心价值在于提供了一种不通过 props 层层传递就能在组件树中共享数据的方法。在 React 应用中,数据通常是自上而下(从父组件到子组件)通过 props 传…...

LLMs 系列科普文(11)
目前我们已经介绍了大语言模型训练的两个主要阶段。第一阶段被称为预训练阶段,主要是基于互联网文档进行训练。当你用互联网文档训练一个语言模型时,得到的就是所谓的 base 模型,它本质上就是一个互联网文档模拟器,我们发现这是个…...
DQN算法(详细注释版)
DQN算法 DQN算法使用的常见问题 Q1: 为什么用目标网络而非Q网络直接计算? 答案:避免“移动目标”问题(训练中Q网络频繁变化导致目标不稳定),提高收敛性。 Q2: 为什么用 max 而不是像SARSA那样采样动作?…...
sizeof 与strlen的区别
sizeof 和 strlen 是C和C 中用于处理数据大小和字符串长度的两个不同的操作符/函数,它们的区别如下: 概念和用途 - sizeof 是一个操作符,用于计算数据类型或变量在内存中所占的字节数,它是在编译时确定的,与数据的…...
论文阅读:HySCDG生成式数据处理流程
论文地址: The Change You Want To Detect: Semantic Change Detection In Earth Observation With Hybrid Data Generation Abstract 摘要内容介绍 📌 问题背景 “Bi-temporal change detection at scale based on Very High Resolution (VHR) images is crucia…...

10万QPS高并发请求,如何防止重复下单
1. 前端拦截 首先因为是10万QPS的高并发请求,我们要保护好系统,那就是尽可能减少用户无效请求。 1.1 按钮置灰 很多用户抢票、抢购、抢红包等时候,为了提高抢中的概率,都是疯狂点击按钮。会触发多次请求,导致重复下…...

Xilinx IP 解析之 Block Memory Generator v8.4 ——02-如何配置 IP(仅 Native 接口)
相关文章: Xilinx IP 解析之 Block Memory Generator v8.4 ——01-手册重点解读(仅Native RAM) – 徐晓康的博客 Xilinx IP 解析之 Block Memory Generator v8.4 ——02-如何配置 IP(仅 Native RAM) – 徐晓康的博客 V…...

什么是高考?高考的意义是啥?
能见到这个文章的群体,应该都经历过高考,突然想起“什么是高考?意义何在?” 一、高考的定义与核心功能 **高考(普通高等学校招生全国统一考试)**是中国教育体系的核心选拔性考试,旨在为高校选拔…...