このセクションでは、プライマリ/スタンバイテナントの保護モードと保護レベルについて説明します。
保護モードと保護レベルの対応関係
保護モード機能は、本質的にはプライマリテナントが異なるスタンバイテナントへログを転送する方式(強同期または非同期/同期的)、スタンバイテナントがログを受信する方式、およびデータの無損失性を定義するためのものです。
OceanBaseデータベースのDBA_OB_TENANTSビューには、保護モードの設定とプライマリ/スタンバイテナントの状態を記述する2つのフィールドが提供されています:保護モード(PROTECTION_MODE)と保護レベル(PROTECTION_LEVEL)です。
現在、保護モード(PROTECTION_MODE)の取り得る値は以下の3種類です:
- MAXIMUM PERFORMANCE:最大パフォーマンス
- MAXIMUM PROTECTION:最大保護
- MAXIMUM AVAILABILITY:最大可用
対応する保護レベル(PROTECTION_LEVEL)の取り得る値は以下の4種類です:
- MAXIMUM PERFORMANCE:最大パフォーマンス
- MAXIMUM PROTECTION:最大保護
- MAXIMUM AVAILABILITY:最大可用
- RESYNCHRONIZATION:ログ追従状態
各テナントの保護モードと保護レベルは独立しており、強同期のスタンバイテナントのみがプライマリテナントと同一の保護モードと保護レベルを継承します。非同期または弱同期のスタンバイテナントの保護モードと保護レベルは常にMAXIMUM PERFORMANCEに設定されます。
次の表は、プライマリテナントにおける各保護モードと保護レベルの対応関係およびその意味を示しています。
保護モード |
可能な保護レベル |
説明 |
|---|---|---|
| MAXIMUM PERFORMANCE(最大性能) | MAXIMUM PERFORMANCE(最大性能) | プライマリ/スタンバイテナントの非同期/同期状態を示します。 |
| MAXIMUM AVAILABILITY(最大可用) | MAXIMUM AVAILABILITY(最大可用) | プライマリテナントからスタンバイテナントへの同期が正常であることを示します。 |
| RESYNCHRONIZATION(追従ログ状態) | プライマリテナントからスタンバイテナントへの同期が利用不可であり、自動的に非同期同期状態に降格したことを示します。 | |
| MAXIMUM PROTECTION(最大保護) | MAXIMUM PROTECTION(最大保護) | プライマリテナントからスタンバイテナントへの同期が正常であることを示します。 |
| MAXIMUM PERFORMANCE(最大パフォーマンス) | アップグレード中の中間状態を示します。 |
テナントの保護モードと保護レベルの確認
プライマリ/スタンバイテナントで保護モードと保護レベルを確認するステートメントは以下のとおりです:
システムテナントで指定テナントの保護モードと保護レベルを確認する場合
obclient(root@sys)[oceanbase]> SELECT TENANT_NAME, PROTECTION_MODE, PROTECTION_LEVEL FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = 'tenant_name';ユーザーテナントで自身のテナントの保護モードと保護レベルを確認する場合
MySQLモードOracleモードMySQLモードでは、クエリステートメントは以下のとおりです:
obclient(root@mysql001)[oceanbase]> SELECT TENANT_NAME, PROTECTION_MODE, PROTECTION_LEVEL FROM oceanbase.DBA_OB_TENANTS;Oracleモードでは、クエリステートメントは以下のとおりです:
obclient(sys@oracle001)[SYS]> SELECT TENANT_NAME, PROTECTION_MODE, PROTECTION_LEVEL FROM SYS.DBA_OB_TENANTS;
クエリ結果の例は以下のとおりです:
+-------------+---------------------+---------------------+
| TENANT_NAME | PROTECTION_MODE | PROTECTION_LEVEL |
+-------------+---------------------+---------------------+
| sys | NULL | NULL |
| META$1002 | NULL | NULL |
| mysql001 | MAXIMUM PERFORMANCE | MAXIMUM PERFORMANCE |
| META$1004 | NULL | NULL |
| oracle001 | MAXIMUM PERFORMANCE | MAXIMUM PERFORMANCE |
+-------------+---------------------+---------------------+
5 rows in set