説明
ALTER SESSION ステートメントは、現在のセッションのプロパティを変更するために使用されます。
説明
ALTER SESSION は複数の機能を持つステートメントに対応しており、OceanBaseデータベースでは現在以下の4種類がサポートされています:
- 現在のSessionが接続しているデータベースを切り替えます。
- 現在のSessionの分離レベルを変更します。
- Session変数を設定します。同一ステートメントで複数の変数を設定できます。
QUERYまたはのパラレル実行機能を設定します。
構文
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_nameに設定します。後続のクエリでスキーマが指定されない場合、デフォルトでこのスキーマが使用されます。 |
| 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、sqlWarnings、および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;