説明
このステートメントは、ショッピングカートから削除されたデータベースオブジェクト(テナント、データベース、テーブルなど)を復元するために使用します。
デフォルトでは、ショッピングカートは有効な状態にあります。この動作はシステム変数 recyclebin によって制御されます。SHOW VARIABLES LIKE 'recyclebin' を実行することで、ショッピングカートが有効かどうかを確認できます。システム変数 recyclebin の詳細については、「リファレンスガイド」の システム変数 セクションを参照してください。
obclient> SHOW VARIABLES LIKE 'recyclebin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| recyclebin | ON |
+---------------+-------+
1 row in set
ショッピングカートが無効な場合は、SET recyclebin = on ステートメントを実行して有効にすることができます。ショッピングカート内のデータベースオブジェクトは実際には削除されておらず、引き続きリソースを占有します。完全に削除する必要がある場合は、PUREGE recyclebin ステートメントを実行してショッピングカートをクリーンアップできます。
テーブルを削除すると、そのテーブルに従属するインデックスも同時に削除されます。FLASHBACK ステートメントでテーブルを復元すると、テーブル上のインデックスも復元されます。特に、テーブルから直接削除されたインデックスはショッピングカートには入らず、OceanBaseデータベースはショッピングカートから直接インデックスを回収することもサポートしていません。
構文
FLASHBACK {TENANT | DATABASE | TABLE} object_name TO BEFORE DROP [RENAME TO flashback_object_name];
flashback_object_name:
tenant_name
| database_name
| database_name.table_name
パラメータの説明
パラメータ |
説明 |
|---|---|
| object_name | 復元するデータベースオブジェクトのゴミ箱内での名前を指定します。直接名前を指定することはできません。 データベースオブジェクトを復元する際、そのデータベースに属するテーブルやインデックスなどのデータベースオブジェクトも一緒に復元されます。 SHOW RECYCLEBIN ステートメントを使用して、復元するデータベースのゴミ箱内での名前を確認できます。 |
| RENAME to | 復元時にデータベースオブジェクトの名前を変更します。 |
| tenant_name | テナント復元後の名前。 |
| database_name | データベース復元後の名前 |
| database_name.table_name | テーブル復元後の名前。database_name はテーブルが復元後に属するデータベースを指定するために使用されます。 |
例
ごみ箱から削除されたテナント
tenant1を復元します。obclient> FLASHBACK TENANT tenant1 TO BEFORE DROP; Query OK, 0 rows affectedごみ箱から削除されたデータベースを復元します。
obclient> CREATE DATABASE da; Query OK, 1 row affected obclient> DROP DATABASE da; Query OK, 0 rows affected obclient> SHOW RECYCLEBIN; +--------------------------------------------------+---------------+----------+----------------------------+ | OBJECT_NAME | ORIGINAL_NAME | TYPE | CREATETIME | +--------------------------------------------------+---------------+----------+----------------------------+ | __recycle_$_1_1099511628829_18446744073709551615 | da | DATABASE | 2017-10-20 17:36:15.838771 | +--------------------------------------------------+---------------+----------+----------------------------+ 1 row in set obclient> FLASHBACK DATABASE __recycle_$_1_1099511628829_18446744073709551615 TO BEFORE DROP; Query OK, 0 rows affectedごみ箱から削除されたテーブル
t1を復元し、t2に名前を変更してインデックスの復元状況を確認します。obclient> CREATE TABLE t1(c1 INT PRIMARY KEY,c2 INT,c3 INT); Query OK, 0 rows affected obclient> ALTER TABLE t1 ADD INDEX ind2 (c2) USING BTREE; Query OK, 0 rows affected obclient> ALTER TABLE t1 ADD INDEX ind3 (c3) USING BTREE; Query OK, 0 rows affected obclient> SHOW INDEX FROM t1; +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+-----------+---------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+-----------+---------------+---------+ | t1 | 0 | PRIMARY | 1 | c1 | A | NULL | NULL | NULL | | BTREE | available | | YES | | t1 | 1 | ind2 | 1 | c2 | A | NULL | NULL | NULL | YES | BTREE | available | | YES | | t1 | 1 | ind3 | 1 | c3 | A | NULL | NULL | NULL | YES | BTREE | available | | YES | +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+-----------+---------------+---------+ 3 rows in set obclient> ALTER TABLE t1 DROP INDEX ind2; Query OK, 0 rows affected obclient> SHOW RECYCLEBIN; Empty set obclient> DROP TABLE t1; Query OK, 0 rows affected obclient> SHOW RECYCLEBIN; +---------------------------------+--------------------------+-------+----------------------------+ | OBJECT_NAME | ORIGINAL_NAME | TYPE | CREATETIME | +---------------------------------+--------------------------+-------+----------------------------+ | __recycle_$_10_1628157070059520 | __idx_1099511677777_ind3 | INDEX | 2021-08-05 17:51:10.060761 | | __recycle_$_10_1628157070067712 | t1 | TABLE | 2021-08-05 17:51:10.068062 | +---------------------------------+--------------------------+-------+----------------------------+ 2 rows in set obclient> FLASHBACK TABLE __recycle_$_10_1628157070067712 TO BEFORE DROP RENAME TO t2; obclient> SHOW INDEX FROM t2; +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+-----------+---------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+-----------+---------------+---------+ | t2 | 0 | PRIMARY | 1 | c1 | A | NULL | NULL | NULL | | BTREE | available | | YES | | t2 | 1 | ind3 | 1 | c3 | A | NULL | NULL | NULL | YES | BTREE | available | | YES | +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+-----------+---------------+---------+ 2 rows in set