You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/ROOT/pages/clustering/disaster-recovery.adoc
+9-21Lines changed: 9 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -170,31 +170,19 @@ However, not adding new servers reduces the capacity of the cluster to handle wo
170
170
Furthermore, it might require the topology for a database to be altered to make deallocating servers and recreating databases possible.
171
171
=====
172
172
173
-
// ? from here
174
-
. For each `CORDONED` server, run `DEALLOCATE DATABASES FROM SERVER cordoned-server-id` on one of the available servers.
175
-
This will try to move all database allocations from this server to an available server in the cluster.
176
-
Once a server is `DEALLOCATED`, all allocated user databases on this server has been moved successfully.
177
-
+
178
-
[NOTE]
179
-
=====
180
-
Remember, moving databases can take an unbounded amount of time since it involves copying the store to a new server.
181
-
Therefore, an allocation with `currentStatus` = `DEALLOCATING` should reach the `requestedStatus` = `DEALLOCATED` given some time.
182
-
=====
183
-
. If any deallocations failed, make them possible by executing the following steps:
184
-
.. Run `SHOW DATABASES`. If a database show `currentStatus`= `offline` this database has been stopped.
185
-
.. For each stopped database that has at least one allocation on any of the `CORDONED` servers, start them by running `START DATABASE stopped-db WAIT`.
173
+
. Run `SHOW DATABASES`. If a database show `currentStatus`= `offline` this database has been stopped.
174
+
. For each stopped database that has at least one allocation on any of the `CORDONED` servers, start them by running `START DATABASE stopped-db WAIT`.
186
175
This is necessary since stopped databases cannot be moved from one server to another.
187
176
+
188
177
[NOTE]
189
178
=====
190
179
A database can be set to `READ-ONLY` before it is started to avoid updates on a database that is desired to be stopped with the following command:
191
180
`ALTER DATABASE database-name SET ACCESS READ ONLY`.
192
181
=====
193
-
.. On each server, run `CALL dbms.cluster.statusCheck([])` to check the write availability for all databases on this server, see xref:clustering/monitoring/status-check.adoc#monitoring-replication[Monitoring replication] for more information.
182
+
. On each server, run `CALL dbms.cluster.statusCheck([])` to check the write availability for all databases on this server, see xref:clustering/monitoring/status-check.adoc#monitoring-replication[Monitoring replication] for more information.
194
183
Depending on the environment, consider extending the timeout for this procedure.
195
184
If any of the primary allocations for a database report `replicationSuccessful` = `TRUE`, this database is write available.
196
-
197
-
.. For each database that is not write available, recreate it to move it from lost servers and regain write availability.
185
+
. For each database that is not write available, recreate it to move it from lost servers and regain write availability.
198
186
Go to xref:clustering/databases.adoc#recreate-databases[Recreate databases] for more information about recreate options.
199
187
Remember to make sure there are recent backups for the databases before recreating them, see xref:backup-restore/online-backup.adoc[Online backup] for more information.
200
188
+
@@ -203,11 +191,11 @@ Remember to make sure there are recent backups for the databases before recreati
203
191
By using recreate with xref:clustering/databases.adoc#undefined-servers-backup[Undefined servers with fallback backup], also databases which have lost all allocation can be recreated.
204
192
Otherwise, recreating with xref:clustering/databases.adoc#uri-seed[Backup as seed] must be used for that specific case.
205
193
=====
206
-
.. Return to step 3 to retry deallocating all servers.
207
-
. For each deallocated server, run `DROP SERVER deallocated-server-id`.
208
-
This safely removes the server from the cluster's view.
209
-
210
-
// ? to here really
194
+
. For each `CORDONED` server, run `DEALLOCATE DATABASES FROM SERVER cordoned-server-id` on one of the available servers.
195
+
This will try to move all database allocations from this server to an available server in the cluster.
196
+
This operation might fail if enough unconstrained servers were not added to the cluster to replace lost servers.
197
+
. For each deallocating or deallocated server, run `DROP SERVER deallocated-server-id`.
0 commit comments