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