Cara menjalankan perintah datapump sebagai sysdba dari mesin jarak jauh

14

Saya ingin mengetahui sintaks untuk memanggil perintah datapump (expdp / impdp) yang dicatat sebagai 'sys as sysdba' dari mesin jarak jauh.

Saya tahu bahwa ketika masuk ke mesin yang menjalankan database, saya dapat menggunakan:

expdp \"/ as sysdba\"

Namun, saya tidak dapat menemukan cara melakukan ini dari mesin jarak jauh, misalnya, ini tidak berfungsi:

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

Dalam kedua kasus, pesan kesalahan adalah:

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

Jawaban:

22
expdp \"SYS@service AS SYSDBA\"

Ini berfungsi untuk saya (10.2 dan 11.1), tetapi Anda perlu mendefinisikan layanan di tnsnames.ora Anda atau menggunakan SCAN yang tepat. Secara umum, ORACLE_SID adalah pengidentifikasi yang berbeda dari layanan TNS, tetapi untuk kesederhanaan mereka sering diatur secara administratif dengan nilai yang sama.

kubanczyk
sumber
2
Pembaca yang akan datang: Menggunakan user/pass@db_linkformat dalam login dapat menyebabkan UDE-00018: Data Pump client is incompatible with database versionpesan. Untuk mengatasinya, berikan tautan basis data melalui NETWORK_LINKparameter sebagai gantinya.
Tn. Llama
sebagai catatan untuk semua orang, harap perhatikan lolosnya tanda kutip ganda. backslash memperbaiki masalah untuk saya
Peter Perháč
wow, bagaimana cara kerjanya?
Parv Sharma
0

Saya menggunakan IMPDMP sebagai berikut:

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
sumber