OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

Product Overview
DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

Product Overview
DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Database

SQL - V4.2.1

    Download PDF

    OceanBase logo

    The Unified Distributed Database for the AI Era.

    Follow Us
    Products
    OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
    Resources
    DocsBlogLive DemosTraining & CertificationTicket
    Company
    About OceanBaseTrust CenterLegalPartnerContact Us
    Follow Us

    © OceanBase 2026. All rights reserved

    Cloud Service AgreementPrivacy PolicySecurity
    Contact Us
    Document Feedback
    1. Documentation Center
    2. OceanBase Database
    3. SQL
    4. V4.2.1
    iconOceanBase Database
    SQL - V 4.2.1
    SQL
    KV
    • V 4.6.0
    • V 4.4.2
    • V 4.3.5
    • V 4.3.3
    • V 4.3.1
    • V 4.3.0
    • V 4.2.5
    • V 4.2.2
    • V 4.2.1
    • V 4.2.0
    • V 4.1.0
    • V 4.0.0
    • V 3.1.4 and earlier

    GATHER_SCHEMA_STATS

    Last Updated:2026-04-28 09:23:26  Updated
    share
    What is on this page
    Syntax
    Parameters
    Exceptions
    Considerations
    Examples

    folded

    share

    The GATHER_SCHEMA_STATS procedure collects the statistics on all objects of the specified user.

    Applicability

    This topic applies only to OceanBase Database Enterprise Edition. OceanBase Database Community Edition provides only the MySQL mode.

    Syntax

    DBMS_STATS.GATHER_SCHEMA_STATS (
      ownname            VARCHAR2,
      estimate_percent   NUMBER DEFAULT AUTO_SAMPLE_SIZE,
      block_sample       BOOLEAN DEFAULT FALSE,
      method_opt         VARCHAR2 DEFAULT DEFAULT_METHOD_OPT,
      degree             NUMBER DEFAULT NULL,
      granularity        VARCHAR2 DEFAULT DEFAULT_GRANULARITY,
      cascade            BOOLEAN DEFAULT NULL,
      no_invalidate      BOOLEAN DEFAULT FALSE,
      stattype           VARCHAR2 DEFAULT 'DATA',
      force              BOOLEAN DEFAULT FALSE);
    

    Parameters

    Parameter
    Description
    ownname The name of the user. If the username is set to NULL, the current logon username is used by default.
    estimate_percent The percentage of rows to be estimated. Value range: [0.000001,100].
    block_sample Specifies whether to use random block sampling (TRUE) or random row sampling (FALSE) for the database. Default value: FALSE. Random block sampling is more efficient, but sample values may be correlated if data is not randomly distributed on the disk.
    method_opt You can use only the FOR ALL syntax when setting global preferences or preferences at the schema, database, or dictionary level. Other than that, you can choose either or both of the following options for method_opt:
    • FOR ALL [INDEXED \| HIDDEN] COLUMNS [size_clause]
    • FOR COLUMNS [column_clause] size_clause is defined as size_clause := SIZE {integer \| REPEAT \| AUTO \| SKEWONLY}. column_clause is defined as column_clause := column_name \| extension name \| extension.
    • integer: the number of histogram buckets. Valid range: [1,2048].
    • REPEAT: collects histograms only on columns with histograms.
    • AUTO: determines the columns on which histograms are to be collected based on the data distribution and workloads of columns.
    • SKEWONLY: determines the columns on which histograms are to be collected based on the data distribution of columns.
    • column_name: the column name.
    • extension: the name extension, which can be an expression or a column group in the format of (column_name, column_name [, ...]).
    Default value: FOR ALL COLUMNS SIZE AUTO.
    degree The degree of parallelism (DOP). Default value: NULL. NULL indicates that the default table DOP specified in the DEGREE clause of the CREATE TABLE or ALTER TABLE statement is used. When DEGREE=>NULL or DEGREE=>n is specified, DBMS_STATS may adopt serial execution if parallel execution cannot be guaranteed due to the object size.
    granularity The granularity of statistics to be collected (applicable only when the table is partitioned).
    • ALL: collects all statistics, including subpartition-level, partition-level, and global statistics.
    • APPROX_GLOBAL AND PARTITION: This option is similar to GLOBAL AND PARTITION. However, when this option is specified, global statistics are a summary of partition-level statistics. This option summarizes all statistics other than the number of distinct values and the number of distinct keys of indexes. However, it summarizes only the partitions with statistics. It collects global statistics if partname is NULL or summary fails, for example, statistics on a partition are missing.
    • AUTO: determines the granularity based on the partition type. This is the default value.
    • DEFAULT: collects global and partition-level statistics. This option is deprecated. We recommend that you use GLOBAL AND PARTITION.
    • GLOBAL: collects global statistics.
    • GLOBAL AND PARTITION: collects global and partition-level statistics. Statistics at the subpartition level will not be collected even for composite partitioned objects.
    • PARTITION: collects partition-level statistics.
    • SUBPARTITION: collects subpartition-level statistics.
    cascade Specifies to collect index statistics besides table and column statistics, which is equivalent to running the GATHER_INDEX_STATS procedure on each index in the schema.
    no_invalidate Specifies whether to refresh the plan cache when statistics are collected. If you set the value to TRUE, the plan cache is not refreshed when statistics are collected.
    stattype The location where statistics are stored.
    force Specifies whether to perform forced collection and ignore the lock status. Default value: FALSE. If you set the value to TRUE, statistics will be collected even if they are locked.

    Exceptions

    Error code
    Description
    ORA-20000 The user does not exist, or you do not have the required privileges.
    ORA-20001 The input value is incorrect.

    Considerations

    To call this procedure, you must be the owner of the table. For objects in the sys tenant, you must be the owner of the table or have the SYSDBA privilege to call this procedure.

    Procedures with parameters whose values are TRUE or FALSE must be executed in the BEGIN ... END block.

    Examples

    Collect the statistics on all tables of the hr user.

    obclient> BEGIN
        DBMS_STATS.GATHER_SCHEMA_STATS ('hr', degree=>64,no_invalidate=>TRUE);
        END;
    Query OK, 0 rows affected
    

    Previous topic

    GATHER_TABLE_STATS
    Last

    Next topic

    GET_STATS_HISTORY_AVAILABILITY
    Next
    What is on this page
    Syntax
    Parameters
    Exceptions
    Considerations
    Examples