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 [...]

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.


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.