Apache/Django/cx_oracle在从oracle RAC服务器切换一个DB节点时抛出500错误



我在Apache server上部署了一个Django/Python应用程序。应用程序与Oracle RAC (Real Application Cluster) 19C DB server连接,有2个节点。我用的是cx-Oracle==8.2.1。所以问题是,当我们切换一个节点时,例如使一个节点上升,另一个节点下降,应用程序开始给出500个错误,没有任何描述。

这是我的DB设置

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'myrac.xxxxx.com/dbname:1111',
'USER': 'usr',
'PASSWORD': 'xxxxxxxx',
'TIME_ZONE': 'Asia/Karachi',
}
}

如果您使用的是带有2个节点的RAC,那么除非两个节点都没有关闭,否则您的请求将得到服务。如果您正在从一个节点切换到另一个节点,并且在切换过程中如果没有节点启动,您很可能会得到ORA-01034:Oracle实例不可用。ORA-12537:ORA-01109:数据库未打开。如果你得到错误500,可能是你的apache部署有问题,确切的问题,你检查你的apache错误日志。

最新更新