Вам нужно понять как сеть Oракул работает.
На высокие уровне:
Оператор на приеме ТОЛЬКО слушает для соединений, утверждает запрос, создает новый порт, руки с соединения и идет назад к слушать.
Оно случайно выбирает высокопоставленный порт между 1021 и 65535 (я думаю). Вам нужно иметь ВСЕ те открытые в брандмауэре.
2 дороги вокруг этого и ни то все больш:
1: Установите Multi-Продевать нитку-Сервера (MTS). MTS позволяет вас определить фикчированный комплект портов, котор нужно использовать.
2: Принудьте ВСЕ соединения для использования порта операторов на приеме с USE_SHARED_SOCKET.
Проблемой здесь будет port утверждение и если вы всегда останавливаете оператора на приеме, то, вы УБИВАЕТЕ все активно соединения базы данных.