全部產品
Search
文件中心

ApsaraDB for OceanBase:建立 OceanBase 叢集執行個體使用者及授權

更新時間:Oct 17, 2024

本文為您介紹如何為 OceanBase 叢集執行個體的 Oracle 租戶建立普通帳號,以及普通帳號在資料移轉各階段需要具備的最小許可權。

背景資訊

OceanBase 叢集執行個體支援的資料庫帳號包括普通帳號和超級帳號,您在使用資料轉送遷移 OceanBase 叢集執行個體的資料時:

  • 如果使用普通帳號,請參見本文的許可權說明進行相應授權。

  • 如果使用超級帳號,將預設具備所有資料庫的讀寫權限。

本文建立的 OceanBase 叢集執行個體普通帳號,用於建立 OceanBase 資料來源時填寫 使用者名稱

image.png

如果您需要遷移無唯一鍵表,執行資料移轉任務前,還需要建立具備唯讀許可權的__OCEANBASE_INNER_DRC_USER使用者,用於建立 OceanBase 資料來源時填寫 __OCEANBASE_INNER_DRC_USER 密碼

image.png

建立叢集執行個體普通帳號

  1. 進入 叢集執行個體工作台 頁面。

    1. 登入OceanBase 管理主控台

    2. 在控制台頁面的左上方,選擇目標執行個體所在地區。

    3. 在左側導覽列,單擊 執行個體列表,單擊目標執行個體的名稱。

  2. 進入 帳號管理 頁面。

    1. 叢集執行個體工作台 頁面,單擊左側導覽列的 租戶管理

    2. 租戶列表 頁面,單擊 租戶模式Oracle 的目標租戶名稱。

      image.png

    3. 租戶工作台 頁面,單擊左側導覽列的 帳號管理

  3. 帳號管理 頁面,單擊右上方的 建立帳號

    image.png

  4. 建立帳號 對話方塊,配置各項參數。

    image.png

    參數

    描述

    使用者名稱稱

    由字母、數字和底線(_)組成,以字母開頭、字母或資料結尾,長度不能超過 32 個字元。

    帳號類型

    此處請選擇 普通帳號,可以對授權資料庫進行對應授權操作。許可權詳情請參見 Oracle 租戶的帳號許可權

    密碼

    至少包含大寫英文字元、小寫英文字元、數字和特殊字元(包括 !@#$%^&*()_+-=)中的任意三種,長度為 10~32 個字元。您也可以單擊 隨機產生 來自動填寫密碼。

    說明

    您可以單擊 複製密碼 進行複製並妥善儲存。

    備忘(選填)

    請輸入帳號的備忘資訊。

  5. 單擊 確定

管理訪問對象

叢集執行個體普通帳號對需要訪問的表進行授權的操作如下,您可以根據下文的許可權說明授予相應許可權。

  1. 進入 OceanBase 資料庫 Oracle 租戶的 帳號管理 頁面。

  2. 單擊目標普通帳號後的 管理訪問對象

    image.png

  3. 訪問對象管理 對話方塊,單擊右上方的 添加對象

    image.png

  4. 添加對象 對話方塊,配置各項參數。

    image.png

    參數

    描述

    添加方式

    支援 指定對象匯入對象 兩種添加方式。

    選擇對象

    • 如果您選擇 指定對象 方式,請在左側 源端對象 列表選中需要授權的表對象,單擊 >,將其添加至右側列表中。

    • 如果您選擇 匯入對象 方式,請根據 使用者名稱.對象名 的格式批量粘貼多個需要授權的表對象到輸入框,多個對象之間使用英文逗號(,)分隔。

    授予許可權

    包括 唯讀讀寫 兩種許可權,請根據需求授予相應許可權。

  5. 單擊 確定

源端叢集執行個體普通帳號授權

下表為您介紹 OceanBase 叢集執行個體(Oracle 租戶模式) 普通帳號作為源端時,在資料移轉各階段需要具備的最小許可權。

表分類

結構遷移

全量遷移

增量同步處理

全量校正

反向增量

有主鍵表、有非空唯一鍵表

唯讀

唯讀

唯讀

唯讀

讀寫

無主鍵表、無非空唯一鍵表

唯讀

  • 唯讀

  • 需要 __OCEANBASE_INNER_DRC_USER 使用者

唯讀

需要 __OCEANBASE_INNER_DRC_USER 使用者

讀寫

目標端叢集執行個體普通帳號授權

下表為您介紹 OceanBase 叢集執行個體(Oracle 租戶模式) 普通帳號作為目標端時,在資料移轉各階段需要具備的最小許可權。

表分類

結構遷移

全量遷移

增量同步處理

全量校正

反向增量

有主鍵表、有非空唯一鍵表

讀寫

讀寫

讀寫

唯讀

唯讀

無主鍵表、無非空唯一鍵表

讀寫

讀寫

讀寫

不支援

唯讀

建立 __OCEANBASE_INNER_DRC_USER 使用者及授權

  1. 進入 OceanBase 管理主控台的 租戶工作台 頁面。

  2. 租戶工作台 頁面,單擊右上方的 登入資料庫

    image.png

  3. 選擇資料庫帳號 對話方塊,輸入或從下拉式清單中選擇需要登入的資料庫名稱,單擊 確定

  4. 請輸入串連密碼 對話方塊,輸入資料庫的密碼,單擊 確定

  5. 登入資料庫後,執行下述命令,建立 __OCEANBASE_INNER_DRC_USER 使用者。

    CREATE USER '__OCEANBASE_INNER_DRC_USER' IDENTIFIED BY <your_password>;
  6. 建立成功後,執行下述命令為該使用者授權。

    GRANT CREATE SESSION TO '__OCEANBASE_INNER_DRC_USER';
    GRANT SELECT ANY DICTIONARY TO '__OCEANBASE_INNER_DRC_USER';

    對遷移庫表的 SELECT 許可權,支援以下兩種賦權方式。

    // 賦予系統許可權
    GRANT SELECT ANY TABLE TO '__OCEANBASE_INNER_DRC_USER';
    // 賦予對象許可權(僅支援對具體庫表對象賦權)
    GRANT SELECT ON <schema>.<table> TO '__OCEANBASE_INNER_DRC_USER';