すべてのプロダクト
Search
ドキュメントセンター

PolarDB:CSV または ORC 形式でのデータのアーカイブ

最終更新日:Aug 01, 2026

このトピックでは、CSV または ORC 形式でコールドデータをアーカイブする方法、および OSS テーブルから PolarStore にデータを復元する方法について説明します。

適用範囲

まず、コールドデータアーカイブを有効化する必要があります。この機能には、次のいずれかのクラスターリビジョンが必要です:

  • CSV 形式へのアーカイブ

    • クラスターエディションは Cluster Edition:

      • 標準テーブルのアーカイブ:

        • MySQL 8.0.1、リビジョン 8.0.1.1.47 以降。

        • MySQL 8.0.2、リビジョン 8.0.2.2.10 以降。

      • パーティションテーブルのアーカイブ:

        • MySQL 8.0.2、リビジョン 8.0.2.2.34.1 以降。

    • クラスターのエディションが マルチマスタークラスター (Limitless) Edition の場合:

      • MySQL 8.0.1、リビジョン 8.0.1.0.13 以降。

  • ORC 形式へのアーカイブ

    • クラスターエディションは Cluster Edition です:

      • 標準テーブルのアーカイブ:MySQL 8.0.2、リビジョン 8.0.2.2.30 以降。

      • パーティションテーブルのアーカイブ:MySQL 8.0.2、リビジョン 8.0.2.2.34.1 以降。

    • クラスターのエディションが マルチマスタークラスター (Limitless) Edition の場合:MySQL 8.0.2、リビジョン 8.0.2.2.30 以降。

説明

次のいずれかのバージョンのクラスターでコールドデータを手動でアーカイブする場合、その操作はバイナリログに記録されません。

  • PolarDB for MySQL 8.0.1、リビジョン 8.0.1.1.33 以降。

  • PolarDB for MySQL 8.0.2、リビジョン 8.0.2.2.11.1 以降。

操作手順

標準テーブルのアーカイブ

コールドデータアーカイブはテーブルレベルの操作です。テーブルをアーカイブすると、そのテーブルは読み取り専用のアーカイブテーブルになります。アーカイブテーブルのエンジンは OSS エンジンであり、そのデータファイルは Object Storage Service (OSS) に保存されます。アーカイブ操作が完了すると、PolarDB は元のテーブルが PolarStore で占有していた領域を解放します。

構文

CSV 形式

  • フォーマット 1:

    ALTER TABLE table_name ENGINE = CSV CONNECTION = 'default_oss_server';
  • フォーマット 2:ご利用のクラスターは、次のいずれかのリビジョン要件を満たす必要があります。

    • Cluster Edition:

      • MySQL 8.0.1、リビジョン 8.0.1.1.33 以降。

      • MySQL 8.0.2、リビジョン 8.0.2.2.13 以降。

    • マルチマスタークラスター (Limitless) Edition:リビジョンは 8.0.1.1.15 以降である必要があります。

    ALTER TABLE table_name ENGINE = CSV STORAGE OSS;

ORC 形式

ALTER TABLE table_name ENGINE = ORC STORAGE OSS;
説明
  • ターゲットのアーカイブファイルと同じ名前のデータファイルが OSS にすでに存在する場合、操作はエラーで失敗します。例:Target file for archived table exists on oss.

  • クラスターのバージョンが MySQL 8.0.2 で、リビジョンが 8.0.2.2.29 以降の場合、FORCE STORAGE OSS オプションを使用して OSS ファイルを強制的に削除できます。FORCE STORAGE OSS オプションを上記の構文に追加して、テーブル構造と対応する OSS ファイルを削除できます。例:

    DROP TABLE table_name FORCE STORAGE OSS;

パラメーター

パラメーター

説明

table_name

OSS にアーカイブするテーブルの名前。

注意事項

  • コールドデータアーカイブ機能は、InnoDB ストレージエンジンまたは X-Engine ストレージエンジンを使用するテーブルで使用できます。

  • アーカイブプロセス中に DDL または DML ステートメントを使用してテーブルを変更することはできません。

  • ユーザーが作成した OSS サーバーにデータをアーカイブすることはできません。

  • InnoDB テーブルをアーカイブするには、プライマリキーが必要です。

  • アーカイブ後、OSS 内のテーブルは読み取り専用になり、クエリのパフォーマンスが低下する可能性があります。パフォーマンスをテストして、要件を満たしていることを確認する必要があります。

  • インメモリ列指向インデックス (IMCI) が設定されたテーブルは、CSV 形式ではアーカイブできず、ORC 形式でアーカイブする必要があります。

