Come eseguire i comandi datapump come sysdba dalla macchina remota


14

Vorrei sapere la sintassi per chiamare i comandi datapump (expdp / impdp) registrati come 'sys as sysdba' da una macchina remota.

So che quando accedo alla macchina che esegue il database, posso usare:

expdp \"/ as sysdba\"

Tuttavia, non riesco a trovare come farlo da una macchina remota, ad esempio, questi non funzionano:

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

In entrambi i casi, il messaggio di errore è:

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

Risposte:


22
expdp \"SYS@service AS SYSDBA\"

Questo funziona per me (10.2 e 11.1), ma è necessario definire il servizio in tnsnames.ora o utilizzare SCAN corretto. In genere, ORACLE_SID è un identificatore diverso dal servizio TNS, ma per semplicità spesso sono impostati amministrativamente sullo stesso valore.


2
Cari futuri lettori: l'uso del user/pass@db_linkformato nel login può portare a un UDE-00018: Data Pump client is incompatible with database versionmessaggio. Per ovviare a questo, fornire invece il collegamento al database tramite il NETWORK_LINKparametro.
Mr. Llama,

come nota per tutti, si prega di notare la fuga delle doppie virgolette. le barre rovesciate hanno risolto il problema per me
Peter Perháč,

wow, come funziona?
Parv Sharma,

0

Uso IMPDMP come segue:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.