This is an automated email from the ASF dual-hosted git repository.

jiafengzheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 5a4fddbc642 fix
5a4fddbc642 is described below

commit 5a4fddbc6426a59e4662e99f78a412f1d1354733
Author: jiafeng.zhang <zhang...@gmail.com>
AuthorDate: Mon Sep 19 10:34:06 2022 +0800

    fix
---
 .../Account-Management-Statements/GRANT.md         |  37 ++++----
 .../ALTER-SYSTEM-ADD-BACKEND.md                    |  10 --
 .../ALTER-SYSTEM-MODIFY-BACKEND.md                 |  12 ++-
 .../Alter/ALTER-TABLE-BITMAP.md                    |   2 +-
 .../Alter/ALTER-TABLE-COMMENT.md                   |   1 +
 .../Alter/ALTER-TABLE-PARTITION.md                 |   4 +-
 .../Alter/ALTER-TABLE-PROPERTY.md                  |  54 +++++++++--
 .../Alter/ALTER-TABLE-REPLACE.md                   |  43 +++++++--
 .../Alter/ALTER-TABLE-ROLLUP.md                    |  13 ++-
 .../Backup-and-Restore/BACKUP.md                   |  21 ++++-
 .../Backup-and-Restore/RESTORE.md                  |   1 +
 .../Create/CREATE-TABLE-AS-SELECT.md               |  12 ++-
 .../Create/CREATE-TABLE.md                         |  66 ++++++++------
 .../Data-Definition-Statements/Drop/DROP-TABLE.md  |   2 +-
 .../ADMIN-COPY-TABLET.md                           | 101 +++++++++++++++++++++
 .../ADMIN-DIAGNOSE-TABLET.md                       |  24 +++--
 .../Account-Management-Statements/GRANT.md         |  21 +++--
 .../ALTER-SYSTEM-ADD-BACKEND.md                    |  14 +--
 .../ALTER-SYSTEM-MODIFY-BACKEND.md                 |  12 ++-
 .../Alter/ALTER-TABLE-BITMAP.md                    |   2 +-
 .../Alter/ALTER-TABLE-COMMENT.md                   |   1 +
 .../Alter/ALTER-TABLE-PARTITION.md                 |   4 +-
 .../Alter/ALTER-TABLE-PROPERTY.md                  |  73 ++++++++++++---
 .../Alter/ALTER-TABLE-REPLACE.md                   |  43 +++++++--
 .../Alter/ALTER-TABLE-ROLLUP.md                    |   9 ++
 .../Backup-and-Restore/BACKUP.md                   |   8 +-
 .../Backup-and-Restore/RESTORE.md                  |   1 +
 .../Create/CREATE-TABLE-AS-SELECT.md               |  12 ++-
 .../Create/CREATE-TABLE.md                         |  65 +++++++------
 .../Data-Definition-Statements/Drop/DROP-TABLE.md  |   2 +-
 .../ADMIN-COPY-TABLET.md                           | 101 +++++++++++++++++++++
 .../ADMIN-DIAGNOSE-TABLET.md                       |  24 +++--
 sidebars.json                                      |   1 +
 33 files changed, 607 insertions(+), 189 deletions(-)

diff --git 
a/docs/sql-manual/sql-reference/Account-Management-Statements/GRANT.md 
b/docs/sql-manual/sql-reference/Account-Management-Statements/GRANT.md
index c5e9e3f464c..05dff1c354a 100644
--- a/docs/sql-manual/sql-reference/Account-Management-Statements/GRANT.md
+++ b/docs/sql-manual/sql-reference/Account-Management-Statements/GRANT.md
@@ -35,7 +35,7 @@ GRANT
 The GRANT command is used to grant the specified user or role specified 
permissions
 
 ```sql
-GRANT privilege_list ON db_name[.tbl_name] TO user_identity [ROLE role_name]
+GRANT privilege_list ON priv_level TO user_identity [ROLE role_name]
 
 GRANT privilege_list ON RESOURCE resource_name TO user_identity [ROLE 
role_name]
 ````
@@ -45,11 +45,11 @@ privilege_list is a list of privileges to be granted, 
separated by commas. Curre
     NODE_PRIV: Cluster node operation permissions, including node online and 
offline operations. Only the root user has this permission and cannot be 
granted to other users.
     ADMIN_PRIV: All privileges except NODE_PRIV.
     GRANT_PRIV: Privilege for operation privileges. Including creating and 
deleting users, roles, authorization and revocation, setting passwords, etc.
-    SELECT_PRIV: read permission on the specified library or table
-    LOAD_PRIV: Import privileges on the specified library or table
-    ALTER_PRIV: Schema change permission for the specified library or table
-    CREATE_PRIV: Create permission on the specified library or table
-    DROP_PRIV: drop privilege on the specified library or table
+    SELECT_PRIV: read permission on the specified database or table
+    LOAD_PRIV: Import privileges on the specified database or table
+    ALTER_PRIV: Schema change permission for the specified database or table
+    CREATE_PRIV: Create permission on the specified database or table
+    DROP_PRIV: drop privilege on the specified database or table
     USAGE_PRIV: access to the specified resource
     
     ALL and READ_WRITE in legacy permissions will be converted to: 
SELECT_PRIV,LOAD_PRIV,ALTER_PRIV,CREATE_PRIV,DROP_PRIV;
@@ -58,16 +58,17 @@ privilege_list is a list of privileges to be granted, 
separated by commas. Curre
 Permission classification:
 
     1. Node Privilege: NODE_PRIV
-    2. Library table permissions: SELECT_PRIV, LOAD_PRIV, ALTER_PRIV, 
CREATE_PRIV, DROP_PRIV
+    2. database table permissions: SELECT_PRIV, LOAD_PRIV, ALTER_PRIV, 
CREATE_PRIV, DROP_PRIV
     3. Resource permission: USAGE_PRIV
 
-db_name[.tbl_name] supports the following three forms:
+Priv_level supports the following four forms:
 
-    1. *.* permissions can be applied to all libraries and all tables in them
-    2. db.* permissions can be applied to all tables under the specified 
library
-    3. The db.tbl permission can be applied to the specified table under the 
specified library
+    1. *.*.* permissions can be applied to all catalogs, all databases and all 
tables in them
+    2. ctl.*.* permissions can be applied to all databases and all tables in 
them
+    3. ctl.db.* permissions can be applied to all tables under the specified 
database
+    4. ctl.db.tbl permission can be applied to the specified table under the 
specified database
     
-    The library or table specified here can be a library and table that does 
not exist.
+    The catalog or database, table specified here may be not exist.
 
 resource_name supports the following two forms:
 
@@ -84,22 +85,22 @@ user_identity:
 
 ### Example
 
-1. Grant permissions to all libraries and tables to the user
+1. Grant permissions to all catalog and databases and tables to the user
 
    ```sql
-   GRANT SELECT_PRIV ON *.* TO 'jack'@'%';
+   GRANT SELECT_PRIV ON *.*.* TO 'jack'@'%';
    ````
 
-2. Grant permissions to the specified library table to the user
+2. Grant permissions to the specified database table to the user
 
    ```sql
-   GRANT SELECT_PRIV,ALTER_PRIV,LOAD_PRIV ON db1.tbl1 TO 'jack'@'192.8.%';
+   GRANT SELECT_PRIV,ALTER_PRIV,LOAD_PRIV ON ctl1.db1.tbl1 TO 'jack'@'192.8.%';
    ````
 
-3. Grant permissions to the specified library table to the role
+3. Grant permissions to the specified database table to the role
 
    ```sql
-   GRANT LOAD_PRIV ON db1.* TO ROLE 'my_role';
+   GRANT LOAD_PRIV ON ctl1.db1.* TO ROLE 'my_role';
    ````
 
 4. Grant access to all resources to users
diff --git 
a/docs/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-ADD-BACKEND.md
 
b/docs/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-ADD-BACKEND.md
index ad35f9ac01b..7006ac761ab 100644
--- 
a/docs/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-ADD-BACKEND.md
+++ 
b/docs/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-ADD-BACKEND.md
@@ -39,10 +39,6 @@ grammar:
 ```sql
 -- Add nodes (add this method if you do not use the multi-tenancy function)
    ALTER SYSTEM ADD BACKEND "host:heartbeat_port"[,"host:heartbeat_port"...];
--- Add idle nodes (that is, add BACKEND that does not belong to any cluster)
-   ALTER SYSTEM ADD FREE BACKEND 
"host:heartbeat_port"[,"host:heartbeat_port"...];
--- Add nodes to a cluster
-   ALTER SYSTEM ADD BACKEND TO cluster_name 
"host:heartbeat_port"[,"host:heartbeat_port"...];
 ````
 
  illustrate:
@@ -59,12 +55,6 @@ grammar:
     ALTER SYSTEM ADD BACKEND "host:port";
     ````
 
- 1. Add an idle node
-
-    ```sql
-    ALTER SYSTEM ADD FREE BACKEND "host:port";
-    ````
-
 ### Keywords
 
     ALTER, SYSTEM, ADD, BACKEND, ALTER SYSTEM
diff --git 
a/docs/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-MODIFY-BACKEND.md
 
b/docs/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-MODIFY-BACKEND.md
index 0923f730469..9c0ce3e0edf 100644
--- 
a/docs/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-MODIFY-BACKEND.md
+++ 
b/docs/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-MODIFY-BACKEND.md
@@ -47,28 +47,32 @@ ALTER SYSTEM MODIFY BACKEND "host:heartbeat_port" SET 
("key" = "value"[, ...]);
 2. heartbeat_port is the heartbeat port of the node
 3. Modify BE node properties The following properties are currently supported:
 
