Как выполнить команды 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, но для простоты им часто назначают одно и то же значение.


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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.