У меня есть машина (A), которая имеет доступ к хосту, на котором работает прослушиватель Oracle. Я могу подключиться к нему, используя SQL Developer.
У меня есть другая машина (B), которой я также хотел бы подключиться к той же базе данных, но она не имеет прямого доступа к работающему хосту. слушатель. Тем не менее, он имеет доступ к машине (A).
Я хотел бы перенаправить порт на машине A на хост-приемник Oracle, который прослушивает порт 1521.
Затем я должен иметь возможность установить соединение с базой данных с компьютера B на компьютер A, а затем перенаправить порт на хост с прослушивателем Oracle. Что-то вроде мужчины посередине.
Однако у меня проблемы. Я даже не могу подключиться к базе данных Oracle с компьютера B, используя перенаправленный порт. У меня есть опыт использования туннелей s sh, чтобы сделать то же самое. В этом случае я не использую s sh и не понимаю, почему это не сработает. Ниже приведена процедура, которую я прохожу: Войдите на компьютер B - Oracle клиент установлен. SQL Разработчик установлен. Open SQL Developer - выберите соединение TNS. Введите в учетные данные. Запись об успешном соединении TNS Names:
CRYSTAL=(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=yes)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=testhost.com)(PORT=1521)))(CONNECT_DATA=(service_name=svc1)))
Теперь настройте переадресацию:
C:\Windows\system32>netsh interface portproxy add v4tov4 listenaddress=127.0.0.1
listenport=1521 connectaddress=testhost.com connectport=1521
protocol=tcp
Если я lnet localhost 1521, он сможет установить соединение. В качестве простого теста я могу подключиться к компьютеру B с помощью SQL Developer. Но на этот раз я установил расширенный тип подключения, чтобы я мог ввести jdb c url.Note, я использую 127.0.01 вместо testhost.com, потому что он будет перенаправлен на testhost.com
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=yes)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(service_name=svc1)))
Не удается установить соединение с «ORA-12516, TNS: слушателю не удалось найти доступный обработчик с соответствующим стеком протоколов»
Я проверил проблемы с брандмауэром и убедился, что порт 1521 открыт.
Есть идеи, что я могу упустить или кто-то еще успешно перенаправил порт на Oracle слушателя?