我正在重新托管Unix上的两个Oracle 12c数据库。在源环境中,数据库是堆叠在一起的-它们共享相同的Oracle主目录并使用相同的侦听器。收听者看起来大致像这样:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = foo)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = DATABASE1)
(ORACLE_HOME = /oracle)
)
(SID_DESC =
(SID_NAME = DATABASE2)
(ORACLE_HOME = /oracle)
)
在新环境中,每个数据库都有其自己的Oracle主目录。我有一个侦听器用完了其中一个甲骨文主页。看起来大致像这样(请注意ORACLE_HOME):
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = newfoo)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = DATABASE1)
(ORACLE_HOME = /oracle/DATABASE1)
)
(SID_DESC =
(SID_NAME = DATABASE2)
(ORACLE_HOME = /oracle/DATABASE2)
)
我希望每个环境都运行自己的侦听器,但这意味着其中一个数据库需要更改其端口(我们没有使用虚拟IP,因此我不能在同一主机上拥有两个数据库使用相同的端口)。
(为争辩起见,假设客户端正在运行大量的旧版软件,并且他们不能轻易更改其指向的端口。我意识到让他们简单地修改其tnsname是最简单的选择,但是让我们暂时搁置它。)
问题:对多个Oracle主目录使用单个侦听器是否有问题?我知道这是一个单点故障,但是对性能也有影响吗?还有我没想到的事情?
问题:是否可以使用其他端口通过相同的端口在每个新的Oracle主目录中运行侦听器?同样,我们不使用虚拟IP,因此我被新主机foonew +端口1521所困。
感谢您提供的任何答案或指导。