-- tag.location: resource tag
+- tag.xxxx: resource tag
 - disable_query: query disable attribute
 - disable_load: import disable attribute
 
+Note:
+1. A backend can be set multi resource tags. But must contain "tag.location" 
type.
+
 ### Example
 
 1. Modify the resource tag of BE
 
     ```sql
-    ALTER SYSTEM MODIFY BACKEND "host1:9050" SET ("tag.location" = "group_a");
+    ALTER SYSTEM MODIFY BACKEND "host1:heartbeat_port" SET ("tag.location" = 
"group_a");
+    ALTER SYSTEM MODIFY BACKEND "host1:heartbeat_port" SET ("tag.location" = 
"group_a", "tag.compute" = "c1");
     ````
 
 2. Modify the query disable property of BE
 
     ```sql
-    ALTER SYSTEM MODIFY BACKEND "host1:9050" SET ("disable_query" = "true");
+    ALTER SYSTEM MODIFY BACKEND "host1:heartbeat_port" SET ("disable_query" = 
"true");
     ````
 
 3. Modify the import disable property of BE
 
     ```sql
-    ALTER SYSTEM MODIFY BACKEND "host1:9050" SET ("disable_load" = "true");
+    ALTER SYSTEM MODIFY BACKEND "host1:heartbeat_port" SET ("disable_load" = 
"true");
     ````
 
 ### Keywords
diff --git 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-BITMAP.md
 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-BITMAP.md
index cdd341bb368..4ce8f42c798 100644
--- 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-BITMAP.md
+++ 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-BITMAP.md
@@ -80,7 +80,7 @@ ALTER TABLE table1 DROP INDEX [IF EXISTS] index_name;
 ### Keywords
 
 ```text
-ALTER, TABLE, BITMAP, ALTER TABLE
+ALTER, TABLE, BITMAP, INDEX, ALTER TABLE
 ```
 
 ### Best Practice
diff --git 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-COMMENT.md
 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-COMMENT.md
index 01a1dcbd994..4957ae25038 100644
--- 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-COMMENT.md
+++ 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-COMMENT.md
@@ -77,3 +77,4 @@ ALTER, TABLE, COMMENT, ALTER TABLE
 ```
 
 ### Best Practice
+
diff --git 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PARTITION.md
 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PARTITION.md
index 79f7b53de9d..8538352a062 100644
--- 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PARTITION.md
+++ 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PARTITION.md
@@ -60,8 +60,8 @@ Notice:
   - VALUES LESS THAN [MAXVALUE|("value1", ...)]
   - VALUES [("value1", ...), ("value1", ...))
 - The partition is left closed and right open. If the user only specifies the 
right boundary, the system will automatically determine the left boundary
-- If the bucketing method is not specified, the bucketing method used for 
creating the table is automatically used
-- If the bucketing method is specified, only the number of buckets can be 
modified, not the bucketing method or the bucketing column
+- If the bucketing method is not specified, the bucketing method and bucket 
number used for creating the table would be automatically used
+- If the bucketing method is specified, only the number of buckets can be 
modified, not the bucketing method or the bucketing column. If the bucketing 
method is specified but the number of buckets not be specified, the default 
value `10` will be used for bucket number instead of the number specified when 
the table is created. If the number of buckets modified, the bucketing method 
needs to be specified simultaneously.
 - The ["key"="value"] section can set some attributes of the partition, see 
[CREATE 
TABLE](./sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md)
 - If the user does not explicitly create a partition when creating a table, 
adding a partition by ALTER is not supported
 
diff --git 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PROPERTY.md
 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PROPERTY.md
index bd85ed5fbfe..b47a64e99e6 100644
--- 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PROPERTY.md
+++ 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PROPERTY.md
@@ -34,13 +34,19 @@ ALTER TABLE PROPERTY
 
 This statement is used to modify the properties of an existing table. This 
operation is synchronous, and the return of the command indicates the 
completion of the execution.
 
+Modify the properties of the table, currently supports modifying the bloom 
filter column, the colocate_with attribute and the dynamic_partition attribute, 
 the replication_num and default.replication_num.
+
 grammar:
 
 ```sql
 ALTER TABLE [database.]table alter_clause;
 ```
 
-The alter_clause of property supports the following modification methods
+The alter_clause of property supports the following modification methods.
+
+Note:
+
+Can also be merged into the above schema change operation to modify, see the 
example below
 
 1. Modify the bloom filter column of the table
 
@@ -78,7 +84,13 @@ If you need to add dynamic partition attributes to tables 
without dynamic partit
    (Note: adding dynamic partition attributes is not supported for 
non-partitioned tables)
 
 ```sql
-ALTER TABLE example_db.my_table set ("dynamic_partition.enable" = "true", 
"dynamic_partition.time_unit" = "DAY", "dynamic_partition.end" = "3", 
"dynamic_partition.prefix" = "p", "dynamic_partition. buckets" = "32");
+ALTER TABLE example_db.my_table set (
+  "dynamic_partition.enable" = "true", 
+  "dynamic_partition.time_unit" = "DAY", 
+  "dynamic_partition.end" = "3", 
+  "dynamic_partition.prefix" = "p", 
+  "dynamic_partition. buckets" = "32"
+);
 ```
 
 5. Modify the in_memory attribute of the table
@@ -93,23 +105,34 @@ ALTER TABLE example_db.my_table set ("in_memory" = "true");
 ALTER TABLE example_db.my_table ENABLE FEATURE "BATCH_DELETE";
 ```
 
+Note:
+
+- Only support unique tables
+-  Batch deletion is supported for old tables, while new tables are already 
supported when they are created
+
 7. Enable the function of ensuring the import order according to the value of 
the sequence column
 
 ```sql
-ALTER TABLE example_db.my_table ENABLE FEATURE "SEQUENCE_LOAD" WITH PROPERTIES 
("function_column.sequence_type" = "Date");
+ALTER TABLE example_db.my_table ENABLE FEATURE "SEQUENCE_LOAD" WITH PROPERTIES 
(
+  "function_column.sequence_type" = "Date"
+);
 ```
 
+Note:
+
+- Only support unique tables
+- The sequence_type is used to specify the type of the sequence column, which 
can be integral and time type
+- Only the orderliness of newly imported data is supported. Historical data 
cannot be changed
+
 8. Change the default number of buckets for the table to 50
 
 ```sql
 ALTER TABLE example_db.my_table MODIFY DISTRIBUTION DISTRIBUTED BY HASH(k1) 
BUCKETS 50;
 ```
 
-9. Change the bucketing mode of the table from Hash Distribution to Random 
Distribution
+Note:
 
-```
-ALTER TABLE example_db.my_table set ("distribution_type" = "random");
-```
+- Only support non colocate table with RANGE partition and HASH distribution
 
 9. Modify table comments
 
@@ -125,10 +148,27 @@ ALTER TABLE example_db.my_table MODIFY COLUMN k1 COMMENT 
"k1", MODIFY COLUMN k2
 
 11. Modify the engine type
 
+Only the MySQL type can be changed to the ODBC type. The value of driver is 
the name of the driver in the odbc.init configuration.
+
 ```sql
 ALTER TABLE example_db.mysql_table MODIFY ENGINE TO odbc PROPERTIES("driver" = 
"MySQL");
 ```
 
+12. Modify the number of copies
+
+```sql
+ALTER TABLE example_db.mysql_table SET ("replication_num" = "2");
+ALTER TABLE example_db.mysql_table SET ("default.replication_num" = "2");
+ALTER TABLE example_db.mysql_table SET ("replication_allocation" = 
"tag.location.tag1: 1");
+ALTER TABLE example_db.mysql_table SET ("default.replication_allocation" = 
"tag.location.tag1: 1");
+````
+
+Note:
+1. The property with the default prefix indicates the default replica 
distribution for the modified table. This modification does not modify the 
current actual replica distribution of the table, but only affects the replica 
distribution of newly created partitions on the partitioned table.
+2. For non-partitioned tables, modifying the replica distribution property 
without the default prefix will modify both the default replica distribution 
and the actual replica distribution of the table. That is, after the 
modification, through the `show create table` and `show partitions from tbl` 
statements, you can see that the replica distribution has been modified.
+changed.
+3. For partitioned tables, the actual replica distribution of the table is at 
the partition level, that is, each partition has its own replica distribution, 
which can be viewed through the `show partitions from tbl` statement. If you 
want to modify the actual replica distribution, see `ALTER TABLE PARTITION`.
+
 ### Example
 
 1. Modify the bloom filter column of the table
diff --git 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-REPLACE.md
 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-REPLACE.md
index 32f38c53789..a0c1616e0b9 100644
--- 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-REPLACE.md
+++ 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-REPLACE.md
@@ -1,11 +1,11 @@
 ---
 {
-    "title": "ALTER-TABLE-REPLACE",
+    "title": "ALTER-TABLE-REPLACE-COLUMN",
     "language": "en"
 }
 ---
 
-<!--
+<!-- 
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
@@ -32,19 +32,46 @@ ALTER TABLE REPLACE
 
 ### Description
 
-This statement is used to modify the attributes of the schema of the existing 
table. The syntax is basically similar to [ALTER TABLE 
CULUMN](ALTER-TABLE-COLUMN.md).
+Atomic substitution of two tables. This operation applies only to OLAP tables.
 
 ```sql
-ALTER TABLE [database.]table MODIFY NEW_COLUMN_INFO REPLACE OLD_COLUMN_INFO ;
+ALTER TABLE [db.]tbl1 REPLACE WITH TABLE tbl2
+[PROPERTIES('swap' = 'true')];
 ```
 
