Ausführen von datapump-Befehlen als sysdba von einem entfernten Rechner aus

14

Ich möchte die Syntax zum Aufrufen von Datapump-Befehlen (expdp / impdp) kennen, die als "sys as sysdba" von einem Remotecomputer aus protokolliert wurden.

Ich weiß, dass ich, wenn ich auf dem Computer angemeldet bin, auf dem die Datenbank ausgeführt wird, Folgendes verwenden kann:

expdp \"/ as sysdba\"

Ich kann jedoch nicht feststellen, wie dies von einem Remotecomputer aus durchgeführt werden kann. Dies funktioniert beispielsweise nicht:

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

In beiden Fällen lautet die Fehlermeldung:

LRM-00108: invalid positional parameter value [...]
Denis R.
quelle

Antworten:

22
expdp \"SYS@service AS SYSDBA\"

Dies funktioniert für mich (10.2 und 11.1), aber Sie müssen entweder den Dienst in Ihrer tnsnames.ora definieren oder den richtigen SCAN verwenden. Im Allgemeinen ist ORACLE_SID ein anderer Bezeichner als der TNS-Dienst, der Einfachheit halber werden sie jedoch häufig administrativ auf denselben Wert festgelegt.

kubanczyk
quelle
2
Sehr geehrte zukünftige Leserinnen und Leser, die Verwendung des user/pass@db_linkFormats im Login kann zu einer UDE-00018: Data Pump client is incompatible with database versionMeldung führen. NETWORK_LINKGeben Sie stattdessen die Datenbankverknüpfung über den Parameter an, um dies zu umgehen.
Mr. Llama
Beachten Sie als Hinweis für alle das Entweichen der doppelten Anführungszeichen. die Schrägstriche , das Problem für mich gerichtet
Peter Perháč
Wow, wie funktioniert das?
Parv Sharma
0

Ich benutze IMPDMP wie folgt:

Impdp SYS@SYSDBA/45561602 SCHEMAS=PRUEBAS DIRECTORY=DATA_PUMP_DIR DUMPFILE=PRUEBAS.dmp remap_schema=PRUEBAS:TEST TABLE_EXISTS_ACTION=replace LOGFILE=impdmp.log

Osvi
quelle