RECOVER
説明
このステートメントは、以前に削除されたデータベース、テーブル、またはパーティションを復元するために使用します。
名前または ID を指定してメタデータを復元でき、復元したメタデータの名前も変更できます。
構文:
RECOVER { DATABASE <db_name> [<db_id>] [AS <new_db_name>]
| TABLE [<db_name>.]<table_name> [<table_id>] [AS <new_table_name>]
| PARTITION <partition_name> [<partition_id>] FROM [<db_name>.]<table_name> [AS <new_partition_name>] }
必須パラメータ
データベースを復元する場合
1. <db_name>
復元するデータベースの名前。
テーブルを復元する場合
1. <table_name>
復元するテーブルの名前。
パーティションを復元する場合
1. <partition_name>
復元するパーティションの名前。
2. <table_name>
パーティションが属するテーブルの名前。
省略可能なパラメータ
データベースを復元する場合
1. <db_id>
復元するデータベースの ID。
2. <new_db_name>
復元後のデータベースの新しい名前。
テーブルを復元する場合
1. <db_name>
テーブルが属するデータベースの名前。
2. <table_id>
復元するテーブルの ID。
3. <new_table_name>
復元後のテーブルの新しい名前。
パーティションを復元する場合
1. <partition_id>
復元するパーティションの ID。
2. <db_name>
テーブルが属するデータベースの名前。
3. <new_partition_name>
復元後のパーティションの新しい名前。
アクセス制御要件
| 権限 | オブジェクト | 備考 |
|---|---|---|
| ADMIN_PRIV |
使用上の注意
- この操作で復元できるのは、一定期間内に削除されたメタデータのみです。デフォルトは 1 日で、
catalog_trash_expire_secondパラメータをfe.confで設定して変更できます。 - メタデータの復元時に ID を指定しない場合、デフォルトでは同じ名前で最後に削除されたメタデータが復元されます。
- 現在復元可能なメタデータは、
SHOW CATALOG RECYCLE BINで確認できます。 - 復元では、ごみ箱にある既存のメタデータ、データ、レプリカを再び関連付けます。新たなデータの書き込みやレプリカの作成としては扱われません。そのため、復元したオブジェクトによってデータベースの使用量がクォータを超える場合でも、データやレプリカのクォータによって
RECOVERが妨げられることはありません。その後にデータやレプリカを追加する操作には、引き続きクォータが適用されます。
例
-
example_dbという名前のデータベースを復元するRECOVER DATABASE example_db; -
example_tblという名前のテーブルを復元するRECOVER TABLE example_db.example_tbl; -
p1という名前のパーティションをテーブルexample_tblから復元するRECOVER PARTITION p1 FROM example_tbl; -
ID が
example_db_id、名前がexample_dbのデータベースを復元するRECOVER DATABASE example_db example_db_id; -
ID が
example_tbl_id、名前がexample_tblのテーブルを復元するRECOVER TABLE example_db.example_tbl example_tbl_id; -
ID が
p1_id、名前がp1のパーティションをテーブルexample_tblから復元するRECOVER PARTITION p1 p1_id FROM example_tbl; -
ID が
example_db_id、名前がexample_dbのデータベースを復元し、new_example_dbに名前を変更するRECOVER DATABASE example_db example_db_id AS new_example_db; -
example_tblという名前のテーブルを復元し、new_example_tblに名前を変更するRECOVER TABLE example_db.example_tbl AS new_example_tbl; -
ID が
p1_id、名前がp1のパーティションをテーブルexample_tblから復元し、new_p1に名前を変更するRECOVER PARTITION p1 p1_id AS new_p1 FROM example_tbl;