リモートマシンからsysdbaとしてdatapumpコマンドを実行する方法


14

リモートマシンから「sys as sysdba」としてログに記録されたdatapumpコマンド(expdp / impdp)を呼び出す構文を知りたいです。

データベースを実行しているマシンにログオンすると、次を使用できることがわかります。

expdp \"/ as sysdba\"

ただし、リモートマシンからこれを行う方法が見つかりません。たとえば、これらは機能しません。

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

どちらの場合も、エラーメッセージは次のとおりです。

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

回答:


22
expdp \"SYS@service AS SYSDBA\"

これは私(10.2および11.1)で機能しますが、tnsnames.oraでサービスを定義するか、適切なSCANを使用する必要があります。一般に、ORACLE_SIDはTNSサービスとは異なる識別子ですが、簡単にするために管理上同じ値に設定されることがよくあります。


2
将来の読者の皆様へ:user/pass@db_linkログインで形式を使用すると、UDE-00018: Data Pump client is incompatible with database versionメッセージが表示される場合があります。これを回避するには、NETWORK_LINK代わりにパラメータを介してデータベースリンクを指定します。
ラマ氏14

皆さんへのメモとして、二重引用符のエスケープに注意してください。バックスラッシュは私のために問題を修正しました
ピーターペルハッチ

うわー、これはどのように機能しますか?
Parvシャルマ

0

IMPDMPを次のように使用します。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.