關於 Autonomous Database 上的資料管線

Autonomous Database 資料管線是載入管線或匯出管線。

載入管線可從外部來源提供連續的增量資料載入 (當資料到達物件存放區時,會將其載入資料庫表格)。匯出管線提供連續的增量資料匯出至物件存放區 (當新資料顯示在匯出至物件存放區的資料庫表格中時)。管線會使用資料庫排程器持續載入或匯出增量資料。

Autonomous Database 資料管線提供下列功能:

  • 統一作業:管線可讓您快速輕鬆地載入或匯出資料,並定期為新資料重複這些作業。DBMS_CLOUD_PIPELINE 套裝程式提供一組整合的管線組態 PL/SQL 程序,以及建立和啟動用於載入或匯出作業的排定工作。

  • 排定的資料處理:管線會監督其資料來源,並在新資料到達時定期載入或匯出資料。

  • 高效能:管線使用 Autonomous Database 上的可用資源調整資料傳輸作業。管線預設會對所有負載或匯出作業使用平行程度,並根據 Autonomous Database 上可用的 CPU 資源或根據可設定的優先順序屬性進行擴展。

  • 單元性與復原:管線會保證單元性,讓物件存放區中的檔案針對載入管線完全載入一次。

  • 監督與疑難排解:管線提供詳細的日誌和狀態表格,供您監督和除錯管線作業。

  • 多重雲端相容Autonomous Database 上的管線可輕鬆在雲端提供者之間切換,而無須變更應用程式。管線支援 Autonomous Database 支援的所有證明資料和物件存放區 URI 格式 (Oracle Cloud Infrastructure Object StorageAmazon S3Azure Blob 儲存體Google Cloud StorageAmazon S3 相容物件存放區)。

資料管線生命週期

DBMS_CLOUD_PIPELINE 套裝軟體提供建立、設定、測試及啟動管線的程序。載入和匯出管線的管線生命週期和程序相同。

pipeline_lifecycle.eps 的描述如下
圖解說明 pipeline_lifecycle.eps

對於任一種管線類型,您可以執行下列步驟來建立和使用管線:

  1. 建立並設定管線。請參閱建立及設定管線以瞭解詳細資訊。

  2. 測試新的管線。如需詳細資訊,請參閱測試管線

  3. 啟動管線。請參閱啟動管線以瞭解詳細資訊。

此外,您可以監督、停止或刪除管線:

  • 管線在執行時 (不論是在測試期間或在您啟動管線後的一般使用期間),都可以監督管線。請參閱監控及疑難排解管線以瞭解詳細資訊。

  • 您可以停止管線,稍後再重新啟動,或是在使用管線完成時刪除管線。請參閱停止管線刪除管線以瞭解詳細資訊。

載入管線

使用載入管線,從物件存放區中的外部檔案連續載入增量資料至資料庫表格。載入管線會定期識別物件存放區中的新檔案,並將新資料載入資料庫表格。

載入管線的運作方式如下 (可以使用管線屬性設定部分功能):

  • 物件存放區檔案會以平行方式載入資料庫表格。

    • 載入管線會使用物件存放區檔案名稱來唯一識別及載入較新的檔案。
    • 一旦在資料庫表格中載入了物件倉庫中的檔案,如果物件倉庫中的檔案內容發生變更,則不會再次載入該檔案。
    • 如果刪除物件倉庫檔案,則不會影響資料庫表格中的資料。
  • 如果發生失敗,載入管線會自動重試作業。系統會在每次後續執行管線排定工作時嘗試重試。

  • 如果檔案中的資料不符合資料庫表格,就會將其標示為 FAILED,並且可以複查以對問題進行除錯和疑難排解。

    • 如果無法載入任何檔案,管線就不會停止並繼續載入其他檔案。
  • 載入管線支援多種輸入檔案格式,包括:JSON、CSV、XML、Avro、ORC 和 Parquet。

