冷數(shù)據(jù)歸檔常見問題
本文匯總了PolarDB冷數(shù)據(jù)歸檔相關(guān)的常見問題。
出現(xiàn)"[Data Lifecycle Management] DLM storage engine is not support. The value of polar_dlm_storage_mode is OFF."
報錯,如何處理?
您需要在PolarDB控制臺上開啟冷數(shù)據(jù)歸檔功能。詳情請參見開啟冷數(shù)據(jù)歸檔。
為什么PolarDB控制臺導(dǎo)航欄中沒有冷數(shù)據(jù)歸檔這個菜單?
申請開啟冷數(shù)據(jù)歸檔功能成功后,會有一定的延遲,等待幾分鐘刷新頁面后即可出現(xiàn)冷數(shù)據(jù)歸檔菜單。
冷數(shù)據(jù)文件的格式是什么?
目前支持CSV、IBD和ORC格式。
如何判斷當(dāng)前表或分區(qū)是否歸檔成功?
歸檔完成后,您可以通過以下兩種方式來查看表或分區(qū)是否歸檔成功:
執(zhí)行
SHOW CREATE TABLE table_name;
命令查看表結(jié)構(gòu)信息,以此來確認(rèn)表或者分區(qū)是否歸檔成功。普通表:回顯信息中顯示STORAGE OSS或
CONNECTION='default_oss_server'
,則表示當(dāng)前數(shù)據(jù)歸檔成功。分區(qū)表:分區(qū)表中的分區(qū)顯示ENGINE=CSV/ORC,則表示當(dāng)前數(shù)據(jù)歸檔成功。
在控制臺上查看是否歸檔成功。
登錄PolarDB控制臺。在目標(biāo)集群的 路徑下,查看是否存在對應(yīng)的表名,若存在,則說明當(dāng)前數(shù)據(jù)已經(jīng)歸檔至OSS。
如何下載歸檔后的冷數(shù)據(jù)?
目前暫不支持下載歸檔后的冷數(shù)據(jù),如果您有下載需求,請前往配額中心,根據(jù)配額IDpolardb_mysql_download_oss
找到配額名稱,在對應(yīng)的操作列單擊申請下載歸檔后的冷數(shù)據(jù)。
如何查看歸檔后的冷數(shù)據(jù)大小?
您可以在控制臺查看歸檔后的冷數(shù)據(jù)大小,或者直接在集群上查詢對應(yīng)的冷數(shù)據(jù)表。具體操作請參見查看冷數(shù)據(jù)歸檔信息。
如何查詢歸檔后的冷數(shù)據(jù)?
對普通表和分區(qū)表執(zhí)行冷數(shù)據(jù)歸檔操作后,您可以通過以下方法查詢歸檔后的冷數(shù)據(jù):
普通表:執(zhí)行冷數(shù)據(jù)歸檔后,查詢冷數(shù)據(jù)的方法和查詢熱數(shù)據(jù)的方法一致,不需要修改訪問方式。
分區(qū)表:執(zhí)行冷數(shù)據(jù)歸檔后,查詢冷數(shù)據(jù)的操作方法請參見查詢混合分區(qū)。
如何修改對應(yīng)的冷數(shù)據(jù)?
暫不支持直接修改已歸檔到OSS上的CSV或ORC格式的冷數(shù)據(jù),您可以通過ALTER TABLE table_name ENGINE=InnoDB
語法將OSS上的表數(shù)據(jù)導(dǎo)回至PolarStore,修改完成后,再通過ALTER TABLE t ENGINE = CSV STORAGE OSS;
腳本將表數(shù)據(jù)歸檔至OSS。詳情請參見將OSS數(shù)據(jù)導(dǎo)回至PolarStore。對于歸檔為IBD格式的冷數(shù)據(jù),與歸檔前的修改操作無差異,使用與冷數(shù)據(jù)歸檔前的SQL語句修改即可。
如何刪除歸檔后的冷數(shù)據(jù)?
首先,你需要使用DROP TABLE
刪除歸檔表,然后再通過CALL dbms_oss.delete_table_file('database_name', 'table_name');
來刪除歸檔后的冷數(shù)據(jù)。
自動歸檔數(shù)據(jù)如何觸發(fā)?
目前自動歸檔數(shù)據(jù)通過event的方式觸發(fā),詳情請參見冷熱數(shù)據(jù)分離管理。
自動歸檔數(shù)據(jù)有日志嗎?
自動歸檔數(shù)據(jù)的日志記錄在mysql.dlm_progress
表中,您可以使用有mysql庫權(quán)限的賬號查看。詳情請參見mysql.dlm_progress表。
如何查看當(dāng)前自動歸檔數(shù)據(jù)的策略?
自動歸檔數(shù)據(jù)的策略記錄在mysql.dlm_policies
表中,您可以使用有mysql庫權(quán)限的賬號查看。詳情請參見mysql.dlm_policies表。
如何把數(shù)據(jù)歸檔到自己的OSS引擎上?
目前暫不支持將數(shù)據(jù)歸檔至自己的OSS引擎中,您可以使用select into ossoutfile
將數(shù)據(jù)導(dǎo)出至OSS引擎。詳情請參見將本地表串行導(dǎo)出至OSS引擎。
冷數(shù)據(jù)歸檔之后,原表依然存在于數(shù)據(jù)庫中,是否需要執(zhí)行手動刪除操作,以節(jié)約存儲空間?
冷數(shù)據(jù)歸檔后,PolarDB僅存儲該表的元數(shù)據(jù)信息,實際的數(shù)據(jù)信息已經(jīng)存儲在OSS上,對您的存儲空間不會造成影響。
出現(xiàn)OSS error: error message: The OSS Access Key Id you provided does not exist in our records.
報錯,如何處理?
執(zhí)行冷數(shù)據(jù)歸檔操作后,為什么在控制臺上看不到歸檔的表信息?
如果您歸檔的表是空表,歸檔成功后不會在OSS上生成CSV文件,在控制臺上也看不到對應(yīng)的表信息。
對歸檔至OSS的表執(zhí)行rename操作,需要多長時間?
對歸檔至OSS的表執(zhí)行rename操作會修改OSS上的文件信息,速度大約為100MB/s,您可以根據(jù)數(shù)據(jù)總量來估算時長。
出現(xiàn)ERROR 8185 (HY000): Change partition not support archive to engine CSV報錯,如何處理?
將分區(qū)表中的分區(qū)歸檔至OSS的功能目前處于灰度階段。如需使用,請前往配額中心,根據(jù)配額IDpolardb_mysql_hybrid_partition
找到配額名稱,在對應(yīng)的操作列單擊申請來開通該功能。
歸檔后的冷數(shù)據(jù)的數(shù)據(jù)量相比原表是變大還是變小?
歸檔后的冷數(shù)據(jù)的數(shù)據(jù)格式發(fā)生變化,會導(dǎo)致占用的空間容量發(fā)生變化。具體變化如下:
如果原表位于InnoDB引擎,歸檔后的數(shù)據(jù)的數(shù)據(jù)量可能會變小。
如果原表位于X-Engine引擎,歸檔后的數(shù)據(jù)的數(shù)據(jù)量可能會變大。
歸檔為CSV格式的數(shù)據(jù)的數(shù)據(jù)量可能會比歸檔為ORC格式的數(shù)據(jù)的數(shù)據(jù)量更大。
為什么歸檔后的冷數(shù)據(jù)及文件在主賬號下面的OSS上看不到?
PolarDB的冷數(shù)據(jù)存儲在系統(tǒng)默認(rèn)的OSS上,不在客戶的OSS里,所以客戶無法看到。目前只支持在PolarDB控制臺上查看歸檔后的冷數(shù)據(jù)和文件。
存儲過程中涉及到冷存表,報錯“Statement violates GTID consistency: Updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.”是什么原因?
如上報錯是因為CSV或ORC格式的冷存表不支持事務(wù)。如果存儲過程中涉及到冷存表,即使沒有實際的寫入操作,也是不被允許的。您可以將存儲引擎修改為X-Engine,既可以降低存儲成本,又同時支持事務(wù)。