Oracle imp.exe проблемы с туннельным соединением
У нас есть сервер Oracle, работающий на удаленном сервере, который имеет только SSH-соединение, и нам нужно запустить процесс импорта данных для этого.
Я пробовал разные комбинации туннелей SSH:
- 127.0.0.1:1521
- 127.0.0.1:1522
- 127.0.0.1:11111
- 127.0.0.107:1522
- 127.0.0.107:11111
Но ни один из них не работает с imp.exe. Интересно, что все эти комбинации прекрасно работают со скриптами SQL Developer и Scriptella, которые используют JDBC. Следующая ошибка отображается в стандартном выводе ошибки:
IMP-00058: ORACLE error 12514 encountered
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
IMP-00000: Import terminated unsuccessfully
И в sqlnet.log появляется следующее:
***********************************************************************
Fatal NI connect error 12514, connecting to:
(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=tktdb1)(CID=(PROGRAM=C:\oraclexe\app\oracle\product\10.2.0\server\bin\imp.exe)(HOST=...)(USER=...)))(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=11111)))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows: Version 10.2.0.1.0 - Production
Time: 07-MAR-2011 10:53:26
Tracing not turned on.
Tns error struct:
ns main err code: 12564
TNS-12564: TNS:connection refused
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
Есть идеи?
1 ответ
Я полагаю, что строки подключения верны. Если они есть: ваша база данных находится в ограниченном режиме? В этом случае служба, которую он поддерживает, недоступна для соединений. Если это так, попробуйте подключиться с псевдонимом tns, используя SID=xxx
Я не вижу, что ssh имеет для воздействия здесь. Соединение с базой данных работает. ssh играет роль, только если вам нужно туннелировать соединение с базой данных через ssh. Если ваш обычный клиент SQL может подключиться без этого, Imp может сделать то же самое. Обычно ssh используется только для подключения к серверу, который не нужен в вашем случае.
Надеюсь, это поможет, Рональд.