説明
ゴミ箱から削除されたテーブルを復元します。
説明
- ゴミ箱にあるテーブルは実際には削除されておらず、リソースを占有し続けます。ゴミ箱の内容を完全に削除するには、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ステートメントを使用するには、ごみ箱機能を有効にしておく必要があります。詳細については、ごみ箱を参照してください。