中斷的載入

資料載入處理是可以重新啟動的。SQL 載入器在達到執行允許的最大錯誤數之後,就會將發生錯誤的最後一筆記錄位置記錄在日誌中。在略過特定數目的記錄之後,重新啟動的載入會開始從檔案中提取資料。

若要繼續處理中斷的載入,請執行下列步驟:

  • 擷取日誌檔。尋找日誌檔中的陳述式 'Specify SKIP= n when continuing the load .'

  • 檢查日誌檔,然後判斷該資料問題是否容易修正。從找到 SQL 載入器日誌檔的相同位置擷取 .bad 和 .rejected 檔案,複查問題,並決定必須更正整個擷取還是應該繼續上傳。
  • 將輸入資料檔重新上傳至伺服器

  • 再次提交批次,這次將 n 指定為 skip 批次參數

可利用類似方式從部分資料上傳進行復原。請注意,為了對您的工作成果提供額外的保護並允許復原,建議您使用依主索引鍵排序的記錄來建立資料擷取。您可以透過這項技巧判斷未上傳資料的剩餘部分,然後對後續動作做出決定。如果您正上傳大量資料,但在上傳處理即將結束時發生中斷,則完成上傳會比清除上傳並重新開始更有利。

考慮以下案例:

  • 資料上傳批次處理因軟體故障等無法復原的事件而異常結束。在此情況下,SQL 載入器與批次處理都無法正常結束,也無法回報已處理的記錄數。
  • 資料上傳批次處理發生合理的錯誤,批次執行緒與整個批次執行現在處於錯誤狀態。
  • SQL 載入器處理已結束,但發生嚴重錯誤,導致處理無法正確記錄「已略過」選項,因此在 SQL 載入器日誌的所有位置都找不到該選項
如果您決定繼續進行復原,請執行下列步驟:
  • 查詢資料表並決定已成功上傳之最後一筆記錄的主索引鍵 - 若輸入檔案中的資料已排序,則此步驟可行

  • 然後查明此記錄在資料檔中的位置

  • 最後,再次提交批次,然後使用 skip 批次參數從這個位置繼續載入