Cómo ejecutar comandos de bomba de datos como sysdba desde una máquina remota


14

Me gustaría saber la sintaxis para llamar a los comandos de la bomba de datos (expdp / impdp) registrados como 'sys as sysdba' desde una máquina remota.

Sé que cuando inicie sesión en la máquina que ejecuta la base de datos, puedo usar:

expdp \"/ as sysdba\"

Sin embargo, no puedo encontrar cómo hacer esto desde una máquina remota, por ejemplo, esto no funciona:

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

En ambos casos, el mensaje de error es:

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

Respuestas:


22
expdp \"SYS@service AS SYSDBA\"

Esto funciona para mí (10.2 y 11.1), pero necesita definir el servicio en sus tnsnames.ora o usar SCAN adecuado. En general, ORACLE_SID es un identificador diferente que el servicio TNS, pero por simplicidad, a menudo se configuran administrativamente con el mismo valor.


2
Estimados lectores futuros: el uso del user/pass@db_linkformato en el inicio de sesión puede generar un UDE-00018: Data Pump client is incompatible with database versionmensaje. Para evitar esto, proporcione el enlace de la base de datos a través del NETWORK_LINKparámetro.
— Sr. Llama

como una nota para todos, tenga en cuenta el escape de las comillas dobles. las barras invertidas solucionaron el problema para mí
— Peter Perháč

wow, ¿cómo funciona esto?
— Parv Sharma

0

Yo uso IMPDMP de la siguiente manera:

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.