OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
    • アイコンOceanBase Cloud
アイコン

OceanBaseデータベース

SQL - V4.4.2

    OceanBase ロゴ

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについてトラストセンター法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBaseデータベース
    3. SQL
    4. V4.4.2
    アイコンOceanBaseデータベース
    SQL - V 4.4.2
    データベース
    • OceanBaseデータベース
    • OceanBase Cloud
    SQL
    KV
    • V 4.4.2
    • V 4.3.5

    変数の設定

    最終更新日:2026-06-15 02:31:30  更新
    シェア
    このページの内容
    変数の分類
    システム変数関連ビュー
    変数の設定
    変数の確認
    詳細を見る

    折りたたみ

    シェア

    システム変数を設定することで、OceanBaseデータベースの動作をビジネス要件に合わせてカスタマイズできます。

    変数の分類

    OceanBaseデータベースのシステム変数は、グローバル変数とセッション変数に分類されます。

    • グローバル変数:グローバルレベルでの変更を表します。データベースの同一テナント内の異なるユーザー間でグローバル変数は共有されます。グローバル変数の変更は、セッションの終了によって無効になることはありません。また、グローバル変数を変更しても、その変更は現在開いているセッションには反映されません。変更を有効にするには、新しいセッションを確立する必要があります。

    • セッション変数:セッションレベルでの変更を表します。クライアントがデータベースに接続すると、データベースはグローバル変数をコピーして自動的にセッション変数を生成します。セッション変数の変更は、現在のセッション内でのみ有効です。

    名前が「_」で始まる変数は隠れた変数と呼ばれ、例えば_primary_zone_entity_countなどが該当します。これらは開発者が障害のトラブルシューティングや緊急の運用保守時にのみ使用します。

    システム変数関連ビュー

    MySQLテナントのシステム変数関連ビューは以下の通りです:

    • INFORMATION_SCHEMA.GLOBAL_VARIABLES:現在のテナント内のグローバル変数情報を記録します。

    • INFORMATION_SCHEMA.SESSION_VARIABLES:現在のテナント内のセッション変数情報を記録します。

    • DBA_OB_SYS_VARIABLES:現在のテナント内のグローバル変数の変更履歴および変数のデフォルト値情報を記録します。

    Oracleテナントのシステム変数関連ビューは以下の通りです:

    • SYS.TENANT_VIRTUAL_GLOBAL_VARIABLE:現在のテナント内のグローバル変数情報を記録します。

    • SYS.TENANT_VIRTUAL_SESSION_VARIABLE:現在のテナント内のセッション変数情報を記録します。

    • DBA_OB_SYS_VARIABLES:現在のテナント内のグローバル変数の変更履歴および変数のデフォルト値情報を記録します。

    ビューの詳細については、「リファレンスガイド」のシステムビューを参照してください。

    変数の設定

    説明

    • セッションレベルの変数を設定しても、その変更は現在のセッション内でのみ有効であり、他のセッションには反映されません。グローバルレベルの変数を設定しても、現在のセッションでは無効となり、変更を有効にするには、再ログインして新しいセッションを確立する必要があります。
    • グローバルレベルの変数を設定するには、現在のユーザーが SUPER 権限または ALTER SYSTEM 権限を持っている必要があります。

    セッション/グローバルレベルの変数を設定するSQL構文は以下のとおりです:

    SET VARIABLE_NAME = 'VALUE'
    SET GLOBAL VARIABLE_NAME = 'VALUE'
    

    SQLステートメントを使用して、セッション/グローバルレベルの変数を設定します。例:

    obclient> SET ob_query_timeout = 20000000;
    obclient> SET GLOBAL ob_query_timeout = 20000000;
    

    変数値の型が INT で、SHOW VARIABLE コマンドでON/OFFまたはTrue/Falseと表示される変数については、以下のいずれかの方法でセッション/グローバルレベルの変数を設定できます。例:

    SET foreign_key_checks = ON;
    SET foreign_key_checks = 1;
    SET GLOBAL foreign_key_checks = ON;
    SET GLOBAL foreign_key_checks = 1;
    

    グローバル変数や読み取り専用変数については、テナント作成時にも設定できます。構文は以下のとおりです:

    CREATE TENANT [IF NOT EXISTS] tenant_name
         [tenant_characteristic_list] [opt_set_sys_var];
    
    tenant_characteristic_list:
      tenant_characteristic [, tenant_characteristic...]
    
    tenant_characteristic:
          COMMENT 'string'
        | {CHARACTER SET | CHARSET} [=] charsetname
        | COLLATE [=]  collationname
        | PRIMARY_ZONE [=] zone
        | RESOURCE_POOL_LIST [=](poolname [, poolname...])
        | LOCALITY [=] 'locality description'
    
    opt_set_sys_var:
      {SET | SET VARIABLES | VARIABLES} system_var_name = expr [,system_var_name = expr] ...
    

    テナント作成時に、読み取り専用変数 ob_compatibility_mode を 'mysql' または 'oracle' に、グローバル変数 ob_tcp_invited_nodes を '%' に初期化します。例:

    obclient> CREATE TENANT IF NOT EXISTS test_tenant
    charset='utf8mb4', primary_zone='zone1;zone2,zone3', resource_pool_list=('pool1')
    SET ob_compatibility_mode='oracle', ob_tcp_invited_nodes='%';
    

    変数の確認

    • SHOW VARIABLES ステートメントを使用して確認します。

      セッション変数とグローバル変数を確認するSQL構文は以下のとおりです:

      SHOW VARIABLES [LIKE 'pattern' | WHERE expr]
      SHOW GLOBAL VARIABLES [LIKE 'pattern' | WHERE expr]
      

      SQLステートメントを使用してセッション変数またはグローバル変数を照会します。例:

      obclient> SHOW VARIABLES LIKE 'ob_query_timeout';
      obclient> SHOW VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';
      obclient> SHOW GLOBAL VARIABLES LIKE 'ob_query_timeout';
      obclient> SHOW GLOBAL VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';
      obclient> SHOW GLOBAL VARIABLES WHERE VARIABLE_NAME LIKE 'ob_query_timeout';
      +------------------+----------+
      | Variable_name    | Value    |
      +------------------+----------+
      | ob_query_timeout | 10000000 |
      +------------------+----------+
      1 row in set (0.00 sec)
      

      実行結果の列属性は以下の表のとおりです:

      列名
      意味
      Variable_name 変数名
      Value 変数値
    • SELECT ステートメントを使用して、テナント関連のビューでセッション変数またはグローバル変数情報を確認します。SQL構文は以下のとおりです:

      SELECT * FROM view_name WHERE VARIABLE_NAME = '[var name]'
      

      Oracleモードでは、SELECT ステートメントを使用して、テナントの対応するビューでセッション変数またはグローバル変数情報を確認します。例:

      obclient> SELECT * FROM SYS.TENANT_VIRTUAL_GLOBAL_VARIABLE WHERE VARIABLE_NAME = 'ob_query_timeout';
      
      obclient> SELECT * FROM SYS.TENANT_VIRTUAL_SESSION_VARIABLE WHERE VARIABLE_NAME = 'ob_query_timeout';
      

      MySQLモードでは、SELECT ステートメントを使用して、テナントのビューでセッション変数またはグローバル変数情報を確認します。例:

      obclient> SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';
      
      obclient> SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';
      
    • グローバル変数の変更履歴や変数のデフォルト値を確認する必要がある場合は、以下のステートメントを使用して照会することもできます。

      • MySQLモード

        obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_SYS_VARIABLES WHERE NAME='ob_query_timeout';
        
      • Oracleモード

        obclient[SYS] > SELECT * FROM SYS.DBA_OB_SYS_VARIABLES WHERE NAME='ob_query_timeout';
        

    詳細を見る

    その他の変数に関する詳細は、『システムリファレンス』の システム変数 を参照してください。

    前のトピック

    パラメータの設定
    最後

    次のトピック

    ダンプ管理の概要
    次
    このページの内容
    変数の分類
    システム変数関連ビュー
    変数の設定
    変数の確認
    詳細を見る