Как использовать утилиты Data Pump без файла tnsnames.ora - PullRequest
6 голосов
/ 05 мая 2010

Я хочу иметь возможность запускать expdp и impdp, непосредственно указывая параметры соединения вместо имени TNS, которое находится в tnsnames.ora. Возможно ли это?

Ответы [ 2 ]

7 голосов
/ 05 мая 2010

Вы можете указать все это в командной строке с помощью строки подключения вместо TNSName. Удалите пробелы из записи TNS, которую вы использовали бы для подключения, вот пример, который работает с SQLPLUS ...

Вот как подключиться к локальной установке OracleXE в Windows:

sqlplus scott/tiger@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=xe)))

В * Nix вам может потребоваться процитировать запись, чтобы символы не интерпретировались неправильно:

sqlplus 'scott/tiger@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=xe)))'
3 голосов
/ 05 мая 2010

Вы можете попробовать строку EZCONNECT :

expdp userid=user/pw@//host:port/service-name

Вам потребуется параметр sqlnet.ora на стороне клиента, который включает EZCONNECT, например ::

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
...