説明
ごみ箱から削除されたテーブルを復元します。
説明
- ごみ箱にあるテーブルは実際には削除されておらず、引き続きリソースを占有しています。ごみ箱の内容を完全に削除する必要がある場合は、SQLステートメント
PURGE RECYCLEBIN;を実行してください。 - 削除されたテーブルがごみ箱に入るには、ごみ箱が有効である必要があります。
- SQLステートメント
SHOW VARIABLES LIKE 'recyclebin';を実行すると、ごみ箱が有効かどうかを確認できます。 - SQLステートメント
SET RECYCLEBIN = ON;を実行すると、ごみ箱を有効にできます。
- SQLステートメント
構文
FLASHBACK TABLE [schema.]table_name [, [schema.]table_name]...
TO BEFORE DROP
[RENAME TO [schema.]new_table_name]
パラメータの説明
パラメータ |
説明 |
|---|---|
| table_name | 復元するテーブル名を指定します。 説明 テーブルを復元する際、そのテーブルに関連するインデックスも同期して復元されます。 |
| RENAME TO | テーブル名とテーブルが属するデータベースを変更します。 RENAME TO database_name.table_name を省略した場合、復元されるテーブルの名前は元の名前になります。 |
例
ごみ箱から削除されたテーブル
tbl1を復元します。ごみ箱の内容を確認する
obclient> SHOW RECYCLEBIN;実行結果
+-----------------------------------+---------------+-------+------------------------------+ | OBJECT_NAME | ORIGINAL_NAME | TYPE | CREATETIME | +-----------------------------------+---------------+-------+------------------------------+ | RECYCLE_$_100004_1634807168766392 | TBL1 | TABLE | 21-OCT-21 05.06.08.767109 PM | | RECYCLE_$_100004_1634807177792816 | TBL2 | TABLE | 21-OCT-21 05.06.17.791967 PM | +-----------------------------------+---------------+-------+------------------------------+ 2 rows in set (0.00 sec)復元操作を実行する
obclient> FLASHBACK TABLE tbl1 TO BEFORE DROP;復元結果を検証する
obclient> SELECT * FROM tbl1;実行結果
+------+------+ | COL1 | COL2 | +------+------+ | 1 | 1 | +------+------+ 1 row in setごみ箱から削除されたテーブル
tbl2をuser1データベースに復元し、テーブル名をtbl_testに変更します。ごみ箱の内容を確認する
obclient> SHOW RECYCLEBIN;実行結果
+-----------------------------------+---------------+-------+------------------------------+ | OBJECT_NAME | ORIGINAL_NAME | TYPE | CREATETIME | +-----------------------------------+---------------+-------+------------------------------+ | RECYCLE_$_100004_1634807168766392 | TBL1 | TABLE | 21-OCT-21 05.06.08.767109 PM | | RECYCLE_$_100004_1634807177792816 | TBL2 | TABLE | 21-OCT-21 05.06.17.791967 PM | +-----------------------------------+---------------+-------+------------------------------+ 2 rows in set (0.00 sec)復元と名前変更操作を実行する
obclient> FLASHBACK TABLE tbl2 TO BEFORE DROP RENAME TO user1.tbl_test;復元結果を検証する
obclient> SELECT * FROM user1.tbl_test;実行結果
+------+------+ | COL1 | COL2 | +------+------+ | 1 | 1 | +------+------+ 1 row in set
注意点
FLASHBACK TABLEステートメントを使用するには、ゴミ箱機能を有効にしておく必要があります。詳細については、ゴミ箱を参照してください。