如何以 sysdba 身份从远程机器执行数据泵命令

如何以 sysdba 身份从远程机器执行数据泵命令

我想知道从远程机器调用以“sys as sysdba”记录的数据泵命令(expdp/impdp)的语法。

我知道当登录运行数据库的机器时,我可以使用:

expdp \"/ as sysdba\"

但是,我找不到如何从远程机器执行此操作,例如,这些不起作用:

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

在两种情况下,错误消息都是:

LRM-00108: invalid positional parameter value [...]

答案1

expdp \"SYS@service AS SYSDBA\"

这对我来说是可行的(10.2 和 11.1),但您需要在 tnsnames.ora 中定义服务或使用正确的 SCAN。通常,ORACLE_SID 是与 TNS 服务不同的标识符,但为了简单起见,它们通常在管理上设置为相同的值。

答案2

我使用 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

相关内容