Как выполнить команды 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 [...]
2 ответа
expdp \"SYS@service AS SYSDBA\"
Это работает для меня (10.2 и 11.1), но вам нужно либо определить службу в вашем tnsnames.ora, либо использовать надлежащий SCAN. Как правило, 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