内部詳細結構
便于說明,上圖的實作内容一覽在這說明下,便于您的閱讀:
1、01_DBMigrationV5_Restore.ps1 将備份bak檔案,恢複到sqlserver資料庫
2、02_1_DBMigrationV5_CreateSql.bat 通過c#程式,自動做成移行的sql文,儲存在sqlbulk下
3、03_DBMigrationV5_Delete.bat 移行前删除sqlserver中的資料
4、04_1_DataExportFromOracle.ps1 将oracle資料導出到檔案,儲存到export檔案夾
5、04_2_ImportDataToSqlServer.ps1 将export檔案夾下的資料檔案,插入到到sqlserver
6、05_DBMigrationV5_Custom.ps1 将自定義表,blob關聯表導出的資料檔案,插入到sqlserver
①Sqlserver的恢複:
這個處理和案1的方法基本一樣,不再累述
②移行用SQL文生成:
關于生成sql檔案的c#程式,和sql檔案中的内容,基本和案1一樣,這裡不再說,不同處是生成的sql檔案,儲存到sqlbulk檔案夾下,除了Master和Transaction檔案夾之外,還有Custom檔案夾,儲存自定義表的sql檔案。子檔案是Master和Transaction。
③表中既存資料删除:
這個處理和案1的方法基本一樣,不再累述
④Oracle資料=》檔案
通過04_1_DataExportFromOracle.ps1,循環調用C#生成的Master和業務資料的sql檔案,使用sqluldr2.exe指令将表的資料,批量導出到txt檔案,儲存到export檔案夾,下面分Master和Transaction2個檔案夾。下圖以Master資料為例說明,導出資料檔案類型
exportMaster檔案夾結構
1)一般表導出到txt檔案,例如下圖的100_LDBMINF.txt
2)Custom表導出到exportMasterCustom檔案夾
通過sqluldr2.exe調用sqlbulkCustomMaster下的sql檔案,導出到這個檔案夾。
3)Blob關聯表的資料導出
LDBMLABEL,LDBMUSRCNF,LDBMUSRI檔案夾用來存放blob關聯的Master表,導出的資料檔案,形式如下圖,使用rowid+rownum作為檔案名,具體為什麼要這樣做,之前的疑難問題的文章已經說明,請參照
blob關聯表導出檔案結構
鑒于篇幅限制,先介紹到這,接下來會陸續說明。有好的想法意見,可以關注聯系我,謝謝