Uzak makineden veri pompası komutlarını sysdba olarak çalıştırma


14

Uzak bir makineden 'sys sysdba' olarak kaydedilen datapump komutlarını (expdp / impdp) çağırmak için sözdizimini bilmek istiyorum.

Veritabanını çalıştıran makinede oturum açtığımda şunu kullanabileceğimi biliyorum:

expdp \"/ as sysdba\"

Ancak, bunu uzak bir makineden nasıl yapacağımı bulamıyorum, örneğin, bunlar çalışmıyor:

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

Her iki durumda da hata mesajı:

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

Yanıtlar:


22
expdp \"SYS@service AS SYSDBA\"

Bu benim için işe yarıyor (10.2 ve 11.1), ama ya tnsnames.ora dosyasında servis tanımlamanız ya da uygun SCAN kullanmanız gerekiyor. Genel olarak ORACLE_SID, TNS hizmetinden farklı bir tanımlayıcıdır, ancak basitlik açısından genellikle yönetimsel olarak aynı değere ayarlanır.


2
Sevgili gelecekteki okuyucular: user/pass@db_linkOturum açma biçimini kullanmak bir UDE-00018: Data Pump client is incompatible with database versioniletiye yol açabilir . Bu sorunu çözmek için, veritabanı bağlantısını NETWORK_LINKparametre üzerinden sağlayın.
Bay Llama

herkese not olarak, lütfen çift tırnak işaretlerinin kaçtığını not edin. Ters eğik çizgiler benim için sorunu çözdü
Peter Perháč

vay, bu nasıl çalışıyor?
Parv Sharma

0

IMPDMP'yi aşağıdaki gibi kullanıyorum:

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.