+Replace table tbl1 with table tbl2.
+
+If the `swap` parameter is `true`, the data in the table named `tbl1` will be 
the data in the original table named `tbl2` after the replacement. The data in 
the table named `tbl2` is the data in the original `tbl1` table. That is, two 
tables of data have been swapped.
+
+If the `swap` parameter is `false`, the data in the `tbl1` table will be the 
data in the `tbl2` table after the replacement. The table named `tbl2` is 
deleted.
+
+#### Theory
+
+The replace table function actually turns the following set of operations into 
an atomic operation.
+
+If you want to replace table A with table B and `swap` is `true`, do the 
following:
+
+1. Rename table B as table A.
+2. Rename table A as table B.
+
+If `swap` is `false`, do as follows:
+
+1. Delete table A.
+2. Rename table B as table A.
+
+#### Notice
+1. The default `swap` parameter is `true`. That is, a table replacement 
operation is equivalent to an exchange of data between two tables.
+2. If the `swap` parameter is set to false, the replaced table (table A) will 
be deleted and cannot be restored.
+3. The replacement operation can only occur between two OLAP tables and does 
not check whether the table structure of the two tables is consistent.
+4. The original permission Settings are not changed. Because the permission 
check is based on the table name.
+
 ### Example
 
-1. Modify the maximum length of the val1 column of base index. The original 
val1 is (val1 VARCHAR(32) REPLACE DEFAULT "abc")
+1. Swap `tbl1` with `tbl2` without deleting the `tbl1` table
 
 ```sql
-ALTER TABLE example_db.my_table
-MODIFY COLUMN val1 VARCHAR(64) REPLACE DEFAULT "abc";
+ALTER TABLE tbl1 REPLACE WITH TABLE tbl2
+    [PROPERTIES('swap' = 'true')];
 ```
 
 ### Keywords
@@ -54,4 +81,6 @@ ALTER, TABLE, REPLACE, ALTER TABLE
 ```
 
 ### Best Practice
+1. Atomic overlay write operations
 
+   In some cases, the user wants to be able to rewrite the data of a table, 
but if the deletion and then import method is used, the data cannot be viewed 
for a period of time. In this case, you can use the `CREATE TABLE LIKE` 
statement to CREATE a new TABLE with the same structure. After importing the 
new data into the new TABLE, you can replace the old TABLE atomic to achieve 
the purpose.
diff --git 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-ROLLUP.md
 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-ROLLUP.md
index 0772c912407..1cbe887736d 100644
--- 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-ROLLUP.md
+++ 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-ROLLUP.md
@@ -52,6 +52,8 @@ ADD ROLLUP rollup_name (column_name1, column_name2, ...)
 [PROPERTIES ("key"="value", ...)]
 ```
 
+properties: Support setting timeout time, the default timeout time is 1 day.
+
 2. Create rollup indexes in batches
 
 grammar:
@@ -120,7 +122,16 @@ ALTER TABLE example_db.my_table
 DROP ROLLUP example_rollup_index2;
 ```
 
-### Keywords
+5. Batch Delete rollup index
+
+```sql
+ALTER TABLE example_db.my_table
+DROP ROLLUP example_rollup_index2,example_rollup_index3;
+```
+
+### 
+
+4. Keywords
 
 ```text
 ALTER, TABLE, ROLLUP, ALTER TABLE
diff --git 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/BACKUP.md
 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/BACKUP.md
index bc025c00691..b458dd6e9d9 100644
--- 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/BACKUP.md
+++ 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/BACKUP.md
@@ -34,6 +34,8 @@ BACKUP
 
 This statement is used to back up the data under the specified database. This 
command is an asynchronous operation. After the submission is successful, you 
need to check the progress through the SHOW BACKUP command. Only backing up 
tables of type OLAP is supported.
 
+ Only root or superuser users can create repositories.
+
 grammar:
 
 ```sql
@@ -86,7 +88,20 @@ TO example_repo
 EXCLUDE (example_tbl);
 ```
 
-4. Create a repository named s3_repo to link cloud storage directly without 
going through the broker.
+4. Create a warehouse named hdfs_repo, rely on Baidu hdfs broker 
"hdfs_broker", the data root directory is: 
hdfs://hadoop-name-node:54310/path/to/repo/
+
+```
+CREATE REPOSITORY `hdfs_repo`
+WITH BROKER `hdfs_broker`
+ON LOCATION "hdfs://hadoop-name-node:54310/path/to/repo/"
+PROPERTIES
+(
+    "username" = "user",
+    "password" = "password"
+);
+```
+
+5. Create a repository named s3_repo to link cloud storage directly without 
going through the broker.
 
 ```
 CREATE REPOSITORY `s3_repo`
@@ -101,7 +116,7 @@ PROPERTIES
 );
 ```
 
-5. Create a repository named hdfs_repo to link HDFS directly without going 
through the broker.
+6. Create a repository named hdfs_repo to link HDFS directly without going 
through the broker.
 
 ```
 CREATE REPOSITORY `hdfs_repo`
@@ -114,7 +129,7 @@ PROPERTIES
 );
 ```
 
-6. Create a repository named minio_repo to link minio storage directly through 
the s3 protocol.
+7. Create a repository named minio_repo to link minio storage directly through 
the s3 protocol.
 
 ```
 CREATE REPOSITORY `minio_repo`
diff --git 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/RESTORE.md
 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/RESTORE.md
index 5d54c6c24ae..5ed19eb5d76 100644
--- 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/RESTORE.md
+++ 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/RESTORE.md
@@ -57,6 +57,7 @@ illustrate:
 - PROPERTIES currently supports the following properties:
   - "backup_timestamp" = "2018-05-04-16-45-08": Specifies which time version 
of the corresponding backup to restore, required. This information can be 
obtained with the `SHOW SNAPSHOT ON repo;` statement.
   - "replication_num" = "3": Specifies the number of replicas for the restored 
table or partition. Default is 3. If restoring an existing table or partition, 
the number of replicas must be the same as the number of replicas of the 
existing table or partition. At the same time, there must be enough hosts to 
accommodate multiple replicas.
+  - "reserve_replica" = "true": Default is false. When this property is true, 
the replication_num property is ignored and the restored table or partition 
will have the same number of replication as before the backup. Supports 
multiple tables or multiple partitions within a table with different 
replication number.
   - "timeout" = "3600": The task timeout period, the default is one day. in 
seconds.
   - "meta_version" = 40: Use the specified meta_version to read the previously 
backed up metadata. Note that this parameter is used as a temporary solution 
and is only used to restore the data backed up by the old version of Doris. The 
latest version of the backup data already contains the meta version, no need to 
specify it.
 
diff --git 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE-AS-SELECT.md
 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE-AS-SELECT.md
index 2c403058676..7498fdaa982 100644
--- 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE-AS-SELECT.md
+++ 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE-AS-SELECT.md
@@ -38,14 +38,22 @@ grammar:
 
 ```sql
 CREATE TABLE table_name [( column_name_list )]
-opt_engine opt_partition opt_properties KW_AS query_stmt
+    opt_engine:engineName
+    opt_keys:keys
+    opt_comment:tableComment
+    opt_partition:partition
+    opt_distribution:distribution
+    opt_rollup:index
+    opt_properties:tblProperties
+    opt_ext_properties:extProperties
+    KW_AS query_stmt:query_def
  ```
 
 illustrate: 
 
-- Fields of type`decimal`are not currently supported
 - The user needs to have`SELECT`permission for the source table 
and`CREATE`permission for the target database
 - After a table is created, data is imported. If the import fails, the table 
is deleted
+- You can specify the key type. The default key type is `Duplicate Key`
 
 ### Example
 
diff --git 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
index 8d5c9c2513b..f6a33014f5a 100644
--- 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
+++ 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
@@ -40,7 +40,7 @@ CREATE TABLE [IF NOT EXISTS] [database.]table
 [keys_type]
 [table_comment]
 [partition_info]
-distribution_info
+distribution_desc
 [rollup_list]
 [properties]
 [extra_properties]
@@ -91,8 +91,6 @@ distribution_info
                 Fixed-length character string. Length range: 1 ~ 255. Default 
is 1
             VARCHAR[(length)]
                 Variable length character string. Length range: 1 ~ 65533. 
Default is 1
-            STRING (M)
-                Variable length character string. Max legnth(default) is 
1048576(1MB). The length of the String type is also limited by the 
configuration string_type_length_soft_limit_bytes of be, the actual maximum 
length that can be stored take the minimum value of both, the String type can 
only be used in the value column, not in the key column and the partition and 
bucket columns
             HLL (1~16385 bytes)
                 HyperLogLog column type, do not need to specify the length and 
default value. The length is controlled within the system according to the 
degree of data aggregation.
                 Must be used with HLL_UNION aggregation type.
@@ -126,14 +124,14 @@ distribution_info
             1. The user specifies a fixed value, such as:
 
             ```SQL
-            k1 INT DEFAULT '1',
-            k2 CHAR(10) DEFAULT 'aaaa'
+               k1 INT DEFAULT '1',
+                k2 CHAR(10) DEFAULT 'aaaa'
             ```
             2. Keywords are provided by the system. Currently, the following 
keywords are supported: 
             
             ```SQL
