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.