Cách thực hiện các lệnh datapump như sysdba từ máy từ xa


14

Tôi muốn biết cú pháp để gọi các lệnh datapump (expdp / impdp) được ghi là 'sys as sysdba' từ một máy từ xa.

Tôi biết rằng khi đăng nhập vào máy chạy cơ sở dữ liệu, tôi có thể sử dụng:

expdp \"/ as sysdba\"

Tuy nhiên, tôi không thể tìm thấy cách thực hiện việc này từ một máy từ xa, ví dụ: những thứ này không hoạt động:

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

Trong cả hai trường hợp, thông báo lỗi là:

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

Câu trả lời:


22
expdp \"SYS@service AS SYSDBA\"

Điều này hoạt động với tôi (10.2 và 11.1), nhưng bạn cần xác định dịch vụ trong tnsnames.ora hoặc sử dụng SCAN thích hợp. Nói chung, ORACLE_SID là một mã định danh khác với dịch vụ TNS, nhưng để đơn giản, chúng thường được đặt về mặt hành chính cho cùng một giá trị.


2
Kính gửi độc giả tương lai: Sử dụng user/pass@db_linkđịnh dạng trong thông tin đăng nhập có thể dẫn đến một UDE-00018: Data Pump client is incompatible with database versiontin nhắn. Để giải quyết vấn đề này, hãy cung cấp liên kết cơ sở dữ liệu thông qua NETWORK_LINKtham số thay thế.
Ông Llama

như một lưu ý cho tất cả mọi người, xin lưu ý việc thoát khỏi dấu ngoặc kép. dấu gạch chéo ngược đã khắc phục sự cố cho tôi
Peter Perháč

wow, cái này hoạt động thế nào?
Parv Sharma

0

Tôi sử dụng IMPDMP như sau:

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.