閱讀493 返回首頁    go iPhone_iPad_Mac_apple


使用 DTS 遷移 PPAS 數據__快速入門(PPAS)_雲數據庫 RDS 版-阿裏雲

使用數據傳輸服務(DTS)將本地數據庫遷移到 RDS for PPAS,可以實現應用不停服務的情況下,平滑完成數據庫的遷移工作。遷移過程中,對本地的 Oracle 數據庫沒有影響。

背景信息

DTS 數據遷移支持 PPAS 的結構遷移和全量遷移。

  • 結構遷移

    DTS 會將遷移對象的結構定義遷移到目標實例。目前 DTS 支持結構遷移的對象有:表、視圖、同義詞、觸發器、存儲過程、存儲函數、包、自定義類型。

  • 全量遷移

    DTS 會將本地數據庫遷移對象的數據全部遷移到目標實例。如果遷移過程中,本地 Oracle 數據庫有數據寫入的話,那麼這些增量數據不一定能夠被遷移到 RDS 中。所以,如果要保證數據一致性,那麼盡量選擇在業務低峰期進行全量遷移。

遷移限製

將 PPAS 本地數據庫遷移到 RDS 上有以下限製。

  • 遷移過程中,不支持 DDL 操作
  • 不支持物化視圖的遷移
  • 結構遷移時,會將 reverse index 遷移成普通索引
  • 結構遷移時,會將位圖索引遷移成普通索引
  • 結構遷移時,會將分區索引遷移成在每個分區上單獨創建的索引

前提條件

已完成 RDS 實例數據庫的準備,可參見 設置連接模式創建數據庫和賬號

操作步驟

本例以有公網 IP 的本地數據庫遷移到 RDS 上為例。

準備本地數據

在正式遷移之前,需要先在本地數據庫和 RDS 實例中創建遷移賬號,並在 RDS 實例中創建要遷移的數據庫,並將要遷移的數據庫的讀寫權限授權給遷移賬號。不同的遷移類型需要不同的權限,如下表所示。

遷移類型 結構遷移 全量遷移
本地 Oracle 實例 schema 的 owner schema 的 owner
RDS 上 PPAS 實例 schema 的 owner schema 的 owner
  1. 通過 PostgreSQL 客戶端,在本地數據庫中創建遷移賬號。

    1. CREATE USER username IDENTIFIED BY password;

    參數說明:

    • username:要創建的賬號
    • password:該賬號的登錄密碼

    如:

    1. CREATE USER myuser IDENTIFIED BY mypassword;
  2. 在本地數據庫中給遷移賬號授權,本地數據庫中遷移賬號的權限要求請參見上表。

    1. GRANT privileges ON tablename TO username;

    參數說明:

    • privileges:該賬號的操作權限,如 SELECT、INSERT、UPDATE 等。如果要授權該賬號所有權限,則使用 ALL
    • tablename:表名。如果要授權該賬號所有的表權限,則使用通配符 *
    • username:要授權的賬號名

    如:

    1. GRANT ALL ON * TO myuser;

正式遷移操作

  1. RDS 管理控製台 上單擊 遷移數據庫,進入 DTS,如下圖所示。

    DTS

  2. 單擊 創建在線遷移任務,進入 創建遷移任務 頁麵,如下圖所示。

    創建遷移任務

  3. 輸入任務名稱、本地數據庫信息和目標數據庫信息,單擊 授權白名單並進入下一步,如下圖所示。

    填寫遷移任務信息

    • 任務名稱:自定義任務名稱,可以保持默認值
    • 源庫信息
      • 實例類型:本地數據庫的實例類型,可以選擇 有公網 IP 的自建數據庫ECS 上的自建數據庫RDS 實例雲數據庫 MongoDB
      • 數據庫類型:本地數據庫的類型,可以選擇 OracleMySQLSQLServerPostgreSQLMongoDB
      • 主機名或IP地址:本地數據庫的公網地址
      • 端口:本地數據庫的公網端口
      • SID:本地數據庫的 SID
      • 賬號:本地數據庫的遷移賬號
      • 密碼:本地數據庫遷移賬號對應的密碼
    • 目標庫信息
      • 實例類型:默認為 RDS 實例
      • RDS 實例 ID:目標 RDS 實例的 ID。點擊下拉菜單將自動聯想當前登錄管理控製台的賬號的 RDS 實例,點擊選擇所需要的實例
      • 數據庫名稱:要遷移到目標數據庫的名稱
      • 賬號:RDS 數據庫的遷移賬號
      • 密碼:RDS 數據庫遷移賬號對應的密碼
  4. 擇遷移類型,並在 遷移對象 中選擇要遷移的對象,單擊 > 將要遷移的對象放入 已選擇 中,單擊 預檢查並啟動,如下圖所示。

    注意

    • 選擇結構遷移時,如果目標 RDS 實例的數據庫 mydatabase 中,不存在跟本地數據庫遷移賬號同名的 Schema,那麼 DTS 會自動創建同名 Schema, 且 Schema 的 Owner 為遷移賬號。
    • 數據遷移隻會將本地數據庫的數據(結構)複製一份到目標數據庫,並不會對本地數據庫數據(結構)造成影響。
    • 數據遷移過程中,不支持 DDL 操作,如進行 DDL 操作可能導致遷移失敗。
    • DTS 增量遷移的時間最長支持 15 天,如果超過 15 天不停止任務,係統資源可能被回收。

    選擇遷移類型及對象

    如果要修改遷移對象在目標數據庫上的名字,可以在 已選擇 列表右側單擊 編輯,修改已選擇的對象名稱,如上圖4所示。

    說明: 以下以預檢查不通過為例進行描述,如果預檢查通過,請直接參見步驟 8。

  5. 係統顯示預檢查結果,如下圖所示。

    檢查不通過

  6. 單擊 檢測結果失敗 的檢測項後的 !,查看失敗詳細信息,根據失敗詳細信息完成錯誤排查。

  7. 錯誤排查完畢後,在 遷移任務列表 頁麵,選擇當前遷移任務,單擊 啟動,如下圖所示。

    啟動遷移任務

  8. 係統預檢查通過後,單擊 確定,自動進行遷移任務,如下圖所示。

    檢查通過

後續操作

因遷移賬號擁有讀寫權限,為了保證本地數據庫安全,請在數據遷移完成後,刪除本地數據庫和 RDS 實例中的遷移賬號。

最後更新:2016-11-23 16:03:53

  上一篇:go 使用 oss_fdw 讀寫外部數據文本文件__快速入門(PostgreSQL)_雲數據庫 RDS 版-阿裏雲
  下一篇:go 邏輯備份及恢複__快速入門(PPAS)_雲數據庫 RDS 版-阿裏雲