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

PolarDB:CSV または ORC フォーマットでのデータのアーカイブ

最終更新日:Jun 13, 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 よりも古い場合は、以下のパラメーターを設定します。

構文

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 テーブルがすでに存在する場合、両方のテーブルのカラム名またはカラム型定義を比較する必要があります。定義が一致している場合にのみデータをアーカイブできます。そうでない場合はエラーが発生します。DDL ステートメントを使用して、両方のテーブル定義を一致させることができます。詳細については、「コールドデータ 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)

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

説明
  • PolarDB for MySQL クラスターのバージョンが 8.0.2 で、カーネルのマイナーバージョンが 8.0.2.2.34.1 以降の場合にのみ、パーティションテーブルをアーカイブできます。

  • カーネルのマイナーバージョンが 8.0.2.2.33 よりも古い場合は、クォータセンター に移動します。クォータ IDpolardb_mysql_hybrid_partition のクォータを見つけ、[操作] 列の [申請] をクリックして機能を有効化します。

パーティションテーブルをアーカイブする際は、そのパーティションをアーカイブします。テーブルはハイブリッドパーティションテーブルとなり、アーカイブされたパーティションのデータファイルは 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;

テーブル tp1 および 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 テーブルは読み取り専用であり、INSERTUPDATE、または 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 内のコールドデータも削除されます。

説明

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

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

パラメーター

説明

table_name

リストアする OSS テーブルの名前。

part_name

リストアするパーティションの名前。

partition_definition

リストアするパーティションの partition_definition と同一である必要があります。

アーカイブされたパーティションテーブル tp1 パーティションのデータを 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 エラーが返された場合は、しばらく待ってからコマンドを再実行してください。