本文為您介紹如何為 OceanBase 叢集執行個體的 Oracle 租戶建立普通帳號,以及普通帳號在資料移轉各階段需要具備的最小許可權。
背景資訊
OceanBase 叢集執行個體支援的資料庫帳號包括普通帳號和超級帳號,您在使用資料轉送遷移 OceanBase 叢集執行個體的資料時:
如果使用普通帳號,請參見本文的許可權說明進行相應授權。
如果使用超級帳號,將預設具備所有資料庫的讀寫權限。
本文建立的 OceanBase 叢集執行個體普通帳號,用於建立 OceanBase 資料來源時填寫 使用者名稱。
如果您需要遷移無唯一鍵表,執行資料移轉任務前,還需要建立具備唯讀許可權的__OCEANBASE_INNER_DRC_USER
使用者,用於建立 OceanBase 資料來源時填寫 __OCEANBASE_INNER_DRC_USER 密碼。
建立叢集執行個體普通帳號
進入 叢集執行個體工作台 頁面。
在控制台頁面的左上方,選擇目標執行個體所在地區。
在左側導覽列,單擊 執行個體列表,單擊目標執行個體的名稱。
進入 帳號管理 頁面。
在 叢集執行個體工作台 頁面,單擊左側導覽列的 租戶管理。
在 租戶列表 頁面,單擊 租戶模式 為 Oracle 的目標租戶名稱。
在 租戶工作台 頁面,單擊左側導覽列的 帳號管理。
在 帳號管理 頁面,單擊右上方的 建立帳號。
在 建立帳號 對話方塊,配置各項參數。
參數
描述
使用者名稱稱
由字母、數字和底線(_)組成,以字母開頭、字母或資料結尾,長度不能超過 32 個字元。
帳號類型
此處請選擇 普通帳號,可以對授權資料庫進行對應授權操作。許可權詳情請參見 Oracle 租戶的帳號許可權。
密碼
至少包含大寫英文字元、小寫英文字元、數字和特殊字元(包括 !@#$%^&*()_+-=)中的任意三種,長度為 10~32 個字元。您也可以單擊 隨機產生 來自動填寫密碼。
說明您可以單擊 複製密碼 進行複製並妥善儲存。
備忘(選填)
請輸入帳號的備忘資訊。
單擊 確定。
管理訪問對象
叢集執行個體普通帳號對需要訪問的表進行授權的操作如下,您可以根據下文的許可權說明授予相應許可權。
進入 OceanBase 資料庫 Oracle 租戶的 帳號管理 頁面。
單擊目標普通帳號後的 管理訪問對象。
在 訪問對象管理 對話方塊,單擊右上方的 添加對象。
在 添加對象 對話方塊,配置各項參數。
參數
描述
添加方式
支援 指定對象 和 匯入對象 兩種添加方式。
選擇對象
如果您選擇 指定對象 方式,請在左側 源端對象 列表選中需要授權的表對象,單擊 >,將其添加至右側列表中。
如果您選擇 匯入對象 方式,請根據
使用者名稱.對象名
的格式批量粘貼多個需要授權的表對象到輸入框,多個對象之間使用英文逗號(,)分隔。
授予許可權
包括 唯讀 和 讀寫 兩種許可權,請根據需求授予相應許可權。
單擊 確定。
源端叢集執行個體普通帳號授權
下表為您介紹 OceanBase 叢集執行個體(Oracle 租戶模式) 普通帳號作為源端時,在資料移轉各階段需要具備的最小許可權。
表分類 | 結構遷移 | 全量遷移 | 增量同步處理 | 全量校正 | 反向增量 |
有主鍵表、有非空唯一鍵表 | 唯讀 | 唯讀 | 唯讀 | 唯讀 | 讀寫 |
無主鍵表、無非空唯一鍵表 | 唯讀 |
| 唯讀 | 需要 __OCEANBASE_INNER_DRC_USER 使用者 | 讀寫 |
目標端叢集執行個體普通帳號授權
下表為您介紹 OceanBase 叢集執行個體(Oracle 租戶模式) 普通帳號作為目標端時,在資料移轉各階段需要具備的最小許可權。
表分類 | 結構遷移 | 全量遷移 | 增量同步處理 | 全量校正 | 反向增量 |
有主鍵表、有非空唯一鍵表 | 讀寫 | 讀寫 | 讀寫 | 唯讀 | 唯讀 |
無主鍵表、無非空唯一鍵表 | 讀寫 | 讀寫 | 讀寫 | 不支援 | 唯讀 |
建立 __OCEANBASE_INNER_DRC_USER 使用者及授權
進入 OceanBase 管理主控台的 租戶工作台 頁面。
在 租戶工作台 頁面,單擊右上方的 登入資料庫。
在 選擇資料庫帳號 對話方塊,輸入或從下拉式清單中選擇需要登入的資料庫名稱,單擊 確定。
在 請輸入串連密碼 對話方塊,輸入資料庫的密碼,單擊 確定。
登入資料庫後,執行下述命令,建立
__OCEANBASE_INNER_DRC_USER
使用者。CREATE USER '__OCEANBASE_INNER_DRC_USER' IDENTIFIED BY <your_password>;
建立成功後,執行下述命令為該使用者授權。
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';