如何从远程计算机以sysdba的身份执行datapump命令


14

我想知道从远程计算机调用记录为“ sys as sysdba”的datapump命令(expdp / impdp)的语法。

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

expdp \"/ as sysdba\"

但是,我找不到从远程计算机执行此操作的方法,例如,这些方法不起作用:

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

在这两种情况下,错误消息均为:

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

Answers:


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改为通过参数提供数据库链接。
骆马先生2014年

作为对所有人的注释,请注意双引号的转义。反斜杠为我解决了问题
PeterPerháč16年

哇,这如何运作?
帕尔瓦·夏尔马

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.