簡體   English   中英

如何僅使用命令行從oracle數據庫導出選定的函數,選定的過程,選定的視圖和選定的表?

[英]How to export selected functions, selected procedures, selected views and selected tables only from oracle database using command line?

假設我要導出

  • 名為V1,V2的視圖
  • 名為f1,f2的函數
  • 名為p1,p2的過程
  • 名為T1,T2的表

  • 用戶名:系統

  • 密碼:管理員sid /
  • 模式:DB3

所以我在CMD上執行以下命令

(1)expdp system / manager @ DB3目錄= backupdir dumpfile = backup.dmp日志文件= backup.log include = view:“ IN('V1','V2')”,函數:“ IN('f1','f2 ')“,過程:” IN('p1','p2')“,表:” IN('T1','T2')“

(2)expdp system / manager @ DB3目錄= backupdir dumpfile = backup.dmp日志文件= backup.log include = view:“ IN('V1','V2')” include = function:“ IN('f1',' f2')“ include = procedure:” IN('p1','p2')“ include = table:” IN('T1','T2')“

這兩個命令都不起作用:

錯誤:ORA-39071:INCLUDE的值格式錯誤。


以下命令有效,但僅導出指定的表。 它不導出視圖,過程和功能。

(3)expdp system / manager @ DB3目錄= backupdir dumpfile = backup.dmp logfile = backup.log include = view,procedure,function,table:“ IN('T1','T2')”

該怎么辦?

ORA-39071:包含值的格式錯誤

命令行不喜歡引號。 有兩種方法可以解決此問題。

首先是轉義引號:

expdp system/manager@DB3 directory=backupdir dumpfile=backup.dmp logfile=backup.log 
include=view:\"IN (\'V1\',\'V2\')\" include=function:\"IN (\'f1\',\'f2\')\" include=procedure:\"IN (\'p1\',\'p2\')\" include=table:\"IN (\'T1\',\'T2\')\"

如果看上去很乏味(確實如此),第二個選擇是定義一個參數文件。 您可以在其中包含所有選項,而不必使用引號,而只需使用PARFILE參數運行expdp


我要導入從名為DB3的架構中導出的表,視圖,函數和過程的架構“ DBpractice”中沒有任何更改。

這確實是一個新問題,但是解決方案非常簡單:您需要使用REMAP_SCHEMA參數運行impdp ,該參數需要source_schema:target_schema 所以在你的情況下

impdp system/manager directory=backupdir dumpfile=backup.dmp remap_schema=db3:DBpractice

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM