Topik ini menjelaskan cara mengarsipkan data dingin dalam format CSV atau ORC serta memulihkan data dari tabel OSS ke PolarStore.
Berlaku untuk
Anda harus terlebih dahulu mengaktifkan arsip data dingin. Fitur ini memerlukan salah satu revisi kluster berikut:
-
Mengarsipkan ke format CSV
-
Untuk kluster Edisi Kluster:
-
Arsipkan tabel standar:
-
MySQL 8.0.1, revisi 8.0.1.1.47 atau lebih baru.
-
MySQL 8.0.2, revisi 8.0.2.2.10 atau lebih baru.
-
-
Arsipkan tabel partisi:
-
MySQL 8.0.2, revisi 8.0.2.2.34.1 atau lebih baru.
-
-
-
Untuk kluster Kluster Multi-master (Limitless) Edisi:
-
MySQL 8.0.1, revisi 8.0.1.0.13 atau lebih baru.
-
-
-
Mengarsipkan ke format ORC
-
Untuk kluster Edisi Kluster:
-
Arsipkan tabel standar: MySQL 8.0.2, revisi 8.0.2.2.30 atau lebih baru.
-
Arsipkan tabel partisi: MySQL 8.0.2, revisi 8.0.2.2.34.1 atau lebih baru.
-
-
Untuk kluster Kluster Multi-master (Limitless) Edisi: MySQL 8.0.2, revisi 8.0.2.2.30 atau lebih baru.
-
Saat Anda mengarsipkan data dingin secara manual pada kluster dengan salah satu versi berikut, operasi tersebut tidak dicatat dalam log biner.
PolarDB for MySQL 8.0.1 dengan revisi 8.0.1.1.33 atau lebih baru.
PolarDB for MySQL 8.0.2 dengan revisi 8.0.2.2.11.1 atau lebih baru.
Prosedur
Arsipkan tabel standar
Arsip data dingin merupakan operasi tingkat tabel. Setelah diarsipkan, tabel tersebut menjadi tabel arsip read-only. Engine tabel yang diarsipkan adalah engine OSS, dan file datanya disimpan di Object Storage Service (OSS). Setelah arsip selesai, PolarDB melepaskan ruang yang sebelumnya ditempati oleh tabel asli di PolarStore.
Syntax
Format CSV
Format 1:
ALTER TABLE table_name ENGINE = CSV CONNECTION = 'default_oss_server';Format 2: Kluster Anda harus memenuhi salah satu persyaratan revisi berikut.
Edisi Kluster:
MySQL 8.0.1 dengan revisi 8.0.1.1.33 atau lebih baru.
MySQL 8.0.2 dengan revisi 8.0.2.2.13 atau lebih baru.
Kluster Multi-master (Limitless) Edisi: Revisi harus 8.0.1.1.15 atau lebih baru.
ALTER TABLE table_name ENGINE = CSV STORAGE OSS;
Format ORC
ALTER TABLE table_name ENGINE = ORC STORAGE OSS;Jika file data dengan nama yang sama dengan file arsip target sudah ada di OSS, operasi akan gagal dengan pesan error. Contohnya:
Target file for archived table exists on oss.Opsi
FORCE STORAGE OSSdidukung untuk menghapus paksa file OSS ketika versi kluster Anda adalah MySQL 8.0.2 dan revisinya 8.0.2.2.29 atau lebih baru. Anda dapat menambahkan opsiFORCE STORAGE OSSke sintaks di atas untuk menghapus struktur tabel dan file OSS yang sesuai. Contohnya:DROP TABLE table_name FORCE STORAGE OSS;
Parameter
Parameter | Deskripsi |
table_name | Nama tabel yang akan diarsipkan ke OSS. |
Pertimbangan
Anda dapat menggunakan fitur arsip data dingin untuk tabel yang menggunakan engine InnoDB atau engine X-Engine.
Anda tidak dapat menggunakan pernyataan DDL atau DML untuk memodifikasi tabel selama proses arsip.
Anda tidak dapat mengarsipkan data ke server OSS yang dibuat pengguna.
Tabel InnoDB harus memiliki primary key agar dapat diarsipkan.
Setelah diarsipkan, tabel di OSS menjadi read-only dan mungkin menunjukkan kinerja kueri yang lebih lambat. Anda harus menguji kinerjanya untuk memastikan memenuhi kebutuhan Anda.
Tabel yang memiliki In-Memory Column Index (IMCI) tidak dapat diarsipkan dalam format CSV; tabel tersebut harus diarsipkan dalam format ORC.
Contoh
Arsipkan data di tabel t ke OSS dalam format CSV atau ORC.
Buat tabel InnoDB bernama
tdi databaseoss_test.CREATE TABLE t(a int, b int, c int, primary key(a)) ENGINE = INNODB;Masukkan data ke tabel
t.INSERT INTO t VALUES (1,2,3);Arsipkan tabel menggunakan perintah
ALTER TABLE.Arsipkan dalam format CSV:
ALTER TABLE t ENGINE = CSV CONNECTION = 'default_oss_server';Arsipkan dalam format ORC:
ALTER TABLE t ENGINE = ORC STORAGE OSS;
Setelah arsip selesai, Anda dapat melihat informasi tabel yang diarsipkan di PolarDB console atau langsung melakukan kueri data menggunakan SQL:
Untuk melihat informasi database dan tabel yang diarsipkan di OSS: Login ke Konsol PolarDB. Di panel navigasi sisi kiri kluster target, pilih untuk melihat informasinya.
Lakukan kueri data di tabel yang diarsipkan seperti pada tabel standar. Contohnya:
SELECT * FROM t;
Arsipkan partisi ke tabel eksternal OSS
Bagian ini hanya berlaku untuk PolarDB for MySQL 8.0.2.
Jika versi minor kernel lebih awal dari 8.0.2.2.33, konfigurasikan parameter berikut:
Sintaks
CALL dbms_dlm.archive_partition2table('source_db', 'source_tb', 'source_part', 'archive_db', 'archive_table', ' oss_file_filter');Parameter
Parameter | Deskripsi |
source_db | Nama database tabel sumber. |
source_tb | Nama tabel sumber. |
source_part | Nama partisi tabel sumber yang akan diarsipkan. Untuk menentukan beberapa partisi, pisahkan nama-namanya dengan koma. |
archive_db | Nama database tabel tujuan. |
archive_table | Nama tabel tujuan. |
oss_file_filter | Daftar kolom yang dipisahkan koma untuk dimasukkan ke dalam oss_file_filter untuk tabel tujuan. Untuk informasi lebih lanjut, lihat Percepatan kueri OSS_FILE_FILTER. |
Pertimbangan
Jika tabel OSS tujuan belum ada, tabel tersebut akan dibuat secara otomatis. Untuk mempercepat kueri,
oss_file_filterjuga dibuat secara otomatis pada kolom yang ditentukan oleh parameteross_file_filter. Primary key dan partition key juga ditambahkan secara otomatis keoss_file_filter.Jika tabel OSS tujuan sudah ada, Anda harus membandingkan nama kolom atau definisi tipe kolom kedua tabel tersebut. Data hanya dapat diarsipkan jika definisinya konsisten. Jika tidak, akan muncul error. Anda dapat menggunakan pernyataan DDL untuk menyamakan definisi kedua tabel. Untuk informasi lebih lanjut, lihat DDL Data Dingin. Selain itu, jika
oss_file_filtertelah didefinisikan pada tabel tujuan dan definisinya tidak konsisten dengan yang ada di perintahcall dbms_dlm.archive_partition2table, maka definisioss_file_filterpada tabel tujuan yang akan digunakan.Jika tabel OSS tujuan belum ada tetapi file dengan nama yang sama sudah ada di OSS, pesan error akan muncul saat Anda melakukan operasi arsip. Pesan error tersebut sebagai berikut:
mysql> CALL dbms_dlm.archive_partition2table('test', 'sales', 'p0', 'test', 'sales_history', 'id'); ERROR 8181 (HY000): [Data Lifecycle Management] errmsg: Target file for archived table exists on oss, please remove it first, or use flag 'FORCE' to overwrite on existing files.Jika Anda memastikan bahwa file sisa di OSS tidak diperlukan, Anda dapat menggunakan prosedur tersimpan untuk menghapus data di OSS lalu melakukan operasi arsip.
-- Hapus data OSS. mysql> CALL dbms_oss.delete_table_file('test', 'sales_history'); Query OK, 0 rows affected (0.76 sec) -- Lakukan operasi arsip. mysql> CALL dbms_dlm.archive_partition2table('test', 'sales', 'p0', 'test', 'sales_history', 'id'); Query OK, 0 rows affected (4.24 sec)Tabel OSS tujuan hanya mendukung data dingin dalam format CSV.
Setelah partisi diarsipkan, tabel harus tetap berisi setidaknya satu partisi InnoDB.
Data yang diarsipkan kehilangan informasi partisinya dan tidak dapat langsung dipulihkan ke partisi. Namun, Anda dapat memulihkan data tersebut ke dalam tabel menggunakan pernyataan
INSERT ... SELECT.Anda tidak dapat mengarsipkan partisi tingkat kedua secara individual. Anda hanya dapat mengarsipkan seluruh partisi tingkat pertama, termasuk semua partisi tingkat keduanya.
Tabel berikut mencantumkan jenis partisi yang didukung oleh fungsi partisi PolarDB for MySQL.
Partisi tingkat pertama
Partisi tingkat kedua
Dukungan arsip OSS
HASH
Segala jenis
Mengarsipkan partisi tingkat pertama HASH ke tabel eksternal OSS tidak didukung.
LIST
Segala jenis
Didukung.
RANGE
Segala jenis
Didukung.
KEY
Segala jenis
Didukung.
Segala jenis
Mengarsipkan partisi DEFAULT tidak didukung.
Contoh
Buat tabel partisi InnoDB dan masukkan data.
DROP TABLE IF EXISTS `sales`; -- Buat tabel partisi. CREATE TABLE `sales` ( `id` int DEFAULT NULL, `name` varchar(20) DEFAULT NULL, `order_time` datetime NOT NULL, primary key (order_time) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 PARTITION BY RANGE COLUMNS(order_time) INTERVAL(month, 1) (PARTITION p0 VALUES LESS THAN ('2022-01-01') ENGINE = InnoDB, PARTITION p1 VALUES LESS THAN ('2023-01-01 00:00:00') ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN ('2024-01-01 00:00:00') ENGINE = InnoDB); DROP PROCEDURE IF EXISTS proc_batch_insert; delimiter $$ CREATE PROCEDURE proc_batch_insert(IN begin INT, IN end INT, IN name VARCHAR(20)) BEGIN SET @insert_stmt = concat('INSERT INTO ', name, ' VALUES(? , ?, ?);'); PREPARE stmt from @insert_stmt; WHILE begin <= end DO SET @ID1 = begin; SET @NAME = CONCAT(begin+begin*281313, '@stiven'); SET @TIME = from_days(begin + 738368); EXECUTE stmt using @ID1, @NAME, @TIME; SET begin = begin + 1; END WHILE; END; $$ delimiter ; CALL proc_batch_insert(1, 1000, 'sales');Arsipkan partisi p0 dari tabel partisi ke tabel OSS baru.
Jalankan perintah berikut untuk melihat skema tabel sales.
-- Lihat status tabel InnoDB saat ini. mysql> SHOW CREATE TABLE sales;Hasil berikut dikembalikan:
*************************** 1. row *************************** Table: sales Create Table: CREATE TABLE `sales` ( `id` int(11) DEFAULT NULL, `name` varchar(20) DEFAULT NULL, `order_time` datetime NOT NULL, PRIMARY KEY (`order_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci /*!50500 PARTITION BY RANGE COLUMNS(order_time) */ /*!99990 800020200 INTERVAL(MONTH, 1) */ /*!50500 (PARTITION p0 VALUES LESS THAN ('2022-01-01') ENGINE = InnoDB, PARTITION p1 VALUES LESS THAN ('2023-01-01 00:00:00') ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN ('2024-01-01 00:00:00') ENGINE = InnoDB, PARTITION _p20240201000000 VALUES LESS THAN ('2024-02-01 00:00:00') ENGINE = InnoDB, PARTITION _p20240301000000 VALUES LESS THAN ('2024-03-01 00:00:00') ENGINE = InnoDB, PARTITION _p20240401000000 VALUES LESS THAN ('2024-04-01 00:00:00') ENGINE = InnoDB, PARTITION _p20240501000000 VALUES LESS THAN ('2024-05-01 00:00:00') ENGINE = InnoDB) */ 1 row in set (0.03 sec)Jalankan perintah berikut untuk mengarsipkan partisi p0 ke tabel OSS sales_history.
-- Arsipkan partisi p0 ke tabel OSS sales_history dan buat OSS_FILE_FILTER pada kolom id. mysql> CALL dbms_dlm.archive_partition2table('test', 'sales', 'p0', 'test', 'sales_history', 'id'); Query OK, 0 rows affected (1.86 sec)Jalankan perintah berikut untuk melihat skema tabel sales_history.
SHOW CREATE TABLE sales_history;Hasil berikut dikembalikan:
*************************** 1. row ***************************; Table: sales_history Create Table: CREATE TABLE `sales_history` ( `id` int(11) DEFAULT NULL, `name` varchar(20) DEFAULT NULL, `order_time` datetime DEFAULT NULL, PRIMARY KEY (`order_time`) ) /*!99990 800020213 STORAGE OSS */ ENGINE=CSV DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci /*!99990 800020204 NULL_MARKER='NULL' */ /*!99990 800020223 OSS META=1 */ /*!99990 800020224 OSS_FILE_FILTER='id,order_time' */ 1 row in set (0.00 sec)
Lakukan kueri pada tabel OSS baru.
CatatanAnda dapat mengaktifkan fitur percepatan kueri OSS_FILE_FILTER untuk mempercepat kueri.
mysql> explain SELECT * FROM sales_history WHERE id = 100; +----+-------------+---------------+------------+------+---------------+------+---------+------+------+----------+-------------------------------------------------------------------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+---------------+------------+------+---------------+------+---------+------+------+----------+-------------------------------------------------------------------------------+ | 1 | SIMPLE | sales_history | NULL | ALL | NULL | NULL | NULL | NULL | 152 | 10.00 | Using where; With pushed engine condition (`test`.`sales_history`.`id` = 100) | +----+-------------+---------------+------------+------+---------------+------+---------+------+------+----------+-------------------------------------------------------------------------------+ 1 row in set, 1 warning (0.00 sec) mysql> SELECT * FROM sales_history WHERE id = 100; +------+-----------------+---------------------+ | id | name | order_time | +------+-----------------+---------------------+ | 100 | 28131400@stiven | 2021-11-09 00:00:00 | +------+-----------------+---------------------+ 1 row in set (0.24 sec)
Arsipkan tabel partisi
Anda hanya dapat mengarsipkan tabel partisi jika kluster PolarDB for MySQL Anda adalah versi 8.0.2 dan versi minor kernel-nya 8.0.2.2.34.1 atau lebih baru.
Jika versi minor kernel Anda lebih awal dari 8.0.2.2.33, buka Pusat Kuota. Temukan kuota berdasarkan ID Kuota
polardb_mysql_hybrid_partition, lalu klik Request di kolom Tindakan untuk mengaktifkan fitur tersebut.
Saat Anda mengarsipkan tabel partisi, Anda mengarsipkan partisi-partisinya. Tabel tersebut menjadi tabel partisi hibrida, dan file data partisi yang diarsipkan disimpan di OSS. Setelah operasi arsip selesai, PolarDB secara otomatis melepaskan ruang yang sebelumnya ditempati oleh partisi di PolarStore.
Sintaks
Arsipkan sebagai file dalam format CSV:
ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = CSV;Arsipkan sebagai file dalam format ORC:
ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = ORC;
Jika file data dengan nama yang sama dengan file data yang diarsipkan sudah ada di OSS, sistem akan melaporkan error bahwa file tersebut sudah ada. Contohnya:
Target file for archived table exists on oss.Ketika versi kluster Anda adalah MySQL 8.0.2 dan revisinya 8.0.2.2.29 atau lebih baru, Anda dapat menggunakan opsi
FORCE STORAGE OSSuntuk menghapus paksa file OSS. Anda dapat menambahkan opsiFORCE STORAGE OSSke tiga sintaks yang disebutkan di atas untuk menghapus struktur tabel dan file OSS yang sesuai. Sebagai contoh, untuk mengarsipkan tabel partisi dalam format CSV, sintaks penambahan opsiFORCE STORAGE OSSadalah sebagai berikut:ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = CSV FORCE STORAGE OSS;
Parameter
Parameter | Deskripsi |
table_name | Nama tabel yang akan diarsipkan ke OSS. |
part_name | Nama partisi yang akan diarsipkan ke OSS. |
Pertimbangan
Anda hanya dapat menggunakan fitur arsip data dingin untuk tabel partisi InnoDB.
Tabel menjadi tabel partisi hibrida setelah diarsipkan. Tabel partisi hibrida dapat berisi partisi ORC atau CSV. Anda tidak dapat melakukan operasi DDL Online pada tabel partisi hibrida, kecuali untuk menambah atau menghapus kolom dan indeks. Untuk pertimbangan penggunaan, lihat Buat partisi hibrida.
Anda tidak dapat memodifikasi data partisi yang diarsipkan.
Anda tidak dapat menggunakan arsip data dingin untuk partisi tingkat kedua dalam tabel partisi.
Anda tidak dapat menggunakan arsip data dingin untuk partisi
DEFAULTdari tabel partisiLIST DEFAULT HASH.Anda tidak dapat menggunakan arsip data dingin untuk tabel partisi
HASHatauKEY.Anda tidak dapat mengarsipkan seluruh tabel partisi secara manual.
Saat Anda mengarsipkan data dalam partisi, jika file dengan nama yang sama sudah ada di OSS, operasi akan gagal dan pesan error berikut akan dilaporkan:
Target file for archived table exists on oss.Anda harus menjalankan perintah berikut untuk menimpa file yang sudah ada di OSS. Ganti
table_namedanpart_namedengan nilai aktual Anda.ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = CSV/ORC FORCE STORAGE OSS;
Contoh
Arsipkan data di partisi p1 dan p2 dari tabel t ke OSS dalam format CSV.
Buat tabel InnoDB bernama
tdi database.CREATE TABLE t(a int, b int, c int, primary key(a)) PARTITION BY RANGE(a) (PARTITION p1 values less than(100), PARTITION p2 values less than(200), PARTITION p3 values less than MAXVALUE );Masukkan data ke tabel
t.INSERT INTO t VALUES(1,1,1); INSERT INTO t VALUES(10,10,10); INSERT INTO t VALUES(100,100,100); INSERT INTO t VALUES(150,150,150); INSERT INTO t VALUES(200,200,200); INSERT INTO t VALUES(1000,1000,1000);Jalankan perintah berikut untuk mengarsipkan data di partisi
p1danp2ke engine OSS.Arsipkan dalam format CSV:
ALTER TABLE t CHANGE PARTITION p1 ENGINE = csv; ALTER TABLE t CHANGE PARTITION p2 ENGINE = csv;Arsipkan dalam format ORC:
ALTER TABLE t CHANGE PARTITION p1 ENGINE = ORC; ALTER TABLE t CHANGE PARTITION p2 ENGINE = ORC;
Setelah arsip selesai, Anda dapat login ke PolarDB console untuk melihat informasi database dan tabel yang diarsipkan di OSS, atau gunakan pernyataan SQL untuk melakukan kueri data di tabel partisi hibrida:
Untuk melihat informasi database dan tabel yang diarsipkan di OSS: Login ke Konsol PolarDB. Di panel navigasi sisi kiri kluster target, pilih untuk melihat informasinya.
Untuk melakukan kueri data di tabel partisi hibrida, lihat Melakukan kueri partisi hibrida.
Enkripsi TDE untuk data yang diarsipkan
Hanya arsip manual dalam format CSV atau ORC yang didukung.
Hanya kluster PolarDB for MySQL dengan versi berikut yang mendukung enkripsi file data di OSS selama arsip:
8.0.1 dengan versi minor 8.0.1.1.47 atau lebih baru.
8.0.2 dengan versi minor 8.0.2.2.27 atau lebih baru.
Jika versi minor kluster Anda tidak memenuhi persyaratan, kami menyarankan Anda meningkatkan versi minor tersebut. Untuk informasi lebih lanjut, lihat manajemen versi minor.
Untuk memenuhi kebutuhan keamanan data Anda, Anda dapat mengaktifkan Enkripsi Data Transparan (TDE) untuk file data dingin yang diarsipkan ke OSS. Prinsip dasarnya adalah Anda memilih file yang ingin dienkripsi selama operasi arsip, dan server OSS melakukan enkripsi tersebut. Untuk informasi lebih lanjut, lihat Enkripsi Data. Setelah data dienkripsi, Anda dapat menggunakan pernyataan SQL di PolarDB for MySQL untuk melakukan kueri data yang diarsipkan. Seluruh proses enkripsi dan dekripsi dilakukan di latar belakang dan transparan bagi Anda, sehingga tidak memerlukan operasi tambahan.
Sintaks
Selama operasi arsip manual, Anda dapat menambahkan sintaks ENCRYPTION="Y" untuk mengaktifkan TDE.
ALTER TABLE t1 engine = CSV ENCRYPTION="Y" STORAGE OSS;Pulihkan data dari OSS ke PolarStore
Pulihkan tabel arsip standar
Untuk memodifikasi data dingin yang diarsipkan di OSS, gunakan sintaks ALTER ENGINE untuk memulihkan data ke PolarStore. Memulihkan data ke PolarStore juga menghapus data yang sesuai dari OSS. Setelah Anda memodifikasi data, Anda dapat mengarsipkan kembali tabel yang telah dimodifikasi ke OSS.
Sintaks
ALTER TABLE table_name ENGINE[=]engine_name;Parameter
Parameter | Deskripsi |
table_name | Nama tabel OSS yang akan dipulihkan. |
engine_name | Jenis engine setelah pemulihan. |
Pertimbangan
Tabel OSS yang diarsipkan bersifat read-only dan tidak mengizinkan operasi INSERT, UPDATE, atau DELETE. Untuk memodifikasi data, Anda harus terlebih dahulu memulihkan tabel ke engine read-write, seperti InnoDB. Mencoba memodifikasi tabel OSS read-only akan menghasilkan error berikut:
1036 - Table 't1' is read onlyContoh
Pulihkan tabel OSS t ke PolarStore di database oss_test.
ALTER TABLE `oss_test`.`t` ENGINE = InnoDB;Modifikasi data di tabel InnoDB t. Setelah Anda memodifikasi data, Anda dapat mengarsipkan kembali tabel t dari engine InnoDB ke OSS. Contohnya:
ALTER TABLE t ENGINE = CSV CONNECTION = 'default_oss_server';atau
ALTER TABLE t ENGINE = CSV STORAGE OSS;Pulihkan partisi yang diarsipkan
Jika Anda perlu memulihkan data dari tabel partisi yang diarsipkan ke PolarStore, Anda dapat menggunakan pernyataan ALTER untuk memulihkan data dari OSS ke PolarStore. Setelah data dipulihkan, data dingin di OSS juga dihapus.
Kluster Anda harus merupakan PolarDB for MySQL 8.0.2 dengan revisi kernel 8.0.2.2.34.1 atau lebih baru.
Sintaks
ALTER TABLE table_name REORGANIZE PARTITION part_name INTO (partition_definition);Parameter
Parameter | Deskripsi |
table_name | Nama tabel OSS yang akan dipulihkan. |
part_name | Nama partisi yang akan dipulihkan. |
partition_definition | Harus sama dengan |
Contoh
Pulihkan data dari partisi p1 dari tabel partisi yang diarsipkan t dari OSS ke PolarStore.
ALTER TABLE t REORGANIZE PARTITION p1 INTO(PARTITION p1 values less than(100));Hapus file yang sesuai di OSS
Fitur ini hanya didukung pada kluster PolarDB for MySQL yang menjalankan versi berikut:
Versi 8.0.1, dan versi minor harus 8.0.1.1.42 atau lebih baru.
Versi 8.0.2, dan versi minor harus 8.0.2.2.23 atau lebih baru.
Jika versi minor kluster Anda tidak memenuhi persyaratan di atas, Anda tidak dapat menghapus file yang sesuai di OSS. Tingkatkan versi minor kluster Anda. Untuk informasi lebih lanjut, lihat manajemen versi minor.
Saat Anda menghapus tabel di OSS atau mengimpornya kembali ke PolarStore, file di OSS tidak dihapus secara otomatis. Setelah Anda memastikan bahwa data tersebut tidak lagi diperlukan, gunakan sintaks berikut untuk menghapus file yang sesuai di OSS:
CALL dbms_oss.delete_table_file('database_name', 'table_name');Operasi penghapusan file di OSS bersifat asinkron. File tersebut benar-benar dihapus hanya setelah semua node di kluster tidak lagi bergantung padanya. Trafik tinggi dapat menyebabkan penundaan. Jika perintah gagal dan mengembalikan error OSS files are still in use, tunggu beberapa saat lalu jalankan kembali perintah tersebut.