2009-12-11 68 views
-2

必喜立即反應在Oracle 10g的錶轉儲,以使用PL/SQL程序

我想借此從架構的一些選定表的轉儲,任何機構可以告訴我這可能嗎? 任何人都可以通過執行我們可以轉儲的程序來提供程序。

例如我有模式,testuser和表(T1,T2,T3,T5,T9),我只想轉儲T1 & T5。

在此先感謝

+4

因此不來的「立即響應」的地方。這不能取代支持合同。 – APC 2009-12-11 16:56:01

回答

0

使用這個命令,你會得到一個二進制的Oracle轉儲: EXP斯科特/老虎文件= mydump.dmp表=(T1,T5)

我建議此鏈接:http://www.orafaq.com/wiki/Import_Export_FAQ

+0

我想這個使用PL/SQL程序 – 2009-12-11 10:48:24

0

如果您必須使用PL/SQL,並且您正在嘗試創建一個文件,那麼您需要爲您的用戶定義一個具有寫訪問權限的目錄。這是你的DBA可以做的事情。請參閱「創建目錄」命令。 (1)調用UTL_FILE打開文件並向其中寫入行或(2)創建一個「EXTERNAL TABLE」並將信息複製到它或(3)使用DBMS_XMLGEN或(4)使用DBMS_XMLGEN或(3)使用DBMS_XMLGEN或(3)使用DBMS_XMLGEN或使用其他幾種方法中的任何一種將數據庫中的數據實際寫入文件。所有這些都在Oracle文檔中。手冊PL/SQL Packages and Types是您這樣的朋友的朋友。

請注意,實際的文件系統目錄必須位於數據庫所在的服務器上。所以你可能需要訪問那個服務器來複制你的文件,或者讓別人設置一個mount或者其他的東西。

或者,您可以設置一個可以調用以獲取數據的plsql Web服務。

但是,個人而言,我只是使用exp。或者,如果沒有,Toad或其他一些前端工具(甚至是SQL * Plus),只需編寫一個簡單的SQL腳本並保存結果即可。

如果你正在做家庭作業,我猜他們會想要一個UTL_FILE解決方案。

3

當你是10克,您可以用the Data Pump API做到這一點。您需要對映射到目標OS目錄的目錄對象具有讀取和寫入權限。

在以下示例中,我將兩個表EMP和DEPT導出到DATA_PUMP_DIR標識的目錄中名爲EMP.DMP的文件中。

SQL> declare 
    2  dp_handle  number; 
    3 begin 
    4  dp_handle := dbms_datapump.open(
    5  operation => 'EXPORT', 
    6  job_mode => 'TABLE'); 
    7 
    8 dbms_datapump.add_file(
    9  handle => dp_handle, 
10  filename => 'emp.dmp', 
11  directory => 'DATA_PUMP_DIR'); 
12 
13 dbms_datapump.add_file(
14  handle => dp_handle, 
15  filename => 'emp.log', 
16  directory => 'DATA_PUMP_DIR', 
17  filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE); 
18 
19 dbms_datapump.metadata_filter(
20  handle => dp_handle, 
21  name => 'NAME_LIST', 
22  value => '''EMP'',''DEPT'''); 
23 
24 dbms_datapump.start_job(dp_handle); 
25 
26 dbms_datapump.detach(dp_handle); 
27 end; 
28/ 

PL/SQL procedure successfully completed. 

SQL> 

@DerekMahar問:

「是否有從 客戶端執行類似的數據抽取工具或 API可用」

數據泵,無論是PL/SQL API和OS實用程序,寫入Oracle目錄。 Oracle目錄必須表示對數據庫可見的OS目錄。通常這是服務器上的一個目錄,但我認爲理論上可以將PC驅動器映射到網絡。你必須說服你的網絡管理員,這是一個好主意,這是一個艱難的銷售,因爲它不是...

年長的進出口和實用程序讀取並從客戶端目錄寫的,所以它是理論上可以將本地轉儲文件導入遠程數據庫。但我不認爲這是一個實際的方法。根據它們的性質,轉儲文件往往很大,所以通過網絡導入很慢並且容易失敗。壓縮轉儲文件是一個更好的解決方案,將它複製到服務器並從那裏導入。

+0

有沒有類似的數據泵工具或API可以從客戶端執行? – 2010-09-22 18:12:56