วิธีเรียกใช้งานคำสั่ง 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พารามิเตอร์แทน
Mr. Llama

โปรดทราบว่าการหลบหนีของเครื่องหมายคำพูดคู่ แบ็กสแลชแก้ไขปัญหาให้ฉัน
Peter Perháč

ว้าวทำงานได้อย่างไร?
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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.