例

テーブル t のデータを CSV または ORC 形式で OSS にアーカイブします。

  1. oss_test データベースに t という名前の InnoDB テーブルを作成します。

    CREATE TABLE t(a int, b int, c int, primary key(a)) ENGINE = INNODB;
  2. テーブル t にデータを挿入します。

    INSERT INTO t VALUES (1,2,3);
  3. ALTER TABLE コマンドを使用してテーブルをアーカイブします。

    • CSV 形式でアーカイブ:

      ALTER TABLE t ENGINE = CSV CONNECTION = 'default_oss_server';
    • ORC 形式でアーカイブ:

      ALTER TABLE t ENGINE = ORC STORAGE OSS;
  4. アーカイブが完了したら、PolarDBコンソールでアーカイブされたテーブル情報を表示するか、SQL を使用して直接データをクエリできます:

    • OSS にアーカイブされたデータベースとテーブルに関する情報を表示するには:PolarDB コンソールにログインします。対象クラスターの左側のナビゲーションウィンドウで、設定と管理 > データのライフサイクル > コールドデータのアーカイブ (コールドデータ) を選択して情報を表示します。

    • 標準テーブルと同様に、アーカイブされたテーブルのデータをクエリします。例:

      SELECT * FROM t;

パーティションの OSS 外部テーブルへのアーカイブ

説明
  • このセクションは PolarDB for MySQL 8.0.2 にのみ適用されます。

  • カーネルのマイナーバージョンが 8.0.2.2.33 より前の場合、次のパラメーターを設定します:

    • PolarDB コンソールで、設定して、partition_level_mdl_enabled クラスターパラメーターを ON に設定し、パーティションレベルのメタデータロック (MDL) 機能を有効にします。

    • PolarDB コンソールで、設定して、loose_use_oss_meta クラスターパラメーターを ON に設定し、use_oss_meta 機能を有効にします。

構文

CALL dbms_dlm.archive_partition2table('source_db', 'source_tb', 'source_part', 'archive_db', 'archive_table', ' oss_file_filter');

パラメーター

パラメーター

説明

source_db

ソーステーブルのデータベース名。

source_tb

ソーステーブルの名前。

source_part

アーカイブするソーステーブルのパーティション名。複数のパーティションを指定するには、名前をカンマで区切ります。

archive_db

宛先テーブルのデータベース名。

archive_table

宛先テーブルの名前。

oss_file_filter

宛先テーブルの oss_file_filter に含める列のカンマ区切りリスト。詳細については、「OSS_FILE_FILTER クエリ高速化」をご参照ください。

注意事項

  • 宛先の OSS テーブルが存在しない場合は、自動的に作成されます。クエリを高速化するために、oss_file_filter パラメーターで指定された列に oss_file_filter も自動的に作成されます。プライマリキーとパーティションキーも自動的に oss_file_filter に追加されます。

  • ターゲットの OSS テーブルが存在する場合、2 つのテーブルの列名または列タイプの定義を比較する必要があります。データは、定義が一致する場合にのみアーカイブできます。それ以外の場合は、エラーが発生します。DDL ステートメントを使用して、2 つのテーブル定義を一致させることができます。詳細については、「コールドデータ DDL」をご参照ください。さらに、ターゲットテーブルに oss_file_filter が定義されており、その定義が call dbms_dlm.archive_partition2table コマンドの定義と一致しない場合、ターゲットテーブルの oss_file_filter 定義が優先されます。

  • 宛先の OSS テーブルは存在しないが、同じ名前のファイルが OSS に存在する場合、アーカイブ操作を実行するとエラーメッセージが報告されます。エラーメッセージは次のとおりです:

    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.

    OSS 内の残存ファイルが不要であることを確認した場合は、ストアドプロシージャを使用して OSS 内のデータを削除してから、アーカイブ操作を実行できます。

    -- OSS データを削除します。
    mysql> CALL dbms_oss.delete_table_file('test', 'sales_history');
    
    Query OK, 0 rows affected (0.76 sec)
    
    -- アーカイブ操作を実行します。
    mysql> CALL dbms_dlm.archive_partition2table('test', 'sales', 'p0', 'test', 'sales_history', 'id');
    
    Query OK, 0 rows affected (4.24 sec)
  • 宛先の OSS テーブルは、CSV 形式のコールドデータのみをサポートします。

  • パーティションがアーカイブされた後、テーブルには少なくとも 1 つの InnoDB パーティションが含まれている必要があります。

  • アーカイブされたデータはパーティション情報を失い、パーティションに直接復元することはできません。ただし、INSERT ... SELECT ステートメントを使用してデータをテーブルに復元できます。

  • 個々の 2 次パーティションをアーカイブすることはできません。1 次パーティション全体 (すべての 2 次パーティションを含む) のみをアーカイブできます。

  • 次の表に、PolarDB for MySQL のパーティション関数でサポートされているパーティションタイプを示します。

    1 次パーティション

    2 次パーティション

    OSS アーカイブのサポート

    HASH

    任意のタイプ

    HASH 1 次パーティションの OSS 外部テーブルへのアーカイブはサポートされていません。

    LIST

    任意のタイプ

    サポートされています。

    RANGE

    任意のタイプ

    サポートされています。

    KEY

    任意のタイプ

    サポートされています。

    LIST DEFAULT

    任意のタイプ

    DEFAULT パーティションのアーカイブはサポートされていません。

例

  1. InnoDB パーティションテーブルを作成し、データを挿入します。

    DROP TABLE IF EXISTS `sales`;
    -- パーティションテーブルを作成します。
    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');
  2. パーティションテーブルの p0 パーティションを新しい OSS テーブルにアーカイブします。

    1. 次のコマンドを実行して、sales テーブルのスキーマを表示します。

      -- 現在の InnoDB テーブルのステータスを表示します。
      mysql> SHOW CREATE TABLE sales;

      次の結果が返されます:

      *************************** 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)
    2. 次のコマンドを実行して、p0 パーティションを OSS テーブル sales_history にアーカイブします。

      -- p0 パーティションを OSS テーブル sales_history にアーカイブし、id 列に OSS_FILE_FILTER を作成します。
      mysql> CALL dbms_dlm.archive_partition2table('test', 'sales', 'p0', 'test', 'sales_history', 'id');
      Query OK, 0 rows affected (1.86 sec)
    3. 次のコマンドを実行して、sales_history テーブルのスキーマを表示します。

      SHOW CREATE TABLE sales_history;

      次の結果が返されます:

      *************************** 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)
  3. 新しい OSS テーブルをクエリします。

    説明

    OSS_FILE_FILTER クエリ高速化機能を有効にして、クエリを高速化できます。

    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)

パーティションテーブルのアーカイブ

説明

パーティションテーブルをハイブリッドパーティションテーブルとしてアーカイブするには、次の条件を満たす必要があります:

  • MySQL 8.0.2 で、マイナーバージョンが 8.0.2.2.34.1 以降であること。設定して、loose_allow_create_hybrid_partition パラメーターを ON に設定する必要があります。

  • MySQL 8.0.2 で、マイナーバージョンが 8.0.2.2.34.1 より前であること。後のマイナーバージョンにアップグレードしてください。

パーティションテーブルをアーカイブする場合、そのパーティションをアーカイブします。テーブルはハイブリッドパーティションテーブルになり、アーカイブされたパーティションのデータファイルは OSS に保存されます。アーカイブ操作が完了すると、PolarDB はパーティションが PolarStore で占有していた領域を自動的に解放します。

構文

  • CSV 形式のファイルとしてアーカイブ:

    ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = CSV;
  • ORC 形式のファイルとしてアーカイブ:

    ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = ORC;
説明
  • アーカイブされたデータファイルと同じ名前のデータファイルが OSS にすでに存在する場合、システムはファイルがすでに存在するというエラーを報告します。例:Target file for archived table exists on oss.

  • クラスターのバージョンが MySQL 8.0.2 で、そのリビジョンが 8.0.2.2.29 以降の場合、FORCE STORAGE OSS オプションを使用して OSS ファイルを強制的に削除できます。上記の 3 つの構文に FORCE STORAGE OSS オプションを追加して、テーブル構造と対応する OSS ファイルを削除できます。たとえば、パーティションテーブルを CSV 形式でアーカイブする場合、FORCE STORAGE OSS オプションを追加する構文は次のとおりです:

    ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = CSV FORCE STORAGE OSS;

パラメーター

パラメーター

説明

table_name

OSS にアーカイブするテーブルの名前。

part_name

OSS にアーカイブするパーティションの名前。

注意事項

  • コールドデータアーカイブ機能は、InnoDB パーティションテーブルでのみ使用できます。

  • アーカイブ後、テーブルはハイブリッドパーティションテーブルになります。ハイブリッドパーティションテーブルには、ORC または CSV パーティションを含めることができます。列やインデックスの追加または削除を除き、ハイブリッドパーティションテーブルに対してオンライン DDL 操作を実行することはできません。使用上の注意については、「ハイブリッドパーティションの作成」をご参照ください。

  • アーカイブされたパーティションのデータは変更できません。

  • パーティションテーブル内の 2 次パーティションには、コールドデータアーカイブを使用できません。

  • LIST DEFAULT HASH パーティションテーブルの DEFAULT パーティションには、コールドデータアーカイブを使用できません。

  • HASH または KEY パーティションテーブルには、コールドデータアーカイブを使用できません。

  • パーティションテーブル全体を手動でアーカイブすることはできません。

  • パーティション内のデータをアーカイブする際に、同じ名前のファイルが OSS に存在する場合、操作は失敗し、次のようなエラーメッセージが報告されます:

    Target file for archived table exists on oss.

    OSS 内の既存のファイルを上書きするには、次のコマンドを実行する必要があります。table_name と part_name を実際の値に置き換えてください。

    ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = CSV/ORC FORCE STORAGE OSS;

例

テーブル t の p1 および p2 パーティションのデータを CSV 形式で OSS にアーカイブします。

  1. データベースに t という名前の InnoDB テーブルを作成します。

    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
    );
  2. テーブル 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);
  3. 次のコマンドを実行して、p1 および p2 パーティションのデータを OSS エンジンにアーカイブします。

    • CSV 形式でアーカイブ:

      ALTER TABLE t CHANGE PARTITION p1 ENGINE = csv;
      ALTER TABLE t CHANGE PARTITION p2 ENGINE = csv;
    • ORC 形式でアーカイブ:

      ALTER TABLE t CHANGE PARTITION p1 ENGINE = ORC;
      ALTER TABLE t CHANGE PARTITION p2 ENGINE = ORC;
  4. アーカイブが完了したら、PolarDBコンソールにログインして OSS にアーカイブされたデータベースとテーブルに関する情報を表示するか、SQL ステートメントを使用してハイブリッドパーティションテーブルのデータをクエリできます:

    • OSS にアーカイブされたデータベースとテーブルに関する情報を表示するには:PolarDB コンソールにログインします。対象クラスターの左側のナビゲーションウィンドウで、設定と管理 > データのライフサイクル > コールドデータのアーカイブ (コールドデータ) を選択して情報を表示します。

    • ハイブリッドパーティションテーブルのデータをクエリするには、「ハイブリッドパーティションのクエリ」をご参照ください。

アーカイブ済みデータの TDE 暗号化

説明
  • CSV または ORC 形式での手動アーカイブのみがサポートされています。

  • 次のバージョンの PolarDB for MySQL クラスターのみが、アーカイブ中に OSS のデータファイルを暗号化することをサポートしています:

    • 8.0.1、マイナーバージョン 8.0.1.1.47 以降。

    • 8.0.2、マイナーバージョン 8.0.2.2.27 以降。

  • ご利用のクラスターのマイナーバージョンが要件を満たしていない場合は、マイナーバージョンをアップグレードすることを推奨します。詳細については、「マイナーバージョン管理」をご参照ください。

