我正在使用Oracle 11g。我的要求是比較兩個不同數據庫的數據。每個分區大約有350個表格,在這350個表格中,約40個表格有超過100萬個記錄。爲了進行數據比較,我編寫了一個perl腳本來使用散列進行比較,並用少量文件進行測試。另外,嘗試使用unix awk命令來檢查性能,並在unix解決方案上詢問此論壇並獲得了極好的幫助。將大量數據導出到Oracle中表格的平面文件中
現在我的問題是要找出從表格提取數據到文件的最佳方法。
兩個數據庫都有相同數量的表,每個數據庫在兩個數據庫中都有相同的列數,即數據庫中的佈局完全相同。
選項,我認爲,搜查是使用
1)SQLLOADER - 我認爲業績將使用數據泵壞在這種情況下
2) - 不知道我是否可以使用數據泵通過SQL提取幾組列的和加載到文本文件
3)使用批量收集 - 同上。是否有可能提取每個表和每個表的一組列。如果是的話,該怎麼辦。還有什麼是性能。
4)sqlplus或其他任何東西。我無法在我的機器上爲此下載任何軟件。
從兩個數據庫的每個表中選擇一組列的基本sql可以輕鬆完成。我正在尋找將數據導出到平面文件的最佳方法。
請建議
是數據兩個不同的Oracle數據庫?如果是這樣,爲什麼要麻煩生成和比較文件?爲什麼不直接在Oracle中比較數據? –
這種方法被認爲是較早的,但是爲了比較具有數百萬行的一行表的列以及來自每個數據庫的350個表的列表,即總共700個表。假設一條記錄包含50個屬性,並逐行比較每個屬性,然後在文本文件中生成輸出將是一件昂貴的事情。報告輸出(perl正在生成)的示例是TableName,RowNumber,ColumnName,ColumnValueDB1,ColumnValueDB2,因此思考腳本作爲文件處理的速度更快。另外,在數據庫上,這個操作將花費大量時間和昂貴。 – user2223335
我認爲生成文件然後比較使用Toad或SQL Developer比較工具要困難得多。 – Art