システム変数の設定により、OceanBaseデータベースの動作を業務要件に合わせることができます。本記事では、テナントのシステム変数を確認する方法について説明します。
SHOWステートメントを使用してテナントのシステム変数を確認する
rootユーザーでクラスタのユーザーテナントにログインします。
mq_t1テナントを例にします:obclient -h172.30.xx.xx -P2883 -uroot@mq_t1#cluster -p**** -ASHOWステートメントを使用してシステム変数情報を照会します。
構文は以下のとおりです:
SHOW [SESSION | GLOBAL] VARIABLES [LIKE 'pattern' | WHERE expr]パラメータの説明:
SESSION | GLOBAL:SESSIONはセッション変数を、GLOBALはグローバル変数を表します。省略した場合、デフォルトでSession変数が表示されます。pattern:変数キーワードを表します。
例:
ob_query_timeoutのSessionレベル変数を照会します。obclient [oceanbase]> SHOW VARIABLES LIKE 'ob_query_timeout';または
obclient [oceanbase]> SHOW SESSION VARIABLES LIKE 'ob_query_timeout';照会結果は次のとおりです:
+------------------+-------------+ | Variable_name | Value | +------------------+-------------+ | ob_query_timeout | 10000000 | +------------------+-------------+ 1 row in setob_query_timeoutのGlobalレベル変数を照会します。obclient [oceanbase]> SHOW GLOBAL VARIABLES WHERE variable_name LIKE 'ob_query_timeout';照会結果は次のとおりです:
+------------------+-------------+ | Variable_name | Value | +------------------+-------------+ | ob_query_timeout | 10000000 | +------------------+-------------+ 1 row in set
ビューを使用したテナントシステム変数の確認
rootユーザーでクラスタの
mysql001テナントにログインします。obclient -P2881 -h172.30.xx.xx -uroot@mysql001#cluster -p**** -A -Doceanbaseoceanbaseデータベースに移動します。obclient [(none)]> USE oceanbase;ビューを使用して変数値を照会します。
INFORMATION_SCHEMA.SESSION_VARIABLESビューを使用して、ob_query_timeoutのセッションレベルの変数値を照会します。obclient [oceanbase]> SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';クエリ結果は次のとおりです:
+------------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | +------------------+----------------+ | ob_query_timeout | 10000000 | +------------------+----------------+ 1 row in setINFORMATION_SCHEMA.GLOBAL_VARIABLESビューを使用して、ob_query_timeoutのグローバルレベルの変数値を照会します。obclient [oceanbase]> SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';クエリ結果は次のとおりです:
+------------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | +------------------+----------------+ | ob_query_timeout | 10000000 | +------------------+----------------+ 1 row in setビュー
DBA_OB_SYS_VARIABLESを使用して、ob_query_timeout変数値の変更状況とデフォルト値を照会します。obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_SYS_VARIABLES WHERE NAME='ob_query_timeout';クエリ結果は次のとおりです:
+----------------------------+----------------------------+------------------+----------+-----------+-----------+------------------+----------------------------------+---------------+-----------+ | CREATE_TIME | MODIFY_TIME | NAME | VALUE | MIN_VALUE | MAX_VALUE | SCOPE | INFO | DEFAULT_VALUE | ISDEFAULT | +----------------------------+----------------------------+------------------+----------+-----------+-----------+------------------+----------------------------------+---------------+-----------+ | 2024-05-08 14:22:06.882646 | 2024-05-08 14:22:06.882646 | ob_query_timeout | 10000000 | | | GLOBAL | SESSION | Query timeout in microsecond(us) | 10000000 | YES | +----------------------------+----------------------------+------------------+----------+-----------+-----------+------------------+----------------------------------+---------------+-----------+ 1 row in set
SYSユーザーでクラスタのoracle001テナントにログインします。obclient -h172.30.xx.xx -P2883 -usys@oracle001#cluster -p**** -Aビューを使用して変数値を照会します。
SYS.TENANT_VIRTUAL_SESSION_VARIABLEビューを使用して、ob_query_timeoutのセッションレベルの変数値を照会します。obclient [SYS]> SELECT * FROM SYS.TENANT_VIRTUAL_SESSION_VARIABLE WHERE VARIABLE_NAME = 'ob_query_timeout'; +------------------+----------+ | VARIABLE_NAME | VALUE | +------------------+----------+ | ob_query_timeout | 10000000 | +------------------+----------+ 1 row in setSYS.TENANT_VIRTUAL_GLOBAL_VARIABLEビューを使用して、ob_query_timeoutのグローバルレベルの変数値を照会します。obclient [SYS]> SELECT * FROM SYS.TENANT_VIRTUAL_GLOBAL_VARIABLE WHERE VARIABLE_NAME = 'ob_query_timeout'; +------------------+----------+ | VARIABLE_NAME | VALUE | +------------------+----------+ | ob_query_timeout | 10000000 | +------------------+----------+ 1 row in setビュー
DBA_OB_SYS_VARIABLESを使用して、ob_query_timeout変数値の変更状況とデフォルト値を照会します。obclient [SYS]> SELECT * FROM SYS.DBA_OB_SYS_VARIABLES WHERE NAME='ob_query_timeout';照会結果は次のとおりです:
+------------------------------+------------------------------+------------------+----------+-----------+-----------+------------------+----------------------------------+---------------+-----------+ | CREATE_TIME | MODIFY_TIME | NAME | VALUE | MIN_VALUE | MAX_VALUE | SCOPE | INFO | DEFAULT_VALUE | ISDEFAULT | +------------------------------+------------------------------+------------------+----------+-----------+-----------+------------------+----------------------------------+---------------+-----------+ | 08-MAY-24 02.22.41.007185 PM | 08-MAY-24 02.22.41.007185 PM | ob_query_timeout | 10000000 | NULL | NULL | GLOBAL | SESSION | Query timeout in microsecond(us) | 10000000 | YES | +------------------------------+------------------------------+------------------+----------+-----------+-----------+------------------+----------------------------------+---------------+-----------+ 1 row in set
関連ドキュメント
システム変数の詳細については、次を参照してください。