Как выполнить команды datapump как sysdba с удаленной машины

14

Я хотел бы знать синтаксис для вызова команд datapump (expdp / impdp), зарегистрированных как 'sys as sysdba' с удаленной машины.

Я знаю, что при входе в систему на компьютере, на котором работает база данных, я могу использовать:

expdp \"/ as sysdba\"

Тем не менее, я не могу найти, как это сделать с удаленного компьютера, например, это не работает:

expdp 'SYS@SID AS SYSDBA'
expdp "SYS AS SYSDBA"@SID

В обоих случаях сообщение об ошибке:

LRM-00108: invalid positional parameter value [...]
Денис Р.
источник

Ответы:

22
expdp \"SYS@service AS SYSDBA\"

Это работает для меня (10.2 и 11.1), но вам нужно либо определить службу в вашем tnsnames.ora, либо использовать надлежащий SCAN. Как правило, ORACLE_SID является идентификатором, отличным от службы TNS, но для простоты им часто назначают одно и то же значение.

kubanczyk
источник
2
Уважаемые будущие читатели! Использование user/pass@db_linkформата в логине может привести к появлению UDE-00018: Data Pump client is incompatible with database versionсообщения. Чтобы обойти это, NETWORK_LINKвместо этого укажите ссылку на базу данных через параметр.
Мистер Лама
как примечание для всех, пожалуйста, обратите внимание на экранирование двойных кавычек. обратная косая черта
устранила
вау, как это работает?
Парв Шарма
0

Я использую IMPDMP следующим образом:

Impdp SYS@SYSDBA/45561602 SCHEMAS=PRUEBAS DIRECTORY=DATA_PUMP_DIR DUMPFILE=PRUEBAS.dmp remap_schema=PRUEBAS:TEST TABLE_EXISTS_ACTION=replace LOGFILE=impdmp.log

Osvi
источник