ANSI 和 ISO/IEC 基于 SQL 标准定义了四种隔离级别,OceanBase 数据库目前支持了以下几种隔离级别:

    • MySQL 模式

      • 读已提交(Read Committed)

      • 可重复读(Repeatable Read)

    OceanBase 数据库默认的隔离级别为读已提交(Read Committed)。

    设置隔离级别的方式有两种,分别为事务级别及 Session 级别:

    • 事务级别

    设置事务的隔离级别时,应注意以下事项:

    • Oracle 租户开启可串行化隔离级别时,需要确保全局时间戳服务(Global Timestamp Service,简称 GTS)为开启状态。

      您可以执行以下语句,查看并开启 GTS 。

    • Session 需要维护 Session 级别的事务隔离级别,在开启事务时需要获取 Session 级别的事务隔离级别。该隔离级别可以被 事务级别的隔离级别覆盖。

      查看当前事务隔离级别的语句如下:

    使用限制

    • 内部事务

      由用户事务触发的内部事务,以及维护内部表信息的事务都称为内部事务,内部事务采用 Read Committed 隔离级 别。