【问题标题】:Oracle XE stops working when host name chages主机名更改时 Oracle XE 停止工作
【发布时间】:2018-02-16 20:10:57
【问题描述】:
我花了几个星期才解决这个问题,所以我想我会分享:
我正在使用 Google 计算 CentOS 映像在 Oracle XE 上托管 Apex 应用程序。
我试图让第二台服务器使用快照,但发现一旦创建我就被拒绝连接。
数据库正在运行,我没有更改 centOS 或 Google Compute 上的任何防火墙规则,因此无法理解它是如何工作的。
我花了数周时间指责这两个防火墙。
【问题讨论】:
标签:
centos
oracle-apex
oracle-xe
【解决方案1】:
事实证明,Oracle 将主机信息存储在数据库启动时使用的文件中,如果这与当前服务器不匹配,那么侦听器要么不会运行,要么会侦听错误的东西。
在这些设置文件“tnsnames.ors”和“listener.ora”中有很多处理问题的文档和帮助文章,但它们很复杂,有时还相互矛盾。但是有一个简单的技巧可以让 Oracle 为您修复它。
一次性修复:
您所要做的就是将 Listener.ora 文件重命名为其他名称,即 listener.ora.old 并重新启动数据库,它将使用当前服务器主机详细信息并重新开始工作。
如果您需要您的虚拟机始终工作,而不管其主机名和 IP 是什么
只需在创建快照之前重命名文件,然后任何新服务器都会在第一次启动时自行修复。
版本测试
Oracle XE 11g 第 2 版
CentOS v7
Google Compute Engine 2017 年 9 月
希望对你有帮助