説明
このステートメントは、復元ポイント(Restore Point)を削除するために使用します。
注意
- V4.x系では、DROP RESTORE POINTステートメントは現在サポートされていません。
- システムテナントでは、復元ポイントの作成と削除はサポートされていません。
構文
DROP RESTORE POINT restore_point;
パラメータ説明
パラメータ |
説明 |
|---|---|
| restore_point | 復元ポイント名を指定します。 |
例
テナントの既存の復元ポイントを確認します。
obclient> SELECT * FROM V$RESTORE_POINT; +-----------+------------------+----------------------------+------+ | TENANT_ID | SNAPSHOT | TIME | NAME | +-----------+------------------+----------------------------+------+ | 1001 | 1630407064663511 | 2021-08-31 18:51:04.665692 | rp1 | +-----------+------------------+----------------------------+------+ 1 row in set復元ポイント
rp1を削除します。obclient> DROP RESTORE POINT rp1; Query OK, 0 rows affected
説明
このステートメントは、リストアポイント(Restore Point)を作成するために使用します。この機能を使用すると、現在時刻のデータスナップショットを保持し、後でそのデータスナップショットを基準にクエリを実行できます。ただし、データをこのリストアポイントまでロールバックすることは現在サポートされていません。
リストアポイントを作成した後、V$RESTORE_POINT ビューでそのリストアポイントの SNAPSHOT 値を確認できます。その後、SELECT * FROM table_name AS OF SNAPSHOT snapshot; を使用して、データスナップショット内の値をクエリできます。
注意
sysテナントではリストアポイントの作成はサポートされていません。
構文
CREATE RESTORE POINT restore_point;
パラメータ説明
パラメータ |
説明 |
|---|---|
| restore_point | 復元ポイント名を指定します。 |
説明
Restore Point機能の制限事項は以下の通りです:
物理バックアップはサポートされていません。
プライマリ/スタンバイデータベースはサポートされていません。
各テナントで
10個のRestore Pointが上限です。Restore Pointを作成した後、そのリストアポイント作成前に存在したテーブルに対してDDLステートメントを実行すると、システムはエラーを返します。
Restore Point機能はGTSに依存してグローバルな一貫性のあるスナップショットを維持するため、Restore Pointを使用する際にはGTSを有効にする必要があります。
GTSを有効にするSQLコマンドは以下の通りです。
obclient> SET GLOBAL ob_timestamp_service='GTS';
例
テーブル
test1を作成し、1行のデータを挿入します。obclient> CREATE TABLE test1 (c1 INT,c2 INT); Query OK, 0 rows affected obclient> INSERT INTO test1(c1,c2) values (1,1); Query OK, 1 row affectedリストアポイント
rp1を作成します。obclient> CREATE RESTORE POINT rp1; Query OK, 0 rows affectedテーブル
test1にさらにデータを挿入してコミットします。obclient> INSERT INTO test1(c1,c2) values (2, 2),(3,3); Query OK, 2 rows affected Records: 2 Duplicates: 0 Warnings: 0 obclient> commit; Query OK, 0 rows affectedテーブル
test1の現在のバージョンのデータをクエリします。obclient> SELECT * FROM test1; +------+------+ | c1 | c2 | +------+------+ | 1 | 1 | | 2 | 2 | | 3 | 3 | +------+------+ 3 rows in set作成したリストアポイント
rp1の情報を確認し、バージョン番号に基づいて履歴バージョンのデータを確認します。obclient> SELECT * FROM V$RESTORE_POINT; +-----------+------------------+----------------------------+------+ | TENANT_ID | SNAPSHOT | TIME | NAME | +-----------+------------------+----------------------------+------+ | 1001 | 1630407064663511 | 2021-08-31 18:51:04.665692 | rp1 | +-----------+------------------+----------------------------+------+ 1 row in set obclient> SELECT * FROM test1 AS OF SNAPSHOT 1630407064663511; +------+------+ | c1 | c2 | +------+------+ | 1 | 1 | +------+------+ 1 row in set