web-dev-qa-db-fra.com

Comment exécuter des commandes de vidage de données en tant que sysdba à partir d'une machine distante

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 [...]
14
Denis R.
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.

22
kubanczyk

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

0
Osvi