-            // This keyword is used only for DATETIME type. If the value is 
missing, the system assigns the current timestamp.
-            dt DATETIME DEFAULT CURRENT_TIMESTAMP
+                // This keyword is used only for DATETIME type. If the value 
is missing, the system assigns the current timestamp.
+                dt DATETIME DEFAULT CURRENT_TIMESTAMP
             ```
 
         Example:
@@ -230,9 +228,10 @@ distribution_info
 
 * `distribution_desc`
 
-    1. Hash Syntax: `DISTRIBUTED BY HASH (k1[,k2 ...]) [BUCKETS num]` Explain: 
Hash bucketing using the specified key column.
-    2. Random Syntax: `DISTRIBUTED BY RANDOM [BUCKETS num]` Explain: Use 
random numbers for bucketing. Suggestion: It is recommended to use random 
bucketing when there is no suitable key for hash bucketing to make the data of 
the table evenly distributed.
-    
+    Define the data bucketing method.
+
+    `DISTRIBUTED BY HASH (k1[,k2 ...]) [BUCKETS num]`
+
 * `rollup_list`
 
     Multiple materialized views (ROLLUP) can be created at the same time as 
the table is built.
@@ -299,12 +298,6 @@ distribution_info
 
         `"in_memory" = "true"`
 
-    * compression
-
-        The default compression method for Doris tables is LZ4. After version 
1.1, it is supported to specify the compression method as ZSTD to obtain a 
higher compression ratio.
-
-        "compression"="zstd"
-
     * `function_column.sequence_type`
 
         When using the UNIQUE KEY model, you can specify a sequence column. 
When the KEY columns are the same, REPLACE will be performed according to the 
sequence column (the larger value replaces the smaller value, otherwise it 
cannot be replaced)
@@ -313,8 +306,28 @@ distribution_info
 
         `"function_column.sequence_type" ='Date'`
 
-    * Dynamic partition related
+    * `compression`
+
+        The default compression method for Doris tables is LZ4. After version 
1.1, it is supported to specify the compression method as ZSTD to obtain a 
higher compression ratio.
+    
+        `"compression"="zstd"`
+
+    * `light_schema_change`
+
+        Doris would not use light schema change optimization by default. It is 
supported to turn on the optimization by set the property as true.
+    
+        `"light_schema_change"="true"`
+    
+    * `disable_auto_compaction`
+
+        Whether to disable automatic compaction for this table.
 
+        If this property is set to 'true', the background automatic compaction 
process will skip all the tables of this table.
+
+        `"disable_auto_compaction" = "false"`
+    
+    * Dynamic partition related
+    
         The relevant parameters of dynamic partition are as follows:
     
         * `dynamic_partition.enable`: Used to specify whether the dynamic 
partition function at the table level is enabled. The default is true.
@@ -328,12 +341,11 @@ distribution_info
         * `dynamic_partition.reserved_history_periods`: Used to specify the 
range of reserved history periods.
     
     * Data Sort Info
-      
+    
         The relevant parameters of data sort info are as follows:
-        
+    
         * `data_sort.sort_type`: the method of data sorting, options: 
z-order/lexical, default is lexical
         * `data_sort.col_num`:  the first few columns to sort, col_num muster 
less than total key counts
-    
 ### Example
 
 1. Create a detailed model table
@@ -536,7 +548,8 @@ distribution_info
     PROPERTIES (
         "replication_allocation"="tag.location.group_a:1, 
tag.location.group_b:2"
     );
-    
+    ```
+    ```sql
     CREATE TABLE example_db.dynamic_partition
     (
        k1 DATE,
@@ -555,6 +568,7 @@ distribution_info
         "dynamic_partition.buckets" = "32",
         "dynamic_partition."replication_allocation" = "tag.location.group_a:3"
      );
+    ```
 
 ### Keywords
 
@@ -562,7 +576,7 @@ distribution_info
 
 ### Best Practice
 
-#### **1. Partitioning and bucketing**
+#### Partitioning and bucketing
 
 A table must specify the bucket column, but it does not need to specify the 
partition. For the specific introduction of partitioning and bucketing, please 
refer to the [Data Division](../../../../data-table/data-partition.md) document.
 
@@ -572,11 +586,11 @@ At the same time, partitioning columns and bucketing 
columns cannot be changed a
 
 Therefore, it is recommended to confirm the usage method to build the table 
reasonably before building the table.
 
-#### **2. Dynamic Partition**
+#### Dynamic Partition
 
 The dynamic partition function is mainly used to help users automatically 
manage partitions. By setting certain rules, the Doris system regularly adds 
new partitions or deletes historical partitions. Please refer to [Dynamic 
Partition](../../../../advanced/partition/dynamic-partition.md) document for 
more help.
 
-#### **3. Materialized View**
+#### Materialized View
 
 Users can create multiple materialized views (ROLLUP) while building a table. 
Materialized views can also be added after the table is built. It is convenient 
for users to create all materialized views at one time by writing in the table 
creation statement.
 
@@ -586,12 +600,12 @@ If you add a materialized view in the subsequent use 
process, if there is data i
 
 For the introduction of materialized views, please refer to the document 
[materialized views](../../../../advanced/materialized-view.md).
 
-#### **4. Index**
+#### Index
 
 Users can create indexes on multiple columns while building a table. Indexes 
can also be added after the table is built.
 
 If you add an index in the subsequent use process, if there is data in the 
table, you need to rewrite all the data, so the creation time of the index 
depends on the current data volume.
 
-#### **5. in_memory property**
+#### in_memory property
 
 The `"in_memory" = "true"` attribute was specified when the table was created. 
Doris will try to cache the data blocks of the table in the PageCache of the 
storage engine, which has reduced disk IO. However, this attribute does not 
guarantee that the data block is permanently resident in memory, and is only 
used as a best-effort identification.
diff --git 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Drop/DROP-TABLE.md 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Drop/DROP-TABLE.md
index 814ab6ef407..260145ad03d 100644
--- 
a/docs/sql-manual/sql-reference/Data-Definition-Statements/Drop/DROP-TABLE.md
+++ 
b/docs/sql-manual/sql-reference/Data-Definition-Statements/Drop/DROP-TABLE.md
@@ -42,7 +42,7 @@ DROP TABLE [IF EXISTS] [db_name.]table_name [FORCE];
 
 illustrate:
 
-- After executing DROP TABLE for a period of time, the dropped table can be 
recovered through the RECOVER statement. See 
[RECOVER](../../Database-Administration-Statements/RECOVER.md) statement for 
details
+- After executing DROP TABLE for a period of time, the dropped table can be 
recovered through the RECOVER statement. See 
[RECOVER](../../Data-Definition-Statements/Backup-and-Restore/RECOVER.md) 
statement for details
 - If you execute DROP TABLE FORCE, the system will not check whether there are 
unfinished transactions in the table, the table will be deleted directly and 
cannot be recovered, this operation is generally not recommended
 
 ### Example
diff --git 
a/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md
 
