Purpose
You can use this statement to convert the type of a replica.
Limitations and considerations
Make sure that the log stream still meets the majority principle after the type of replica is converted. Otherwise, the O&M command returns an error.
This statement converts the type of one replica at a time.
For the same log stream of a tenant, except for replica migration tasks that can be executed in parallel, other disaster recovery tasks (including adding replicas, deleting replicas, converting replica types, and modifying the quorum size of the log stream) can only be executed one at a time.
Note
You can query ongoing replica tasks from the
CDB_OB_LS_REPLICA_TASKSview in thesystenant or from theDBA_OB_LS_REPLICA_TASKSview in a user tenant.
Required privileges
To execute this statement, you must have the ALTER SYSTEM privilege. For more information about privileges in OceanBase Database, see Privilege types in MySQL mode and Privilege types in Oracle mode.
Syntax
ALTER SYSTEM MODIFY REPLICA
LS [=] ls_id
SERVER [=] 'svr_ip:svr_port'
REPLICA_TYPE [=] 'replica_type'
[PAXOS_REPLICA_NUM [=] paxos_replica_num]
[TENANT [=] 'tenant_name'];
Parameters
| Parameter | Description |
|---|---|
| ls_id | The ID of the log stream for which you want to convert the type of a replica. |
| svr_ip:svr_port | The IP address and port number of the OBServer node on which you want to convert the type of the replica, for example, xxx.xx.xxx.001:2882. |
| replica_type | The replica type to convert to. Conversion between the following two types of replicas is supported:
NoteA full-featured replica can be elected as the leader, whereas a read-only replica cannot. |
| paxos_replica_num | Optional. The number of Paxos members for electing the leader for the log stream. If this parameter is not explicitly specified, the default value is used. A log stream supports a maximum of seven full-featured replicas.
NoticeWhen you specify the
|
| tenant_name | Optional. The name of the target tenant. If this parameter is not explicitly specified, the name of the current tenant is used.
NoticeYou can specify another tenant in the |
Examples
Execute the following statement in the sys tenant to convert a full-featured replica of a log stream in the mysql001 tenant to a read-only replica:
ALTER SYSTEM MODIFY REPLICA
LS = 1001
SERVER = 'xxx.xxx.xxx.001:2882'
REPLICA_TYPE = 'R'
PAXOS_REPLICA_NUM = 2
TENANT = 'mysql001';
For information about how to convert the type of a replica, see Convert the type of a replica.
References
- For information about how to add a replica, see ADD REPLICA.
- For information about how to drop a replica, see REMOVE REPLICA.
- For information about how to migrate a replica, see MIGRATE REPLICA.
- For information about how to modify the
PAXOS_REPLICA_NUMparameter for a replica, see MODIFY PAXOS_REPLICA_NUM. - For information about how to cancel a replica task, see CANCEL REPLICA TASK.