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