2017-02-21 19 views
1

我有一個Oracle數據庫。在數據庫上有三個表(a,b,c表)和一個視圖(a和b表的聯合)。如何在oracle中備份視圖和一些表?

我想在丹b表的備份,還可以在視圖。我使用了這個語法exp user/psw file=backup.dmp tables=(a,b),但它並不備份視圖,只有表格。 如何包含要備份的視圖?

回答

2

從Oracle 10g起,expdp是標準導出命令,exp已棄用。

expdpinclude子句,您可以在其中指定要導出的表和視圖。這裏是一個示例命令。

expdp scott/[email protected] schemas=MYSCHEMA 
include=TABLE:"IN ('A', 'B','C')",VIEW:"IN('my_view')" 
directory=MY_DIR dumpfile=Exp_ABC_MyView.dmp logfile=expdpExp_ABC_MyView.log 

此外,您只能導出對象定義或數據或兩者。 更多示例https://oracle-base.com/articles/10g/oracle-data-pump-10g

+1

非常感謝您。我使用這樣的實際表和視圖實現: 'expdp blacklizard/pswd @ mydb schemas = blacklizard include = TABLE:「IN('DEPARTEMEN1','DEPARTEMEN2','DEPARTEMEN3','DEPARTEMEN4',...,'' DEPARTEMEN20' )」,看法: 「IN( 'VIEW_DEPARTEMEN1', 'VIEW_DEPARTEMEN2', 'VIEW_DEPARTEMEN3', 'VIEW_DEPARTEMEN4',..., 'VIEW_DEPARTEMEN20')」 目錄= exp_loc轉儲文件= try.dmp日誌文件= try.log',但出現錯誤'UDE-00014:參數的無效值','包括'。' – flyingbird013

+0

它最有可能與雙引號問題。您的操作系統可能會剝離它們,同時將它作爲參數傳遞給expdp。嘗試語法,如我在答案中共享的鏈接所示。像'東西包括= TABLE:\ 「IN(\ 'EMP \',\ 'DEPT \')\」'使用'\逃脫「'字符如果不是你可以簡單地給EXPDP的命令,它會問你問題。它可以回答得到正確的出口數據集 –

+0

我測試他們對微軟命令提示符下,由以下兩個語法工作'系統/ ******** @ XE模式= platformall包括=表:在('DIM_DIM '),VIEW:IN(' ALL_DD')轉儲文件= test4.dmp'和'系統/ ******** @ XE模式= platformall包括= TABLE:\ 「IN(\ 'DIM_DIM \')\」 ,VIEW:\ 「IN(\ 'ALL_DD \')\」 轉存= test5.dmp' –

1

在使用「exp」實用程序時,不能包含要備份的視圖。 Oracle的expdp實用程序提供了在導出時包含視圖的選項。