Je voudrais connaître la syntaxe pour appeler des commandes de vidage de données (expdp/impdp) enregistrées en tant que "sys as sysdba" à partir d'une machine distante.
Je sais que lorsque je suis connecté à la machine qui exécute la base de données, je peux utiliser:
expdp \"/ as sysdba\"
Cependant, je ne trouve pas comment faire cela à partir d'une machine distante, par exemple, cela ne fonctionne pas:
expdp 'SYS@SID AS SYSDBA'
expdp "SYS AS SYSDBA"@SID
Dans les deux cas, le message d'erreur est:
LRM-00108: invalid positional parameter value [...]
expdp \"SYS@service AS SYSDBA\"
Cela fonctionne pour moi (10.2 et 11.1), mais vous devez soit définir le service dans votre tnsnames.ora, soit utiliser un SCAN approprié. Généralement, Oracle_SID est un identifiant différent du service TNS, mais pour des raisons de simplicité, ils sont souvent définis administrativement sur la même valeur.
J'utilise IMPDMP comme suit:
Impdp SYS@SYSDBA/45561602 SCHEMAS=PRUEBAS DIRECTORY=DATA_PUMP_DIR DUMPFILE=PRUEBAS.dmp remap_schema=PRUEBAS:TEST TABLE_EXISTS_ACTION=replace LOGFILE=impdmp.log