The EXPORT_INDEX_STATS procedure retrieves the statistics of a specified index and stores them in a statistics table.
Applicability
This topic applies only to OceanBase Database Enterprise Edition. OceanBase Database Community Edition provides only the MySQL mode.
Syntax
DBMS_STATS.EXPORT_INDEX_STATS (
ownname VARCHAR2,
indname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,
stattab VARCHAR2,
statid VARCHAR2 DEFAULT NULL,
statown VARCHAR2 DEFAULT NULL),
tabname VARCHAR2 DEFAULT NULL;
Parameter description
| Parameter | Description |
|---|---|
| ownname | Username. If ownname is set to NULL, the username that is logged in currently is used by default. |
| indname | Index name. |
| partname | Partition name of the index. If the index is partitioned and partname is NULL, the statistics of global and partition indexes are exported. |
| stattab | Name of the table that stores the statistics. |
| statown | Username of the user who owns the table that stores the statistics. |
| tabname | Table name. |
Error codes
The error code ORA-20000 indicates that the specified object does not exist or you do not have sufficient privileges.
Considerations
You must own the table to call this procedure. You can also call this procedure on a table owned by another user if you have the
SYSDBAprivilege.You cannot export statistics from a database with one character set to a database with another character set.
Example
Export the statistics of the idx1 index of the tbl1 table owned by the testUser01 user to the test_stat table.
obclient> CALL DBMS_STATS.EXPORT_INDEX_STATS('testUser01', 'idx1',stattab=>'test_stat', tabname=>'tbl1');
Query OK, 0 rows affected
Note
In the Oracle mode of OceanBase Database, you do not need to specify the tabname parameter, because indexes of the current user are unique. In the MySQL mode, you must specify the table name in the statistics export procedure, because indexes of the current user can be non-unique.