Як виконати команди datapump як sysdba з віддаленої машини


14

Мені хотілося б знати синтаксис для виклику команд datapump (expdp / impdp), записаних як "sys as sysdba" з віддаленої машини.

Я знаю, що під час входу в систему, на якій працює база даних, я можу використовувати:

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натомість подайте посилання на базу даних через параметр.
Містер Лама

як примітка до всіх, будь ласка, зауважте, що уникнути подвійних лапок. зворотні
косі

вау, як це працює?
Parv Sharma

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.