概要
MODULE DATA ステートメントには、以下の2つの機能があります:
ALTER SYSTEM LOAD MODULE DATA ...:このステートメントは、特定のテナントに指定された機能をインポートするために使用されます。ALTER SYSTEM CHECK MODULE DATA ...:このステートメントは、特定のテナントの指定された機能がインポートされているかどうかを確認するために使用されます。
説明
V4.3.5バージョンでは、V4.3.5 BP4以降のバージョンからMODULE DATAステートメントがサポートされています。
制限事項と注意点
- このステートメントは、
sys(システム)テナントでのみ実行できます。 - 現在のバージョンでは、MySQLモードのテナントにのみ
REDISモジュール機能をインポートできます。 - 現在のバージョンでは、インポートされた
REDISモジュール機能のチェック(CHECK MODULE DATA)のみサポートされています。
権限要件
このステートメントを実行するユーザーは、ALTER SYSTEM 権限を持っている必要があります。OceanBaseデータベースの権限の詳細については、MySQLモードにおける権限の分類を参照してください。
構文
ALTER SYSTEM {LOAD | CHECK} MODULE DATA
MODULE = module_value
TENANT = tenant_name
[INFILE = file_path];
module_value:
REDIS
| GIS
| TIMEZONE
パラメータの説明
| パラメータ | 説明 |
|---|---|
| LOAD | CHECK | インポートまたはチェックを指定します。詳細は以下のとおりです:
|
| tenant_name | 操作対象となるテナント名を指定します。 |
| module_value | 操作対象となる機能を指定します。詳細については、以下のmodule_valueを参照してください。 |
| file_path | インポートするSQLファイルのパスを指定します。
注意
|
module_value
REDIS:REDISモジュール機能の操作を表します。GIS:GISモジュール機能の操作を表します。TIMEZONE:TIMEZONEモジュール機能の操作を表します。
例
LOAD MODULE DATA例
テナント
mysql001にREDISモジュール機能をインポートします。現在、REDISモジュール機能ではINFILEパスを使用することはサポートされていないため、エラーが発生します。ALTER SYSTEM LOAD MODULE DATA MODULE = REDIS TENANT = mysql001 INFILE = '/home/admin/test.sql';実行結果は次のとおりです:
ERROR 4025 (HY000): loading redis module does not need to specify infileテナント
mysql001にREDISモジュール機能をインポートします。ALTER SYSTEM LOAD MODULE DATA MODULE = REDIS TENANT = mysql001;実行結果は次のとおりです:
Query OK, 0 rows affectedテナント
mysql001にGISモジュール機能をインポートします。この場合、INFILEパラメータは省略可能であり、デフォルト値はetc/です。対応するファイルはデプロイメントディレクトリ内のetcディレクトリにあります。ALTER SYSTEM LOAD MODULE DATA MODULE = GIS TENANT = mysql001 INFILE = 'etc/';実行結果は次のとおりです:
Query OK, 0 rows affectedテナント
mysql001にTIMEZONEモジュール機能をインポートします。この場合、INFILEパラメータは省略可能であり、デフォルト値はetc/です。対応するファイルはデプロイメントディレクトリ内のetcディレクトリにあります。ALTER SYSTEM LOAD MODULE DATA MODULE = TIMEZONE TENANT = mysql001 INFILE = 'etc/';実行結果は次のとおりです:
Query OK, 0 rows affected
CHECK MODULE DATAの例
注意
現在のバージョンでは、チェック(CHECK MODULE DATA)はインポートされた REDIS モジュール機能のみをサポートしています。
テナントに機能がインポートされていない場合、
CHECK MODULE DATAステートメントの実行時にエラーが発生します。テナントmysql002にREDISモジュール機能がインポートされているかどうかを確認します。ALTER SYSTEM CHECK MODULE DATA MODULE = REDIS TENANT = mysql002;実行結果は次のとおりです:
ERROR 4025 (HY000): redis info is not complete,please retry loadingテナントに機能をインポートした後で、インポートされた機能の状況を確認します。
テナント
mysql002にREDISモジュール機能をインポートします。ALTER SYSTEM LOAD MODULE DATA MODULE = REDIS TENANT = 'mysql002';実行結果は次のとおりです:
Query OK, 0 rows affectedテナント
mysql002にREDISモジュール機能がインポートされているかどうかを確認します。ALTER SYSTEM CHECK MODULE DATA MODULE = REDIS TENANT = mysql002;実行結果は次のとおりです:
Query OK, 0 rows affected