為了在同樣的資料基礎上對比達夢資料庫和Oracle資料庫的業務效能,我們需要將達夢資料庫的資料匯入到Oracle資料庫中。本文將提供一種思路來解決匯入過程中遇到的問題及存在問題記錄。
首先,將達夢資料庫中的資料匯出為 .dmp
檔案格式。
在完成達夢資料庫的資料匯出後,我們將嘗試將資料匯入到目標Oracle資料庫中。然而,直接使用impdp
命令匯入時出現以下錯誤:
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options ORA-39001: invalid argument value ORA-39000: bad dump file specification ORA-31619: invalid dump file "/u01/app/oracle/admin/orcl/dpdump/Vxxx_XXX_0816.dmp"
為了解決這個問題,我們可以嘗試使用達夢資料庫的遷移工具將資料匯入到Oracle資料庫。然而,根據反饋,有兩個表和300多個檢視匯入失敗,導致該資料庫也不可用。
為了解決這個問題,我們將採取以下步驟:
1. 在功能測試環境中匯出遷移後的Oracle資料庫所缺失的檢視和表。
expdp
命令匯出檢視資料。命令範例如下:expdp $username/$passwd@$ORACLE_SID DIRECTORY=DATA_PUMP_DIR DUMPFILE=$dumpfile.dmp LOGFILE=$dumpfile.log SCHEMAS=$schemas INCLUDE=VIEW
請替換以下引數:
$username:資料庫使用者名稱
$passwd:資料庫使用者密碼
$ORACLE_SID:資料庫範例名
$dumpfile:匯出的檔名(與 $schemas 相同)
$schemas:需要匯出的使用者名稱
exp
命令匯出多個表的資料。命令範例如下:exp $username/$passwd@$ORACLE_SID file=/$file_path/$file_name.dmp tables=table1,table2,...
請替換以下引數:
$username:資料庫使用者名稱
$passwd:資料庫使用者密碼
$ORACLE_SID:資料庫範例名
$file_path:匯出檔案的路徑
$file_name:匯出檔名稱
tables=table1,table2,...:要匯出的表名列表,以逗號分隔
2. 將匯出的檢視和表資料匯入到遷移後的Oracle資料庫中。
impdp
命令匯入檢視資料。命令範例如下:impdp $username/$passwd@$ORACLE_SID DIRECTORY=DATA_PUMP_DIR DUMPFILE=$dumpfile.dmp LOGFILE=$dumpfile.log REMAP_SCHEMA=$fromUser:$toUser
請替換以下引數:
$username:資料庫使用者名稱
$passwd:資料庫使用者密碼
$ORACLE_SID:資料庫範例名
$dumpfile:匯入的檔名
$fromUser:匯出資料庫使用者名稱
$toUser:匯入資料庫使用者名稱
imp
命令匯入多個表的資料。命令範例如下:imp $username/$passwd file=/$file_path/$file_name.dmp log=/$log_path/$log_name.log fromuser=$fromuser
請替換以下引數:
$username:資料庫使用者名稱
$passwd:資料庫使用者密碼
$file_path:匯入檔案的路徑
$file_name:匯入檔名稱
$log_path:匯入紀錄檔的路徑
$log_name:匯入紀錄檔名稱
$fromuser:匯出資料庫使用者名稱
通過以上步驟,將匯入失敗的檢視和表從功能測試環境中匯出,並將其匯入到遷移後的Oracle資料庫中。
但是,啟動應用服務,仍存在缺失相關檢視或語法方面的報錯。嘗試先將匯出的檢視和表匯入新建的資料庫使用者,再匯入從達夢服務匯出的資料庫,缺失相關檢視或語法方面的問題仍然存在。
根據Oracle資料可以成功匯入達夢,而達夢匯入Oracle卻存在報錯。足以說明:達夢做到去相容Oracle,但Oracle卻沒去相容達夢。
考慮到再繼續付出時間、精力去研究匯入資料庫啟動服務失敗的問題,不一定能夠解決該問題,且產出比較低。只好在達夢資料庫重造效能測試資料。
本文介紹了在對比達夢資料庫和Oracle資料庫的業務效能時,如何將達夢資料庫的資料匯入到Oracle資料庫中。我們通過匯出.dmp檔案並利用達夢資料庫的遷移工具,進行資料庫的匯入。但由於Oracle未對達夢進行相容適配,導致最終的結果還是失敗。
本文來自部落格園,作者:查拉圖斯特拉麵條,轉載請註明原文連結:https://www.cnblogs.com/n00dle/p/17635421.html