load-pipeline.eps 的說明如下
load-pipeline.eps 圖解描述

從非 Oracle 資料庫移轉是載入管線的其中一個可能使用案例。當您需要將資料從非 Oracle 資料庫移轉至 Oracle Autonomous Database on Dedicated Exadata Infrastructure 時,可以擷取資料並將其載入 Autonomous Database 中 (Oracle Data Pump 格式無法用於從非 Oracle 資料庫移轉)。使用一般檔案格式 (例如 CSV) 從非 Oracle 資料庫匯出資料,即可將資料儲存至檔案,並將檔案上傳至物件存放區。接著建立管線,將資料載入至 Autonomous Database 。使用負載管線載入大量 CSV 檔案,可提供諸如容錯、繼續和重試等重要優點。對於具有大型資料集的移轉,您可以建立多個管線 (每個表格一個用於非 Oracle 資料庫檔案),將資料載入 Autonomous Database

匯出管線

使用匯出管線將資料從資料庫持續增量匯出至物件存放區。匯出管線會定期識別候選資料,並將資料上傳至物件存放區。

有三個匯出管線選項 (可使用管線屬性設定匯出選項):

  • 使用日期或時戳資料欄作為追蹤較新資料的索引鍵,將查詢的增量結果匯出至物件存放區。

  • 使用日期或時戳資料欄作為追蹤較新資料的索引鍵,將表格的增量資料匯出至物件存放區。

  • 使用查詢將表格的資料匯出至物件存放區,以選取資料而不參照日期或時戳資料欄 (讓管線匯出查詢為每個排程器執行選取的所有資料)。

匯出管線具有下列功能 (可以使用管線屬性設定部分功能):

  • 結果會以平行方式匯出至物件存放區。

  • 如果發生任何失敗,後續管線工作會重複匯出作業。

  • 匯出管線支援多種匯出檔案格式,包括: CSV、JSON、Parquet 或 XML

Oracle 維護的管線

Autonomous Database on Dedicated Exadata Infrastructure 提供內建管線,以 JSON 格式將特定日誌匯出至物件存放區。這些管線已預先設定,並且由 ADMIN 使用者啟動並擁有。

「Oracle 維護」管線包括:

  • ORA$AUDIT_EXPORT:此管線會將資料庫稽核日誌匯出成 JSON 格式的物件存放區,並在啟動管線後每 15 分鐘執行一次 (根據 interval 屬性值)。

  • ORA$APEX_ACTIVITY_EXPORT:此管線會將 Oracle APEX 工作區活動日誌匯出成 JSON 格式的物件存放區。此管線已預先設定用於擷取 APEX 活動記錄的 SQL 查詢,並且在開始管線後每 15 分鐘執行一次 (根據 interval 屬性值)。

設定並啟動「Oracle 管理的管線」:

  1. 決定要使用的 Oracle Managed Pipeline:ORA$AUDIT_EXPORTORA$APEX_ACTIVITY_EXPORT
  2. 設定 credential_namelocation 屬性。

    附註:

    credential_nameAutonomous Database on Dedicated Exadata Infrastructure 上的必要值。

    舉例而言:

    BEGIN
      DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
        pipeline_name => 'ORA$AUDIT_EXPORT',
        attribute_name => 'credential_name',
        attribute_value => 'DEF_CRED_OBJ_STORE'
      );
      DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
        pipeline_name => 'ORA$AUDIT_EXPORT',
        attribute_name => 'location',
        attribute_value => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/'
      );
    END;
    /

    資料庫的日誌資料會匯出至您指定的物件存放區位置。

    如需詳細資訊,請參閱 SET_ATTRIBUTE

  3. (選擇性) 設定 intervalformatpriority 屬性。

    如需詳細資訊,請參閱 SET_ATTRIBUTE

  4. 啟動管線。

    如需詳細資訊,請參閱 START_PIPELINE