説明
ログアーカイブモードには、アーカイブ(ARCHIVELOG)と非アーカイブ(NOARCHIVELOG)の2種類があります。ALTER SYSTEM ARCHIVELOG ステートメントを使用してユーザーテナントのアーカイブモードを有効にできます。ログアーカイブタスクを実行できるのは、アーカイブモードに設定されているテナントのみです。
アーカイブモードを有効にした後、無効にする場合は ALTER SYSTEM NOARCHIVELOG ステートメントを使用してください。ALTER SYSTEM NOARCHIVELOG ステートメントの詳細については、NOARCHIVELOGを参照してください。
権限要件
sys テナントの root ユーザー(root@sys)または各テナントの管理者ユーザーが実行する必要があります。その中で:
- MySQLモードのデフォルト管理者ユーザーは
rootユーザーです。 - Oracleモードのデフォルト管理者ユーザーは
SYSユーザーです。
構文
ALTER SYSTEM ARCHIVELOG [TENANT = {all | tenant_name[, tenant_name...]}] [DESCRIPTION [=] 'description'];
パラメータの説明
| パラメータ | 説明 |
|---|---|
| all | システムテナントがクラスタ内のすべてのユーザーテナントにアーカイブモードを有効にします。
注意ここでの「すべてのユーザーテナント」とは、ステートメント実行時にクラスタ内に既存していたすべてのユーザーテナントを指します。ステートメント実行後に新しく作成されるテナントについては、システムが自動的にアーカイブモードを有効にしません。 |
| tenant_name[, tenant_name...] | システムテナントがアーカイブモードを有効にするテナント名を指定します。複数のテナントを同時に指定でき、異なるテナント間は英字のカンマ(,)で区切ります。
注意このコマンドを実行するのはシステムテナントのみであり、 |
| description | この操作の説明情報を指定します。省略可能です。 |
例
現在のクラスタには、sys、mysql_tenant、oracle_tenant の3つのテナントがあり、ユーザーテナントである mysql_tenant と oracle_tenant はいずれもアーカイブ先の設定を完了しているとします。この場合、以下のステートメントを使用して、テナントのアーカイブモードを有効にできます。
システムテナントがテナント
mysql_tenantのアーカイブモードを有効にします。obclient [oceanbase]> ALTER SYSTEM ARCHIVELOG TENANT = mysql_tenant;システムテナントがテナント
mysql_tenantとoracle_tenantのアーカイブモードを有効にします。obclient [oceanbase]> ALTER SYSTEM ARCHIVELOG TENANT = mysql_tenant,oracle_tenant;システムテナントがすべてのユーザーテナントのアーカイブモードを有効にします。
obclient [oceanbase]> ALTER SYSTEM ARCHIVELOG TENANT = all;ユーザーテナント
mysql_tenantとoracle_tenantが自身のテナントのアーカイブモードを有効にします。obclient [oceanbase]> ALTER SYSTEM ARCHIVELOG;