Я перевожу две базы данных Oracle 12c в Unix. В исходной среде базы данных были скомпонованы - они использовали один и тот же дом 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_HOMEs):
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-адреса, поэтому у меня не может быть двух баз данных на одном хосте). используя тот же порт).
(Ради аргумента представьте, что на клиенте запущены тонны устаревшего программного обеспечения, и они не могут легко изменить порты, на которые они указывают. Я понимаю, что попросить их просто изменить свои tnsnames - самый простой вариант, но давайте отложим это на данный момент.)
Вопрос: проблематично ли использовать одного слушателя для нескольких домов Oracle? Я понимаю, что это единственная точка отказа, но есть ли и снижение производительности? Что-то еще, о чем я не думаю?
Вопрос: Есть ли какой-то другой способ, которым я могу запустить прослушиватель из каждого из новых домов Oracle, используя тот же порт? Опять же, мы не используем виртуальные IP-адреса, поэтому я застрял с новым хостом foonew + порт 1521.
Спасибо за любые ответы или советы, которые вы можете дать.