データセキュリティ要件を満たすために、OSS にアーカイブされるコールドデータファイルに対して TDE (透過的データ暗号化) を有効にすることができます。基本的な原則は、アーカイブ操作中に暗号化したいファイルを選択し、OSS サーバーが暗号化を実行することです。詳細については、「データ暗号化」をご参照ください。データが暗号化された後、PolarDB for MySQL の SQL ステートメントを使用してアーカイブされたデータをクエリできます。暗号化と復号のプロセス全体はバックグラウンドで実行され、ユーザーに対して透過的であり、追加の操作は必要ありません。

構文

手動アーカイブ操作中に、ENCRYPTION="Y" 構文を追加して TDE を有効にすることができます。

ALTER TABLE t1 engine = CSV ENCRYPTION="Y" STORAGE OSS;

OSS から PolarStore へのデータの復元

標準アーカイブテーブルの復元

OSS にアーカイブされたコールドデータを変更するには、ALTER ENGINE 構文を使用してデータを PolarStore に復元します。データを PolarStore に復元すると、OSS 上の対応するデータも削除されます。データを変更した後、変更されたテーブルを再度 OSS にアーカイブできます。

構文
ALTER TABLE table_name ENGINE[=]engine_name;
パラメーター

パラメーター

説明

table_name

復元する OSS テーブルの名前。

engine_name

復元後のエンジンタイプ。

注意事項

アーカイブされた OSS テーブルは読み取り専用であり、INSERT、UPDATE、または DELETE 操作は許可されません。データを変更するには、まずテーブルを InnoDB のような読み書き可能なエンジンに復元する必要があります。読み取り専用の OSS テーブルを変更しようとすると、次のエラーが発生します:

1036 - Table 't1' is read only
例

oss_test データベースの OSS テーブル t を PolarStore に復元します。

ALTER TABLE `oss_test`.`t` ENGINE = InnoDB;

InnoDB テーブル t のデータを変更します。データを変更した後、InnoDB エンジンからテーブル t を再度 OSS にアーカイブできます。例:

ALTER TABLE t ENGINE = CSV CONNECTION = 'default_oss_server';

または

ALTER TABLE t ENGINE = CSV STORAGE OSS;

アーカイブ済みパーティションの復元

アーカイブされたパーティションテーブルから PolarStore にデータを復元する必要がある場合は、ALTER ステートメントを使用して OSS から PolarStore にデータを復元できます。データが復元されると、OSS 内のコールドデータも削除されます。

説明

ご利用のクラスターは、カーネルリビジョンが 8.0.2.2.34.1 以降の PolarDB for MySQL 8.0.2 である必要があります。

構文
ALTER TABLE table_name REORGANIZE PARTITION part_name INTO (partition_definition);
パラメーター

パラメーター

説明

table_name

復元する OSS テーブルの名前。

part_name

復元するパーティションの名前。

partition_definition

復元したいパーティションの partition_definition と同じでなければなりません。

例

アーカイブされたパーティションテーブル t の p1 パーティションから OSS のデータを PolarStore に復元します。

ALTER TABLE t REORGANIZE PARTITION p1 INTO(PARTITION p1 values less than(100));

OSS 上の対応するファイルの削除

説明
  • この機能は、次のバージョンを実行する PolarDB for MySQL クラスターでのみサポートされています:

    • バージョン 8.0.1、マイナーバージョンは 8.0.1.1.42 以降である必要があります。

    • バージョン 8.0.2、マイナーバージョンは 8.0.2.2.23 以降である必要があります。

  • ご利用のクラスターのマイナーバージョンが上記の要件を満たしていない場合、OSS 上の対応するファイルを削除することはできません。クラスターのマイナーバージョンをアップグレードしてください。詳細については、「マイナーバージョン管理」をご参照ください。

OSS 上のテーブルを削除したり、PolarStore にインポートし直したりしても、OSS 上のファイルは自動的に削除されません。データが不要になったことを確認した後、次の構文を使用して OSS 上の対応するファイルを削除します:

CALL dbms_oss.delete_table_file('database_name', 'table_name');

OSS 上のファイルを削除する操作は非同期です。ファイルは、クラスター内のすべてのノードがそれらに依存しなくなった後に完全に削除されます。トラフィックが多いと遅延が発生する可能性があります。コマンドが失敗し、OSS files are still in use エラーが返された場合は、しばらく待ってから再度コマンドを実行してください。