全部產品
Search
文件中心

:資料匯入

更新時間:Sep 13, 2024

當您需要將大批量資料以附件(SQL、CSV、Excel)形式快速匯入資料庫時,可以使用DMS的資料匯入功能。

前提條件

  • 資料庫類型如下:

    • MySQL:RDS MySQLPolarDB MySQL版MyBase MySQLPolarDB分布式版AnalyticDB for MySQL、其他來源MySQL。

    • SQL Server:RDS SQL ServerMyBase SQL Server、其他來源SQL Server。

    • PostgreSQL:RDS PostgreSQLPolarDB PostgreSQL版MyBase PostgreSQLAnalyticDB for PostgreSQL、其他來源PostgreSQL。

    • MariaDB:RDS MariaDB、其他來源MariaDB。

    • OceanBase。

    • PolarDB PostgreSQL版(相容Oracle)

    • 達夢資料庫

    • DB2

    • Oracle

    • Redis

    • MongoDB

  • 待匯入資料的資料庫已登入DMS。具體操作,請參見登入資料庫

  • 已有目標資料庫的變更許可權。

注意事項

  • 單次匯入的SQL、CSV、Excel類型的檔案不能超過5 GB。

  • DMS支援上傳zip類型的附件。如果您需要在同一個工單中匯入多個檔案,可以將多個檔案放在一個zip中,再進行上傳。

  • 資料匯入功能暫不支援在同一個工單對多個資料庫進行變更操作,如需對多個資料庫進行變更請提交普通資料變更工單。具體操作,請參見普通資料變更

  • 若只是少量資料變更,為保證變更的穩定性,建議使用普通資料變更DML無鎖變更工單。

  • 若批量資料匯入指令碼中包含了結構變更SQL,即使執行個體已開啟無鎖結構變更,該結構變更SQL也只能通過原生方式執行,不會通過無鎖結構變更的方式執行。

  • 為避免執行批量資料匯入處理程序中影響資料庫效能,建議您使用效能較好的SQL語句,如INSERT,主鍵索引的UPDATEDELETE

操作步驟

說明

