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_dbRECOVER DATABASE example_db; -
Восстановить таблицу с именем
example_tblRECOVER TABLE example_db.example_tbl; -
Восстановить раздел с именем
p1из таблицыexample_tblRECOVER PARTITION p1 FROM example_tbl; -
Восстановить базу данных с ID
example_db_idи именемexample_dbRECOVER DATABASE example_db example_db_id; -
Восстановить таблицу с ID
example_tbl_idи именемexample_tblRECOVER TABLE example_db.example_tbl example_tbl_id; -
Восстановить раздел с ID
p1_idи именемp1из таблицыexample_tblRECOVER PARTITION p1 p1_id FROM example_tbl; -
Восстановить базу данных с ID
example_db_idи именемexample_dbи переименовать её вnew_example_dbRECOVER DATABASE example_db example_db_id AS new_example_db; -
Восстановить таблицу с именем
example_tblи переименовать её вnew_example_tblRECOVER TABLE example_db.example_tbl AS new_example_tbl; -
Восстановить раздел с ID
p1_idи именемp1из таблицыexample_tblи переименовать его вnew_p1RECOVER PARTITION p1 p1_id AS new_p1 FROM example_tbl;