Назад | Перейти на главную страницу

Как выполнять команды datapump как sysdba с удаленного компьютера

Я хотел бы знать синтаксис для вызова команд 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 [...]
expdp \"SYS@service AS SYSDBA\"

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

Я использую 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