b/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md
new file mode 100644
index 00000000000..dc30a5f3278
--- /dev/null
+++ 
b/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md
@@ -0,0 +1,101 @@
+---
+{
+    "title": "ADMIN-COPY-TABLET",
+    "language": "en"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## ADMIN-COPY-TABLET
+
+### Name
+
+ADMIN COPY TABLET
+
+### Description
+
+This statement is used to make a snapshot for the specified tablet, mainly 
used to load the tablet locally to reproduce the problem.
+
+syntax:
+
+```sql
+ADMIN COPY TABLET tablet_id PROPERTIES("xxx");
+```
+
+Notes:
+
+This command requires ROOT privileges.
+
+PROPERTIES supports the following properties:
+
+1. backend_id: Specifies the id of the BE node where the replica is located. 
If not specified, a replica is randomly selected.
+
+2. version: Specifies the version of the snapshot. The version must be less 
than or equal to the largest version of the replica. If not specified, the 
largest version is used.
+
+3. expiration_minutes: Snapshot retention time. The default is 1 hour. It will 
automatically clean up after a timeout. Unit minutes.
+
+The results are shown below:
+
+```
+         TabletId: 10020
+        BackendId: 10003
+               Ip: 192.168.10.1
+             Path: /path/to/be/storage/snapshot/20220830101353.2.3600
+ExpirationMinutes: 60
+  CreateTableStmt: CREATE TABLE `tbl1` (
+  `k1` int(11) NULL,
+  `k2` int(11) NULL
+) ENGINE=OLAP
+DUPLICATE KEY(`k1`, `k2`)
+DISTRIBUTED BY HASH(k1) BUCKETS 1
+PROPERTIES (
+"replication_num" = "1",
+"version_info" = "2"
+);
+```
+
+* TabletId: tablet id
+* BackendId: BE node id
+* Ip: BE node ip
+* Path: The directory where the snapshot is located
+* ExpirationMinutes: snapshot expiration time
+* CreateTableStmt: The table creation statement for the table corresponding to 
the tablet. This statement is not the original table-building statement, but a 
simplified table-building statement for later loading the tablet locally.
+
+### Example
+
+1. Take a snapshot of the replica on the specified BE node
+
+    ```sql
+    ADMIN COPY TABLET 10010 PROPERTIES("backend_id" = "10001");
+    ```
+
+2. Take a snapshot of the specified version of the replica on the specified BE 
node
+
+    ```sql
+    ADMIN COPY TABLET 10010 PROPERTIES("backend_id" = "10001", "version" = 
"10");
+    ```
+
+### Keywords
+
+    ADMIN, COPY, TABLET
+
+### Best Practice
+
diff --git 
a/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-DIAGNOSE-TABLET.md
 
b/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-DIAGNOSE-TABLET.md
index 4ddd25a2460..df75561b596 100644
--- 
a/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-DIAGNOSE-TABLET.md
+++ 
b/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-DIAGNOSE-TABLET.md
@@ -1,11 +1,11 @@
 ---
 {
-    "title": "ADMIN-DIAGNOSE-TABLET",
+    "title": "ADMIN DIAGNOSE TABLET",
     "language": "en"
 }
 ---
 
-<!--
+<!-- 
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
@@ -13,9 +13,7 @@ regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at
-
   http://www.apache.org/licenses/LICENSE-2.0
-
 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -24,17 +22,17 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-# ADMIN DIAGNOSE TABLET
-## description
+## ADMIN DIAGNOSE TABLET
+### Description
 
     This statement is used to diagnose the specified tablet. The results will 
show information about the tablet and some potential problems.
-    
+
     grammar:
-    
+
         ADMIN DIAGNOSE TABLET tblet_id
-    
+
     illustrate:
-    
+
         The lines of information in the result are as follows:
         1. TabletExist:                         Whether the Tablet exists
         2. TabletId:                            Tablet ID
@@ -49,11 +47,11 @@ under the License.
         11.ReplicaStatus:                       Whether the replica status is 
normal.
         12.ReplicaCompactionStatus:             Whether the replica Compaction 
status is normal.
 
-## example
+### Example
 
     1. Diagnose tablet 10001
-    
+
         ADMIN DIAGNOSE TABLET 10001;
 
-## keyword
+### Keywords
     ADMIN,DIAGNOSE,TABLET
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Account-Management-Statements/GRANT.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Account-Management-Statements/GRANT.md
index 76324ff25fb..bc9167db517 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Account-Management-Statements/GRANT.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Account-Management-Statements/GRANT.md
@@ -35,7 +35,7 @@ GRANT
 GRANT 命令用于赋予指定用户或角色指定的权限
 
 ```sql
-GRANT privilege_list ON db_name[.tbl_name] TO user_identity [ROLE role_name]
+GRANT privilege_list ON priv_level TO user_identity [ROLE role_name]
 
 GRANT privilege_list ON RESOURCE resource_name TO user_identity [ROLE 
role_name]
 ```
@@ -61,13 +61,14 @@ privilege_list 是需要赋予的权限列表,以逗号分隔。当前 Doris 
     2. 库表权限:SELECT_PRIV,LOAD_PRIV,ALTER_PRIV,CREATE_PRIV,DROP_PRIV
     3. 资源权限:USAGE_PRIV
 
-db_name[.tbl_name] 支持以下三种形式:
+priv_level 支持以下四种形式:
 
-    1. *.* 权限可以应用于所有库及其中所有表
-    2. db.* 权限可以应用于指定库下的所有表
-    3. db.tbl 权限可以应用于指定库下的指定表
+    1. *.*.* 权限可以应用于所有catalog及其中的所有库表
+    2. ctl.*.* 权限可以应用于指定catalog中的所有库表
+    3. ctl.db.* 权限可以应用于指定库下的所有表
+    4. ctl.db.tbl 权限可以应用于指定库下的指定表
     
-    这里指定的库或表可以是不存在的库和表。
+    这里指定的ctl或库或表可以是不存在的库和表。
 
 resource_name 支持以下两种形式:
 
@@ -84,22 +85,22 @@ user_identity:
 
 ### Example
 
-1. 授予所有库和表的权限给用户
+1. 授予所有catalog和库表的权限给用户
    
     ```sql
-    GRANT SELECT_PRIV ON *.* TO 'jack'@'%';
+    GRANT SELECT_PRIV ON *.*.* TO 'jack'@'%';
     ```
     
 2. 授予指定库表的权限给用户
    
     ```sql
-    GRANT SELECT_PRIV,ALTER_PRIV,LOAD_PRIV ON db1.tbl1 TO 'jack'@'192.8.%';
+    GRANT SELECT_PRIV,ALTER_PRIV,LOAD_PRIV ON ctl1.db1.tbl1 TO 
'jack'@'192.8.%';
     ```
     
 3. 授予指定库表的权限给角色
    
     ```sql
-    GRANT LOAD_PRIV ON db1.* TO ROLE 'my_role';
+    GRANT LOAD_PRIV ON ctl1.db1.* TO ROLE 'my_role';
     ```
     
 4. 授予所有资源的使用权限给用户
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-ADD-BACKEND.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-ADD-BACKEND.md
index fbdf13b7b2c..ca03ebaba10 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-ADD-BACKEND.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-ADD-BACKEND.md
@@ -37,18 +37,14 @@ ALTER SYSTEM ADD BACKEND
 语法:
 
 ```sql
-1) 增加节点(不使用多租户功能则按照此方法添加)
+1) 增加节点
    ALTER SYSTEM ADD BACKEND "host:heartbeat_port"[,"host:heartbeat_port"...];
-2) 增加空闲节点(即添加不属于任何cluster的BACKEND)
-   ALTER SYSTEM ADD FREE BACKEND 
"host:heartbeat_port"[,"host:heartbeat_port"...];
-3) 增加节点到某个cluster
-   ALTER SYSTEM ADD BACKEND TO cluster_name 
"host:heartbeat_port"[,"host:heartbeat_port"...];
 ```
 
  说明:
 
 1. host 可以是主机名或者ip地址
-2.  heartbeat_port 为该节点的心跳端口
+2. heartbeat_port 为该节点的心跳端口
 3. 增加和删除节点为同步操作。这两种操作不考虑节点上已有的数据,节点直接从元数据中删除,请谨慎使用。
 
 ### Example
@@ -59,12 +55,6 @@ ALTER SYSTEM ADD BACKEND
     ALTER SYSTEM ADD BACKEND "host:port";
     ```
 
- 1. 增加一个空闲节点
-    
-    ```sql
-    ALTER SYSTEM ADD FREE BACKEND "host:port";
-    ```
-
 ### Keywords
 
     ALTER, SYSTEM, ADD, BACKEND, ALTER SYSTEM
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-MODIFY-BACKEND.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-MODIFY-BACKEND.md
index 61ca1ead029..c0b9941e2e8 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-MODIFY-BACKEND.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Cluster-Management-Statements/ALTER-SYSTEM-MODIFY-BACKEND.md
@@ -47,27 +47,31 @@ ALTER SYSTEM MODIFY BACKEND "host:heartbeat_port" SET 
("key" = "value"[, ...]);
 2. heartbeat_port 为该节点的心跳端口
 3. 修改 BE 节点属性目前支持以下属性:
 
-- tag.location:资源标签
+- tag.xxx:资源标签
 - disable_query: 查询禁用属性
 - disable_load: 导入禁用属性        
 
+注:
+1. 可以给一个 Backend 设置多种资源标签。但必须包含 "tag.location"。
+
 ### Example
 
 1. 修改 BE 的资源标签
 
    ```sql
-   ALTER SYSTEM MODIFY BACKEND "host1:9050" SET ("tag.location" = "group_a");
+   ALTER SYSTEM MODIFY BACKEND "host1:heartbeat_port" SET ("tag.location" = 
"group_a");
+   ALTER SYSTEM MODIFY BACKEND "host1:heartbeat_port" SET ("tag.location" = 
"group_a", "tag.compute" = "c1");
    ```
 
 2. 修改 BE 的查询禁用属性
    
    ```sql
-   ALTER SYSTEM MODIFY BACKEND "host1:9050" SET ("disable_query" = "true");
+   ALTER SYSTEM MODIFY BACKEND "host1:heartbeat_port" SET ("disable_query" = 
"true");
    ```
 3. 修改 BE 的导入禁用属性
    
    ```sql
-   ALTER SYSTEM MODIFY BACKEND "host1:9050" SET ("disable_load" = "true");
+   ALTER SYSTEM MODIFY BACKEND "host1:heartbeat_port" SET ("disable_load" = 
"true");
    ```
 ### Keywords
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-BITMAP.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-BITMAP.md
index 9dee21879da..9a960f2f750 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-BITMAP.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-BITMAP.md
@@ -80,7 +80,7 @@ ALTER TABLE table1 DROP INDEX [IF EXISTS] index_name;
 ### Keywords
 
 ```text
-ALTER, TABLE, BITMAP, ALTER TABLE
+ALTER, TABLE, BITMAP, INDEX, ALTER TABLE
 ```
 
 ### Best Practice
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-COMMENT.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-COMMENT.md
index 85db7fd5b1d..29047ee86f9 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-COMMENT.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-COMMENT.md
@@ -77,3 +77,4 @@ ALTER, TABLE, COMMENT, ALTER TABLE
 ```
 
 ### Best Practice
+
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PARTITION.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PARTITION.md
index 975e80670a9..33776d02ad8 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PARTITION.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PARTITION.md
@@ -60,8 +60,8 @@ partition_desc ["key"="value"]
   - VALUES LESS THAN [MAXVALUE|("value1", ...)]
   - VALUES [("value1", ...), ("value1", ...))
 - 分区为左闭右开区间,如果用户仅指定右边界,系统会自动确定左边界
-- 如果没有指定分桶方式,则自动使用建表使用的分桶方式
-- 如指定分桶方式,只能修改分桶数,不可修改分桶方式或分桶列
+- 如果没有指定分桶方式,则自动使用建表使用的分桶方式和分桶数。
+- 
如指定分桶方式,只能修改分桶数,不可修改分桶方式或分桶列。如果指定了分桶方式,但是没有指定分桶数,则分桶数会使用默认值10,不会使用建表时指定的分桶数。如果要指定分桶数,则必须指定分桶方式。
 - ["key"="value"] 部分可以设置分区的一些属性,具体说明见 [CREATE 
TABLE](./sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md)
 - 如果建表时用户未显式创建Partition,则不支持通过ALTER的方式增加分区
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PROPERTY.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PROPERTY.md
index c7d73226d00..ba430e3dcf3 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PROPERTY.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-PROPERTY.md
@@ -78,7 +78,13 @@ ALTER TABLE example_db.my_table set 
("dynamic_partition.enable" = "false");
    (注:非分区表不支持添加动态分区属性)
 
 ```sql
-ALTER TABLE example_db.my_table set ("dynamic_partition.enable" = "true", 
"dynamic_partition.time_unit" = "DAY", "dynamic_partition.end" = "3", 
"dynamic_partition.prefix" = "p", "dynamic_partition.buckets" = "32");
+ALTER TABLE example_db.my_table set (
+  "dynamic_partition.enable" = "true", 
+  "dynamic_partition.time_unit" = "DAY", 
+  "dynamic_partition.end" = "3", 
+  "dynamic_partition.prefix" = "p", 
+  "dynamic_partition.buckets" = "32"
+);
 ```
 
 5. 修改表的 in_memory 属性
@@ -93,23 +99,34 @@ ALTER TABLE example_db.my_table set ("in_memory" = "true");
 ALTER TABLE example_db.my_table ENABLE FEATURE "BATCH_DELETE";
 ```
 
+注意:
+
+- 只能用在unique 表
+- 用于旧表支持批量删除功能,新表创建时已经支持
+
 7. 启用按照sequence column的值来保证导入顺序的功能
 
 ```sql
-ALTER TABLE example_db.my_table ENABLE FEATURE "SEQUENCE_LOAD" WITH PROPERTIES 
("function_column.sequence_type" = "Date");
+ALTER TABLE example_db.my_table ENABLE FEATURE "SEQUENCE_LOAD" WITH PROPERTIES 
(
+  "function_column.sequence_type" = "Date"
+);
 ```
 
+注意:
+
+- 只能用在unique 表
+- sequence_type用来指定sequence列的类型,可以为整型和时间类型
+- 只支持新导入数据的有序性,历史数据无法更改
+
 8. 将表的默认分桶数改为50
 
 ```sql
 ALTER TABLE example_db.my_table MODIFY DISTRIBUTION DISTRIBUTED BY HASH(k1) 
BUCKETS 50;
 ```
 
-9. 将表的分桶方式由 Hash Distribution 改为 Random Distribution
+注意:
 
-```sql
-ALTER TABLE example_db.my_table set ("distribution_type" = "random");
-```
+- 只能用在分区类型为RANGE,采用哈希分桶的非colocate表
 
 9. 修改表注释
 
@@ -125,16 +142,34 @@ ALTER TABLE example_db.my_table MODIFY COLUMN k1 COMMENT 
"k1", MODIFY COLUMN k2
 
 11. 修改引擎类型
 
+    仅支持将 MySQL 类型修改为 ODBC 类型。driver 的值为 odbc.init 配置中的 driver 名称。
+
 ```sql
 ALTER TABLE example_db.mysql_table MODIFY ENGINE TO odbc PROPERTIES("driver" = 
"MySQL");
 ```
 
+12. 修改副本数
+
+```sql
+ALTER TABLE example_db.mysql_table SET ("replication_num" = "2");
+ALTER TABLE example_db.mysql_table SET ("default.replication_num" = "2");
+ALTER TABLE example_db.mysql_table SET ("replication_allocation" = 
"tag.location.tag1: 1");
+ALTER TABLE example_db.mysql_table SET ("default.replication_allocation" = 
"tag.location.tag1: 1");
+```
+
+注:
+1. default 前缀的属性表示修改表的默认副本分布。这种修改不会修改表的当前实际副本分布,而只影响分区表上新建分区的副本分布。
+2. 对于非分区表,修改不带 default 前缀的副本分布属性,会同时修改表的默认副本分布和实际副本分布。即修改后,通过 `show create 
table` 和 `show partitions from tbl` 语句可以看到副本分布数据都被修改了。
+3. 对于分区表,表的实际副本分布是分区级别的,即每个分区有自己的副本分布,可以通过 `show partitions from tbl` 
语句查看。如果想修改实际副本分布,请参阅 `ALTER TABLE PARTITION`。
+
 ### Example
 
 1. 修改表的 bloom filter 列
 
 ```sql
-ALTER TABLE example_db.my_table SET ("bloom_filter_columns"="k1,k2,k3");
+ALTER TABLE example_db.my_table SET (
+  "bloom_filter_columns"="k1,k2,k3"
+);
 ```
 
 也可以合并到上面的 schema change 操作中(注意多子句的语法有少许区别)
@@ -142,7 +177,9 @@ ALTER TABLE example_db.my_table SET 
("bloom_filter_columns"="k1,k2,k3");
 ```sql
 ALTER TABLE example_db.my_table
 DROP COLUMN col2
-PROPERTIES ("bloom_filter_columns"="k1,k2,k3");
+PROPERTIES (
+  "bloom_filter_columns"="k1,k2,k3"
+);
 ```
 
 2. 修改表的Colocate 属性
@@ -154,20 +191,30 @@ ALTER TABLE example_db.my_table set ("colocate_with" = 
"t1");
 3. 将表的分桶方式由 Hash Distribution 改为 Random Distribution
 
 ```sql
-ALTER TABLE example_db.my_table set ("distribution_type" = "random");
+ALTER TABLE example_db.my_table set (
+  "distribution_type" = "random"
+);
 ```
 
 4. 修改表的动态分区属性(支持未添加动态分区属性的表添加动态分区属性)
 
 ```sql
-ALTER TABLE example_db.my_table set ("dynamic_partition.enable" = "false");
+ALTER TABLE example_db.my_table set (
+  "dynamic_partition.enable" = "false"
+);
 ```
 
 如果需要在未添加动态分区属性的表中添加动态分区属性,则需要指定所有的动态分区属性
    (注:非分区表不支持添加动态分区属性)
 
 ```sql
-ALTER TABLE example_db.my_table set ("dynamic_partition.enable" = "true", 
"dynamic_partition.time_unit" = "DAY", "dynamic_partition.end" = "3", 
"dynamic_partition.prefix" = "p", "dynamic_partition.buckets" = "32");
+ALTER TABLE example_db.my_table set (
+  "dynamic_partition.enable" = "true", 
+  "dynamic_partition.time_unit" = "DAY", 
+  "dynamic_partition.end" = "3", 
+  "dynamic_partition.prefix" = "p", 
+  "dynamic_partition.buckets" = "32"
+);
 ```
 
 5. 修改表的 in_memory 属性
@@ -185,7 +232,9 @@ ALTER TABLE example_db.my_table ENABLE FEATURE 
"BATCH_DELETE";
 7. 启用按照sequence column的值来保证导入顺序的功能
 
 ```sql
-ALTER TABLE example_db.my_table ENABLE FEATURE "SEQUENCE_LOAD" WITH PROPERTIES 
("function_column.sequence_type" = "Date");
+ALTER TABLE example_db.my_table ENABLE FEATURE "SEQUENCE_LOAD" WITH PROPERTIES 
(
+  "function_column.sequence_type" = "Date"
+);
 ```
 
 8. 将表的默认分桶数改为50
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-REPLACE.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-REPLACE.md
index ebe8e1ab8e6..cda6b472dcf 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-REPLACE.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-REPLACE.md
@@ -1,11 +1,11 @@
 ---
 {
-    "title": "ALTER-TABLE-REPLACE",
+    "title": "ALTER-TABLE-REPLACE-COLUMN",
     "language": "zh-CN"
 }
 ---
 
-<!--
+<!-- 
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
@@ -32,19 +32,46 @@ ALTER TABLE REPLACE
 
 ### Description
 
-该语句用于对已有 table 的 Schema 的进行属性的修改操作。语法基本类似于 [ALTER TABLE 
CULUMN](ALTER-TABLE-COLUMN.md)。
+对两个表进行原子的替换操作。 该操作仅适用于 OLAP 表。
 
 ```sql
-ALTER TABLE [database.]table MODIFY NEW_COLUMN_INFO REPLACE OLD_COLUMN_INFO ;
+ALTER TABLE [db.]tbl1 REPLACE WITH TABLE tbl2
+[PROPERTIES('swap' = 'true')];
 ```
 
+将表 tbl1 替换为表 tbl2。
+
+如果 `swap` 参数为 `true`,则替换后,名称为 `tbl1` 表中的数据为原 `tbl2` 表中的数据。而名称为 `tbl2` 表中的数据为原 
`tbl1` 表中的数据。即两张表数据发生了互换。
+
+如果 `swap` 参数为 `false`,则替换后,名称为 `tbl1` 表中的数据为原 `tbl2` 表中的数据。而名称为 `tbl2` 表被删除。
+
+#### 原理
+
+替换表功能,实际上是将以下操作集合变成一个原子操作。
+
+假设要将表 A 替换为表 B,且 `swap` 为 `true`,则操作如下:
+
+1. 将表 B 重名为表 A。
+2. 将表 A 重名为表 B。
+
+如果 `swap` 为 `false`,则操作如下:
+
+1. 删除表 A。
+2. 将表 B 重名为表 A。
+
+#### 注意事项
+1. `swap` 参数默认为 `true`。即替换表操作相当于将两张表数据进行交换。
+2. 如果设置 `swap` 参数为 `false`,则被替换的表(表A)将被删除,且无法恢复。
+3. 替换操作仅能发生在两张 OLAP 表之间,且不会检查两张表的表结构是否一致。
+4. 替换操作不会改变原有的权限设置。因为权限检查以表名称为准。
+
 ### Example
 
-1. 修改 base index 的 val1 列最大长度。原 val1 为 (val1 VARCHAR(32) REPLACE DEFAULT "abc")
+1. 将 `tbl1` 与 `tbl2` 进行交换,不删除 `tbl1` 表
 
 ```sql
-ALTER TABLE example_db.my_table
-MODIFY COLUMN val1 VARCHAR(64) REPLACE DEFAULT "abc";
+ALTER TABLE tbl1 REPLACE WITH TABLE tbl2
+    [PROPERTIES('swap' = 'true')];
 ```
 
 ### Keywords
@@ -54,4 +81,6 @@ ALTER, TABLE, REPLACE, ALTER TABLE
 ```
 
 ### Best Practice
+1. 原子的覆盖写操作
 
+   某些情况下,用户希望能够重写某张表的数据,但如果采用先删除再导入的方式进行,在中间会有一段时间无法查看数据。这时,用户可以先使用 `CREATE 
TABLE LIKE` 语句创建一个相同结构的新表,将新的数据导入到新表后,通过替换操作,原子的替换旧表,以达到目的。分区级别的原子覆盖写操作,请参阅 
[临时分区文档](../partition/table-tmp-partition.md)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-ROLLUP.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-ROLLUP.md
index d3f77cd4599..05ec959bd7e 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-ROLLUP.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-TABLE-ROLLUP.md
@@ -52,6 +52,8 @@ ADD ROLLUP rollup_name (column_name1, column_name2, ...)
 [PROPERTIES ("key"="value", ...)]
 ```
 
+ properties: 支持设置超时时间,默认超时时间为1天。
+
 2. 批量创建 rollup index
 
 语法:
@@ -120,6 +122,13 @@ ALTER TABLE example_db.my_table
 DROP ROLLUP example_rollup_index2;
 ```
 
+5. 批量删除Rollup
+
+```sql
+ALTER TABLE example_db.my_table
+DROP ROLLUP example_rollup_index2,example_rollup_index3;
+```
+
 ### Keywords
 
 ```text
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/BACKUP.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/BACKUP.md
index cc384e18a33..de766279dde 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/BACKUP.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/BACKUP.md
@@ -32,7 +32,11 @@ BACKUP
 
 ### Description
 
-该语句用于备份指定数据库下的数据。该命令为异步操作。提交成功后,需通过 SHOW BACKUP 命令查看进度。仅支持备份 OLAP 类型的表。
+该语句用于备份指定数据库下的数据。该命令为异步操作。
+
+仅 root 或 superuser 用户可以创建仓库。
+
+提交成功后,需通过 SHOW BACKUP 命令查看进度。仅支持备份 OLAP 类型的表。
 
 语法:
 
@@ -143,6 +147,8 @@ PROPERTIES
 );
 ```
 
+
+
 ### Keywords
 
 ```text
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/RESTORE.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/RESTORE.md
index c9ef66be9a7..2f912c6b927 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/RESTORE.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Backup-and-Restore/RESTORE.md
@@ -56,6 +56,7 @@ PROPERTIES ("key"="value", ...);
 - PROPERTIES 目前支持以下属性:
   -  "backup_timestamp" = "2018-05-04-16-45-08":指定了恢复对应备份的哪个时间版本,必填。该信息可以通过 
`SHOW SNAPSHOT ON repo;` 语句获得。
   - "replication_num" = 
"3":指定恢复的表或分区的副本数。默认为3。若恢复已存在的表或分区,则副本数必须和已存在表或分区的副本数相同。同时,必须有足够的 host 容纳多个副本。
+  - "reserve_replica" = "true":默认为 false。当该属性为 true 时,会忽略 replication_num 
属性,恢复的表或分区的副本数将与备份之前一样。支持多个表或表内多个分区有不同的副本数。
   - "timeout" = "3600":任务超时时间,默认为一天。单位秒。
   - "meta_version" = 40:使用指定的 meta_version 来读取之前备份的元数据。注意,该参数作为临时方案,仅用于恢复老版本 
Doris 备份的数据。最新版本的备份数据中已经包含 meta version,无需再指定。     
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE-AS-SELECT.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE-AS-SELECT.md
index 21f15a3a8b1..82938f93159 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE-AS-SELECT.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE-AS-SELECT.md
@@ -38,14 +38,22 @@ CREATE TABLE AS SELECT
 
 ```sql
 CREATE TABLE table_name [( column_name_list )]
-opt_engine opt_partition opt_properties KW_AS query_stmt
+    opt_engine:engineName
+    opt_keys:keys
+    opt_comment:tableComment
+    opt_partition:partition
+    opt_distribution:distribution
+    opt_rollup:index
+    opt_properties:tblProperties
+    opt_ext_properties:extProperties
+    KW_AS query_stmt:query_def
  ```
 
 说明: 
 
-- 暂时不支持`decimal`类型的字段
 - 用户需要拥有来源表的`SELECT`权限和目标库的`CREATE`权限
 - 创建表成功后,会进行数据导入,如果导入失败,将会删除表
+- 可以自行指定 key type,默认为`Duplicate Key`
 
 ### Example
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
index 0bb5a9d2a44..c9cbcf78be8 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
@@ -28,7 +28,7 @@ under the License.
 
 ### Description
 
-该命令用于创建一张表。本文档主语介绍创建 Doris 自维护的表的语法。外部表语法请参阅 
[CREATE-EXTERNAL-TABLE](./CREATE-EXTERNAL-TABLE.md)文档。
+该命令用于创建一张表。本文档主要介绍创建 Doris 自维护的表的语法。外部表语法请参阅 
[CREATE-EXTERNAL-TABLE](./CREATE-EXTERNAL-TABLE.md)文档。
 
 ```sql
 CREATE TABLE [IF NOT EXISTS] [database.]table
@@ -40,7 +40,7 @@ CREATE TABLE [IF NOT EXISTS] [database.]table
 [keys_type]
 [table_comment]
 [partition_info]
-distribution_info
+distribution_desc
 [rollup_list]
 [properties]
 [extra_properties]
@@ -91,8 +91,6 @@ distribution_info
                 定长字符串。长度范围:1 ~ 255。默认为1
             VARCHAR[(length)]
                 变长字符串。长度范围:1 ~ 65533。默认为1
-            STRING
-                变长字符串。最大(默认)支持1048576 字节(1MB)。String类型的长度还受 be 配置  
`string_type_length_soft_limit_bytes`, 实际能存储的最大长度 取两者最小值,String类型只能用在value 
列,不能用在 key 列和分区 分桶列
             HLL (1~16385个字节)
                 HyperLogLog 列类型,不需要指定长度和默认值。长度根据数据的聚合程度系统内控制。
                 必须配合 HLL_UNION 聚合类型使用。
@@ -126,14 +124,14 @@ distribution_info
             1. 用户指定固定值,如:
 
             ```SQL
-            k1 INT DEFAULT '1',
-            k2 CHAR(10) DEFAULT 'aaaa'
+               k1 INT DEFAULT '1',
+                k2 CHAR(10) DEFAULT 'aaaa'
             ```
             2. 系统提供的关键字,目前支持以下关键字:
             
             ```SQL
-            // 只用于DATETIME类型,导入数据缺失该值时系统将赋予当前时间
-            dt DATETIME DEFAULT CURRENT_TIMESTAMP
+                // 只用于DATETIME类型,导入数据缺失该值时系统将赋予当前时间
+                dt DATETIME DEFAULT CURRENT_TIMESTAMP
             ```
 
         
@@ -231,16 +229,10 @@ distribution_info
 
 * `distribution_desc`
   
-    1. Hash 分桶 语法: `DISTRIBUTED BY HASH (k1[,k2 ...]) [BUCKETS num]` 
+    定义数据分桶方式。
 
-       说明: 使用指定的 key 列进行哈希分桶。 
+    `DISTRIBUTED BY HASH (k1[,k2 ...]) [BUCKETS num]`
 
-    1. Random 分桶 语法: `DISTRIBUTED BY RANDOM [BUCKETS num]` 
-
-    ​       说明: 使用随机数进行分桶
-  
-    建议: 当没有合适的key做哈希分桶使得表的数据均匀分布的时候,建议使用RANDOM分桶方式。
-  
 * `rollup_list`
 
     建表的同时可以创建多个物化视图(ROLLUP)。
@@ -306,22 +298,37 @@ distribution_info
         这个属性设置成 `true`, Doris 会尽量将该表的数据块缓存在存储引擎的 PageCache 
中,已减少磁盘IO。但这个属性不会保证数据块常驻在内存中,仅作为一种尽力而为的标识。
 
         `"in_memory" = "true"`
-    *  `compression`
+
+    * `compression`
 
         Doris 表的默认压缩方式是 LZ4。1.1版本后,支持将压缩方式指定为ZSTD以获得更高的压缩比。
 
-        "compression"="zstd"
+        `"compression"="zstd"`
 
     * `function_column.sequence_type`
 
         当使用 UNIQUE KEY 模型时,可以指定一个sequence列,当KEY列相同时,将按照 sequence 列进行 
REPLACE(较大值替换较小值,否则无法替换)
 
         这里我们仅需指定顺序列的类型,支持时间类型或整型。Doris 会创建一个隐藏的顺序列。
-
+    
         `"function_column.sequence_type" = 'Date'`
+    
+    * `light_schema_change`
 
-    * 动态分区相关
+        Doris默认不使用light schema change优化。如果想使用该优化需要指定为true。
+    
+        `"light_schema_change" = 'true'`
+    
+    * `disable_auto_compaction`
+
+        是否对这个表禁用自动compaction。
+
+        如果这个属性设置成 `true`, 后台的自动compaction进程会跳过这个表的所有tablet。
 
+        `"disable_auto_compaction" = "false"`
+
+    * 动态分区相关
+    
         动态分区相关参数如下:
     
         * `dynamic_partition.enable`: 用于指定表级别的动态分区功能是否开启。默认为 true。
@@ -333,9 +340,9 @@ distribution_info
         * `dynamic_partition.create_history_partition`: 是否创建历史分区。
         * `dynamic_partition.history_partition_num`: 指定创建历史分区的数量。
         * `dynamic_partition.reserved_history_periods`: 用于指定保留的历史分区的时间段。
-
+    
     * 数据排序相关
-
+    
         数据排序相关参数如下:
     
         * `data_sort.sort_type`: 数据排序使用的方法,目前支持两种:lexical/z-order,默认是lexical
@@ -542,8 +549,8 @@ distribution_info
     PROPERTIES (
         "replication_allocation"="tag.location.group_a:1, 
tag.location.group_b:2"
     );
-
-
+    ```
+    ```sql
     CREATE TABLE example_db.dynamic_partition
     (
         k1 DATE,
@@ -570,7 +577,7 @@ distribution_info
 
 ### Best Practice
 
-#### **1. 分区和分桶**
+#### 分区和分桶
 
 一个表必须指定分桶列,但可以不指定分区。关于分区和分桶的具体介绍,可参阅 
[数据划分](../../../../data-table/data-partition.md) 文档。
 
@@ -580,11 +587,11 @@ Doris 中的表可以分为分区表和无分区的表。这个属性在建表
 
 所以建议在建表前,先确认使用方式来进行合理的建表。
 
-#### **2. 动态分区**
+#### 动态分区
 
 动态分区功能主要用于帮助用户自动的管理分区。通过设定一定的规则,Doris 系统定期增加新的分区或删除历史分区。可参阅 
[动态分区](../../../../advanced/partition/dynamic-partition.md) 文档查看更多帮助。
 
-#### **3. 物化视图**
+#### 物化视图
 
 用户可以在建表的同时创建多个物化视图(ROLLUP)。物化视图也可以在建表之后添加。写在建表语句中可以方便用户一次性创建所有物化视图。
 
@@ -594,12 +601,12 @@ Doris 中的表可以分为分区表和无分区的表。这个属性在建表
 
 关于物化视图的介绍,请参阅文档 [物化视图](../../../../advanced/materialized-view.md)。
 
-#### **4. 索引**
+#### 索引
 
 用户可以在建表的同时创建多个列的索引。索引也可以在建表之后再添加。
 
 如果在之后的使用过程中添加索引,如果表中已有数据,则需要重写所有数据,因此索引的创建时间取决于当前数据量。
 
-#### **5. in_memory 属性**
+#### in_memory 属性
 
 当建表时指定了 `"in_memory" = "true"` 属性。则 Doris 会尽量将该表的数据块缓存在存储引擎的 PageCache 
中,已减少磁盘IO。但这个属性不会保证数据块常驻在内存中,仅作为一种尽力而为的标识。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Drop/DROP-TABLE.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Drop/DROP-TABLE.md
index 0acb800c4c3..6a46b0e3e98 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Drop/DROP-TABLE.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Data-Definition-Statements/Drop/DROP-TABLE.md
@@ -42,7 +42,7 @@ DROP TABLE [IF EXISTS] [db_name.]table_name [FORCE];
 
 说明:
 
-- 执行 DROP TABLE 一段时间内,可以通过 RECOVER 语句恢复被删除的表。详见 
[RECOVER](../../Database-Administration-Statements/RECOVER.md) 语句
+- 执行 DROP TABLE 一段时间内,可以通过 RECOVER 语句恢复被删除的表。详见 
[RECOVER](../../Data-Definition-Statements/Backup-and-Restore/RECOVER.md) 语句
 - 如果执行 DROP TABLE FORCE,则系统不会检查该表是否存在未完成的事务,表将直接被删除并且不能被恢复,一般不建议执行此操作
 
 ### Example
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md
new file mode 100644
index 00000000000..6ea8835e1e1
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md
@@ -0,0 +1,101 @@
+---
+{
+    "title": "ADMIN-COPY-TABLET",
+    "language": "zh-CN"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## ADMIN-COPY-TABLET
+
+### Name
+
+ADMIN COPY TABLET
+
+### Description
+
+该语句用于为指定的 tablet 制作快照,主要用于本地加载 tablet 来复现问题。
+
+语法:
+
+```sql
+ADMIN COPY TABLET tablet_id PROPERTIES("xxx");
+```
+
+说明:
+
+该命令需要 ROOT 权限。
+
+PROPERTIES 支持如下属性:
+
+1. backend_id:指定副本所在的 BE 节点的 id。如果不指定,则随机选择一个副本。
+
+2. version:指定快照的版本。该版本需小于等于副本的最大版本。如不指定,则使用最大版本。
+
+3. expiration_minutes:快照保留时长。默认为1小时。超时后会自动清理。单位分钟。
+
+结果展示如下:
+
+```
+         TabletId: 10020
+        BackendId: 10003
+               Ip: 192.168.10.1
+             Path: /path/to/be/storage/snapshot/20220830101353.2.3600
+ExpirationMinutes: 60
+  CreateTableStmt: CREATE TABLE `tbl1` (
+  `k1` int(11) NULL,
+  `k2` int(11) NULL
+) ENGINE=OLAP
+DUPLICATE KEY(`k1`, `k2`)
+DISTRIBUTED BY HASH(k1) BUCKETS 1
+PROPERTIES (
+"replication_num" = "1",
+"version_info" = "2"
+);
+```
+
+* TabletId: tablet id
+* BackendId: BE 节点 id
+* Ip: BE 节点 ip
+* Path: 快照所在目录
+* ExpirationMinutes: 快照过期时间
+* CreateTableStmt: tablet 对应的表的建表语句。该语句不是原始的建表语句,而是用于之后本地加载 tablet 的简化后的建表语句。
+
+### Example
+
+1. 对指定 BE 节点上的副本做快照
+
+    ```sql
+    ADMIN COPY TABLET 10010 PROPERTIES("backend_id" = "10001");
+    ```
+
+2. 对指定 BE 节点上的副本,做指定版本的快照
+
+    ```sql
+    ADMIN COPY TABLET 10010 PROPERTIES("backend_id" = "10001", "version" = 
"10");
+    ```
+
+### Keywords
+
+    ADMIN, COPY, TABLET
+
+### Best Practice
+
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-DIAGNOSE-TABLET.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-DIAGNOSE-TABLET.md
index 779df359694..b6f30dc85bb 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-DIAGNOSE-TABLET.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-DIAGNOSE-TABLET.md
@@ -1,11 +1,11 @@
 ---
 {
-    "title": "ADMIN-DIAGNOSE-TABLET",
+    "title": "ADMIN DIAGNOSE TABLET",
     "language": "zh-CN"
 }
 ---
 
-<!--
+<!-- 
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
@@ -13,9 +13,7 @@ regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at
-
   http://www.apache.org/licenses/LICENSE-2.0
-
 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -24,17 +22,17 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-# ADMIN DIAGNOSE TABLET
-## description
+## ADMIN DIAGNOSE TABLET
+### Description
 
     该语句用于诊断指定 tablet。结果中将显示这个 tablet 的信息和一些潜在的问题。
-    
+
     语法:
-    
+
         ADMIN DIAGNOSE TABLET tblet_id
-    
+
     说明:
-    
+
         结果中的各行信息如下:
         1. TabletExist:                         Tablet是否存在
         2. TabletId:                            Tablet ID
@@ -49,11 +47,11 @@ under the License.
         11.ReplicaStatus:                       副本状态是否正常。
         12.ReplicaCompactionStatus:             副本 Compaction 状态是否正常。
 
-## example
+### Example
 
     1. 查看 Tablet 10001 的诊断结果
-    
+
         ADMIN DIAGNOSE TABLET 10001;
 
-## keyword
+### keywords
     ADMIN,DIAGNOSE,TABLET
diff --git a/sidebars.json b/sidebars.json
index 788118ac829..c2e401b8acb 100644
--- a/sidebars.json
+++ b/sidebars.json
@@ -641,6 +641,7 @@
                             "items": [
                                 
"sql-manual/sql-reference/Database-Administration-Statements/ADMIN-CANCEL-REPAIR",
                                 
"sql-manual/sql-reference/Database-Administration-Statements/ADMIN-CHECK-TABLET",
+                                
"sql-manual/sql-reference/Database-Administration-Statements/AADMIN-COPY-TABLET",
                                 
"sql-manual/sql-reference/Database-Administration-Statements/ADMIN-REPAIR-TABLE",
                                 
"sql-manual/sql-reference/Database-Administration-Statements/ADMIN-SET-CONFIG",
                                 
"sql-manual/sql-reference/Database-Administration-Statements/ADMIN-SET-REPLICA-STATUS",


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to