本操作以管控模式為安全協同的RDS MySQL資料庫為例介紹配置流程。

  1. 登入Data Management 5.0
  2. 單擊控制台左上方的2023-01-28_15-57-17.png表徵圖,選擇全部功能 > 資料庫開發 > 資料變更 > 資料匯入

    說明

    若您使用的是非極簡模式的控制台,在頂部功能表列中,選擇資料庫開發 > 資料變更 > 資料匯入

  3. 資料變更工單申請頁面,配置工單參數資訊。部分參數說明如下:

    參數項

    說明

    資料庫

    資料匯入的目標資料庫。僅支援選擇一個資料庫。

    說明

    管控模式自由操作穩定變更的執行個體資料庫需要登入後方可選擇。

    執行方式

    工單的執行方式,系統預設選擇審批通過後,提交者執行。其他方式:

    • 審批通過後,自動執行

    • 最後一個審批人執行

    檔案編碼

    資料庫的檔案編碼,系統預設選擇自動識別。其他取值:

    • UTF-8

    • GBK

    • ISO-8859-1

    匯入模式

    資料匯入模式,當前支援兩種匯入模式:

    • 極速模式:在執行階段讀取檔案,將SQL語句直接執行到指定的目標庫。該模式安全性相比安全模式要低,但是執行時效較高。

      說明

      安全規則配置預設未開啟支援極速模式匯入資料。您可以在執行個體關聯的安全規則 > SQL變更 > 基礎配置項中開啟該檢測項。

    • 安全模式:預檢查階段會解析檔案並將SQL或CSV資料緩衝入庫,執行時再從緩衝庫中讀出來執行到指定的目標庫。該模式安全性較好,但是執行時效相比極速模式要低。

    檔案類型

    選中匯入資料的檔案類型:

    • SQL指令碼:安全協同模式下,預設僅放開INSERT和REPLACE命令類型。如需調整,可以由DBA或管理員在安全規則 > SQL變更 > 批量資料匯入中修改。

    • CSV格式:檔案中的分隔字元必須為逗號。

    • Excel格式:Excel檔案中可以有表頭(屬性),也可以直接是資料。

    目標表

    選擇匯入資料的目標表。

    說明

    當檔案類型選擇CSV或Excel格式時,會出現該參數項。

    資料位元置

    選擇資料的位置:

    • 第1行為屬性:表格首行是欄位名。

    • 第1行為資料:表格首行是資料。

    寫入方式

    選擇檔案的寫入方式:

    • INSERT:插入資料時資料庫會檢查主鍵(PrimaryKey),如果出現重複會報錯。

    • INSERT_IGNORE:如果表中已經存在相同的記錄,則忽略當前新資料。

    • REPLACE_INTO:如果表中已經有某行資料(根據主鍵或者唯一索引判斷),則先刪除此行資料,然後插入新的資料。

    說明

    RDS MySQL、PolarDB MySQL版PolarDB分布式版AnalyticDB for MySQL、OceanBase資料庫類型支援3種寫入方式:INSERT INTOINSERT IGNOREREPLACE INTO。其他資料庫僅支援INSERT INTO寫入。

    附件

    支援上傳本地檔案上傳OSS檔案

    如果您需要上傳儲存在OSS中的檔案,則首先需要將目標OSS資料來源錄入至DMS。錄入完成後,再單擊上傳OSS檔案,選擇目標Bucket並填入檔案路徑(例如examplefolder/example.sql)。

    說明
    • 支援SQL、CSV、TXT、XLSX和ZIP檔案類型。

    • 匯入的附件最大不能超過5 GB。

    • 錄入OSS資料來源的操作,請參見雲資料庫錄入

    其他選項(可選)

    選擇是否忽略異常報錯。

    • 不忽略(不選中):系統預設。系統遇到異常會停止執行後續SQL並報錯。

    • 忽略(選中):系統執行失敗會忽略異常,並繼續執行後續SQL。

    復原SQL(可選)

    • 文本:在下方輸入框中填入復原SQL。

    • 附件:上傳復原SQL檔案。

      說明
      • 支援SQL、TXT和ZIP檔案類型。

      • 復原檔案最大不能超過15 MB。

    變更相關人(可選)

    設定的相關人員都可以查看工單,並協同工作,非相關人員則不能查看工單(管理員、DBA除外)。

  4. 單擊提交申請,等待系統預檢查通過,如果預檢查失敗,請根據提示檢查失敗原因後單擊重試

    說明
    • 系統會預檢查您上傳的SQL,如果是CSV檔案,會產生相應的INSERT語句。

    • 若在預檢查的類型檢查階段出現報錯,需要根據報錯資訊調整執行個體關聯的安全規則。具體操作,請參見資料變更

  5. 審批地區,單擊提交審批,在提示對話方塊中單擊確認

  6. 待審批通過後,在執行地區,單擊執行變更

  7. 任務設定對話方塊中,選擇工單的執行方式。

    執行方式如下:

    • 立即執行:系統預設。單擊確定執行後,立即執行工單。

    • 定時執行:選擇任務開始執行時間。單擊確定執行後,系統會在設定的時間自動執行任務。

    說明
    • 執行期間,系統流式讀取已解析的SQL,分批執行到資料庫(每批大小1 MB)。

    • 您可以在執行地區,查看任務執行狀態、任務SQL檢查詳情和調度日誌。

    • 已暫停任務,重啟後,會根據匯入模式選擇從頭執行任務,還是從暫停位置執行。

      • 極速模式:暫停任務後重啟,將從頭開始執行指令碼或匯入資料檔案。

      • 安全模式:暫停任務後重啟,將從暫停位置繼續執行指令碼或匯入資料檔案。

  8. 當出現任務執行完成提示後,表示資料匯入工單完成。

  9. (可選)查詢匯入的資料。

    前往SQL Console頁面查詢匯入的資料。具體操作,請參見SQL Console初體驗

樣本檔案

常見問題

  • Q:執行資料匯入時出現permission denied for schema XXXXX報錯如何處理?

    A:報錯顯示當前在DMS登入的資料庫帳號許可權不足。您可以嘗試在DMS中登入高許可權的資料庫帳號,再重試匯入,或嘗試將資料匯入到其他公用資料庫。切換資料庫帳號操作,請參見編輯執行個體資訊

    如果上述方法仍無法解決問題,可以嘗試使用Data Transmission Service進行資料移轉。更多資訊,請參見遷移方案概覽

  • Q:資料匯入工單預檢查失敗,提示不允許提交XXXX變更語句,該如何處理?

    A:管理員或DBA需要修改SQL變更安全規則,允許在匯入時執行某類型SQL。如下以補充允許提交CREATE_TABLE為例:

    1. 在DMS控制台中,找到並進入安全規則功能頁面。

    2. 編輯目標規則,在規則詳情頁左側地區單擊SQL變更

    3. 選擇批量資料匯入規則,並單擊允許大量匯入插入語句規則右側的編輯

    4. 增加CREATE_TABLE類型的SQL,單擊提交。更多資訊,請參見SQL變更

    5. 規則修改後,請您返回到資料匯入工單詳情頁,在預檢查地區單擊重試

  • Q:如果待上傳的附件大於5 GB,該如何進行操作?

    A:您可以根據實際的業務情況選擇操作方法:

    • 拆分附件,提交多個工單進行上傳。

    • 使用Navicat遠端連線資料庫,再進行上傳附件。