首批通过分布式安全可靠测评,为关键业务系统打造
ALTER SESSION
更新时间:2025-09-29 18:02:01
描述
ALTER SESSION 语句用于修改当前会话的属性。
说明
ALTER SESSION 对应了多种功能的语句,OceanBase 数据库目前支持以下四种:
- 切换当前 Session 连接的数据库。
- 修改当前 Session 的隔离级别。
- 设置 Session 变量,支持同一个语句设置多个变量。
- 设置
QUERY或DML的并行执行能力。
语法
ALTER SESSION
{
SET {
CURRENT_SCHEMA = schema_name
| ISOLATION_LEVEL = { READ COMMITTED | SERIALIZABLE }
| variable_name = variable_value[,variable_name = variable_value...]
}
| { ENABLE | DISABLE } PARALLEL { DML | QUERY | DDL }
| FORCE PARALLEL { DML | QUERY | DDL } integer
}
参数解释
| 参数 | 描述 |
|---|---|
| SET 子句 | 用于设置会话级别的参数。 |
| CURRENT_SCHEMA = schema_name | 设置当前会话的默认 schema 为 schema_name。后续查询如果没有指定 schema,则默认使用该 schema。 |
| ISOLATION_LEVEL | 设置当前会话的事务隔离级别 |
| variable_name = variable_value[,variable_name = variable_value...]; | 指定要设置的 Session 变量名称和取值。设置多个变量时,变量之间没有逗号分隔。 |
| * { ENABLE | DISABLE | FORCE } PARALLEL | 设置 QUERY 或 DML 的并行执行能力: * ENABLE:默认情况下 Session 上并行度的值根据 表的 DOP 值进行决定
ALTER SESSION 指定的并行度 > 表级别的并行度。 |
示例
将用户切换至
user1模式。-- 创建用户 obclient> CREATE USER user1 IDENTIFIED BY yourpassword; obclient> ALTER SESSION SET CURRENT_SCHEMA = user1;修改 Session 的变量值
recyclebin、sql_warnings和tx_isolation。obclient> ALTER SESSION SET recyclebin = 'on' sql_warnings = 'on' tx_isolation = 'read-committed';设置 Session 上
QUERY和DML的并行执行。/*以并发度为 3 并行执行*/ obclient> ALTER SESSION FORCE PARALLEL QUERY PARALLEL 3; /*串行执行*/ obclient> ALTER SESSION FORCE PARALLEL QUERY PARALLEL 1; /*开启 PDML 路径,以并发度为 3 并行执行*/ obclient> ALTER SESSION FORCE PARALLEL DML PARALLEL 3; /*串行执行*/ obclient> ALTER SESSION FORCE PARALLEL DML PARALLEL 1;