執行個體錄入Data Management後,DMS會自動採集執行個體中資料庫的字典資訊。當您在DMS發現執行個體資訊不一致時,您可以手動同步字典。如果您在DMS進行資料庫結構變更,DMS會自動同步字典,否則需要手動同步字典。
背景資訊
字典資訊用於實現資料庫、表、欄位、可程式化對象的許可權分級管控。DMS採集的字典資訊包含如下內容:
-
資料庫名稱和字元集資訊。
說明管控模式為安全協同模式的執行個體,在採集中繼資料時會預設屏蔽系統庫。詳細資料,請參見DMS預設屏蔽的執行個體系統庫。
-
表的名稱、佔用的儲存空間、記錄行數、字元集、欄位、索引和描述資訊。
-
欄位類型、精度和描述資訊。
字典更新規則:
-
如果結構變更通過DMS執行,DMS會自動同步字典資訊。
-
如果結構變更未通過DMS執行,需要手動執行同步字典的操作。
關於字典的更多資訊,請參見中繼資料。
前提條件
系統角色為DBA或管理員。查看使用者角色,請參見查看我的系統角色。
操作步驟
方法一
在頂部功能表列中,選擇。
說明若您使用的是極簡模式的控制台,請單擊控制台左上方的
表徵圖,選擇。-
單擊執行個體列表頁簽。
-
在目標執行個體的操作列,單擊。
-
在同步字典對話方塊中,單擊確認。
方法二
-
在首頁左側執行個體列表中,按右鍵目標執行個體,選擇重新整理 / 同步字典。
-
在同步字典對話方塊中,單擊確認。
常見問題
Q:DMS 同步中繼資料較慢,手動重新整理字典已等待較長時間,仍無法看到新建立的庫或表,如何處理?
A:出現該問題可能由以下兩個主要原因導致:
1. DMS 帳號缺少新庫的存取權限,在 RDS SQL Server 上建立的資料庫,預設不會自動授權給 DMS 所使用的帳號。即使已重新整理字典,若帳號無權訪問該庫,DMS 仍將無法顯示。
-
登入阿里雲控制台,在左側導覽列選擇執行個體列表。
-
在頂部功能表列選擇目標地區,進入執行個體列表頁面。
-
找到目標執行個體,點擊執行個體ID進入基本資料頁。
-
在左側導覽列中選擇帳號管理。
-
找到 DMS 使用的資料庫帳號,在操作列中點擊修改許可權或重設帳號許可權,確保該帳號授予了新庫的存取權限。
2. 庫表數量多,中繼資料同步耗時較長。DMS 的中繼資料同步時間與執行個體內資料庫和表的數量成正比。若執行個體中包含大量庫表,同步任務可能需要數分鐘甚至更長時間才能完成。
Q:為什麼在 DMS 中看不到建立的庫、表、函數,或已刪除的庫仍顯示?
A:這是由於 DMS 的中繼資料(庫/表/函數等結構資訊)非即時同步。若結構變更未通過 DMS 執行(例如直接在 RDS 控制台、Mongo Shell 或其他用戶端操作),DMS 不會自動感知,需要手動重新整理字典。
解決方案:在首頁左側執行個體列表中,按右鍵目標執行個體,選擇重新整理 / 同步字典,通常立即生效,無需等待特定時間。
特殊情境說明:
-
MongoDB 集合不顯示:建議先通過 Mongo Shell 執行
show collections,確認集合確實存在後,再執行重新整理 / 同步字典。 -
SDK ListDatabases 返回已刪除庫:已刪除庫的中繼資料狀態被標記為 NOT_EXIST 但尚未清理,導致 ListDatabases 仍返回該庫。執行重新整理 / 同步字典後,中繼資料將完成清理,不再返回已刪除的庫。
-
SQL Server 函數不可見:SQL Server 函數等可程式化對象的自動同步周期通常為一天一次,存在一定延遲。如需立即更新,請手動執行重新整理 / 同步字典。
Q:DMS 中 MySQL 表未顯示巨量資料量標誌提示怎麼辦?
A:巨量資料量標誌是 DMS 介面的輔助提醒,用於在操作資料量較大的表時給出提示。該標誌不顯示屬於正常現象,原因如下:
-
巨量資料量標誌由後台輔助任務計算產生,該任務通常在低峰期或淩晨執行,因此標誌的展示可能存在一定延遲。
-
若執行個體中繼資料尚未更新,也可能導致該標誌未能及時顯示。
解決方案:按右鍵目標執行個體,選擇重新整理 / 同步字典,觸發底層中繼資料資訊的更新。操作完成後,在後台輔助任務下次執行後(通常為低峰期),觀察介面是否出現巨量資料量標誌。
Q:RDS 資料庫資料更新後在 DMS 中能否立即看到?
A:需要區分資料與中繼資料兩種情況:
-
資料查詢(如 INSERT/UPDATE/DELETE 操作):資料落盤後,只要帳號具備相應的查詢許可權,通過 DMS 的 SQL 查詢時段可以立即查到最新資料,無需執行重新整理/同步字典操作。
-
中繼資料顯示(如建立庫/表/函數等結構變更):若結構變更未通過 DMS 執行,DMS 不會自動感知,建立的對象不會立即顯示。此時需手動執行重新整理 / 同步字典,將中繼資料更新為最新狀態後,方可在 DMS 中正常顯示。
Q:安全託管模式下如何修改執行個體訪問方式及切換資料庫使用者?
A:若需要切換資料庫訪問帳號(例如使用具有 DDL 許可權的特定帳號執行結構變更),可通過修改執行個體的訪問方式來實現。
適用情境:
-
當前訪問方式為安全託管-自動,需切換為安全託管-手動或不託管以使用指定帳號。
-
安全託管模式下因帳號許可權限制導致 DDL 操作失敗,需臨時切換至其他帳號執行。
操作步驟:
-
在首頁左側執行個體列表中,按右鍵目標執行個體,選擇編輯執行個體。
-
在編輯執行個體頁面,找到訪問方式配置項,根據需要選擇以下方式之一:
-
安全託管-手動:選擇後需輸入具備要求的權限的真實資料庫帳號和密碼,單擊測試連接驗證帳號連通性,確認無誤後儲存。
-
不託管:選擇後直接儲存,後續每次登入資料庫時,DMS 將要求手動輸入帳號和密碼,可使用任意有許可權的帳號。
-
-
完成所需操作後,可按上述步驟將訪問方式恢複為安全託管模式。
修改訪問方式會影響 DMS 訪問該執行個體所使用的帳號,請確保切換後的帳號具備執行所需操作的許可權。
更多重新整理/同步字典相關常見問題(包括許可權排查、系統庫屏蔽、Redis和Oracle專題等),請參見DMS重新整理同步字典(同步中繼資料)常見問題。