Skip to content

Commit b1b5af7

Browse files
Document the unbind-system-db command and add details about the syste… (neo4j#2643)
…m db in cluster (neo4j#2631) Add a new page covering the `neo4j-admin dbms unbind-system-db` command. Add a section about the `system` database role in a cluster to the page 'Managing databases in a cluster'. This PR should be copied to the 5.x branch with a few adjustments: the label `Introduced in 5.0` should be added. --------- --------- Co-authored-by: Reneta Popova <[email protected]>
1 parent 2a5564b commit b1b5af7

File tree

6 files changed

+104
-0
lines changed

6 files changed

+104
-0
lines changed

modules/ROOT/content-nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@
147147
*** xref:clustering/setup/encryption.adoc[]
148148
** xref:clustering/servers.adoc[]
149149
** xref:clustering/databases.adoc[]
150+
** xref:clustering/unbind-system-database.adoc[]
150151
** Monitoring
151152
*** xref:clustering/monitoring/show-servers-monitoring.adoc[]
152153
*** xref:clustering/monitoring/show-databases-monitoring.adoc[]

modules/ROOT/pages/clustering/databases.adoc

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,23 @@ The number of both primary and secondary servers to host a database can be set w
88
The command `CREATE DATABASE` can be used to specify the initial topology and `ALTER DATABASE` can be used to change the topology once the database is created.
99
If a database is no longer needed, the command `DROP DATABASE` deletes the database from the cluster.
1010

11+
[[cluster-system-db]]
12+
== The `system` database in a cluster
13+
14+
The `system` database contains metadata on the DBMS and security configuration.
15+
When connected to this database you can only perform a specific set of administrative tasks, such as managing databases, servers, and access control.
16+
17+
In the clustered environment, the `system` database can be in a primary or secondary mode.
18+
To configure its mode, use the xref:configuration/configuration-settings.adoc#config_server.cluster.system_database_mode[`server.cluster.system_database_mode`] setting.
19+
20+
Deploying a cluster for the first time, consider configuring the xref:configuration/configuration-settings.adoc#config_dbms.cluster.minimum_initial_system_primaries_count[`dbms.cluster.minimum_initial_system_primaries_count`].
21+
This setting defaults to `3`.
22+
See xref:clustering/setup/deploy.adoc[] for details.
23+
24+
For information on how to recover the `system` database, refer to the xref:clustering/multi-region-deployment/disaster-recovery.adoc[Disaster recovery guide].
25+
26+
27+
1128
[[create-database]]
1229
== `CREATE DATABASE`
1330

modules/ROOT/pages/clustering/index.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ This chapter describes the following:
1616
** xref:clustering/setup/encryption.adoc[Intra-cluster encryption] -- How to secure the cluster communication.
1717
* xref:clustering/servers.adoc[Managing servers in a cluster] -- How to manage the servers in a cluster.
1818
* xref:clustering/databases.adoc[Managing databases in a cluster] -- How to manage the databases in a cluster.
19+
* xref:clustering/unbind-system-database.adoc[Unbind the `system` database] label:new[Introduced in 5.0] -- How to use the `neo4j-admin dbms unbind-system-db` command.
1920
* Monitoring -- Monitoring of a cluster.
2021
** xref:clustering/monitoring/show-servers-monitoring.adoc[Monitor servers] -- The tools available for monitoring the servers in a cluster.
2122
** xref:clustering/monitoring/show-databases-monitoring.adoc[Monitor databases] -- The tools available for monitoring the databases in a cluster.
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
:description: The page describes the neo4j-admin command `dbms unbind-system-db`.
2+
[role=enterprise-edition new-5.0]
3+
4+
= Unbind the `system` database
5+
6+
You can use the `neo4j-admin dbms unbind-system-db` command to remove and archive the cluster state for the `system` database, so that the server can rebind to a new `system` database in the cluster.
7+
8+
[CAUTION]
9+
====
10+
Executing the `neo4j-admin dbms unbind-system-db` command does not affect the cluster state of other standard databases.
11+
However, since all servers in the DBMS need to be shut down to run the command, downtime will occur for all databases inside of the DBMS.
12+
====
13+
[[unbind-system-db-syntax]]
14+
== Syntax
15+
16+
The `neo4j-admin dbms unbind-system-db` command has the following syntax:
17+
18+
----
19+
neo4j-admin dbms unbind-system-db [-h] [--expand-commands] [--verbose] [--archive-cluster-state[=true|false]]
20+
[--additional-config=<file>] [--archive-path=<path>]
21+
----
22+
23+
24+
[[unbind-system-db-description]]
25+
== Description
26+
27+
Removes and archives cluster state for `system` database.
28+
29+
[[unbind-system-db-options]]
30+
== Options
31+
32+
33+
The `neo4j-admin dbms unbind-system-db` command has the following options:
34+
35+
.`neo4j-admin dbms unbind-system-db` options
36+
[options="header", cols="5m,6a,2m"]
37+
|===
38+
| Option
39+
| Description
40+
| Default
41+
42+
|--additional-config=<file>
43+
|Configuration file with additional configuration.
44+
|
45+
46+
|--archive-cluster-state[=true\|false]
47+
|Enable or disable the cluster state archiving.
48+
|false
49+
50+
|--archive-path=<path>
51+
|Destination (file or folder) of the cluster state archive.
52+
|
53+
54+
|--expand-commands
55+
|Allow command expansion in config value evaluation.
56+
|
57+
58+
|-h, --help
59+
|Show this help message and exit.
60+
|
61+
62+
|--verbose
63+
|Enable verbose output.
64+
|
65+
|===
66+
67+
[[unbind-system-db-limitations]]
68+
== Limitations
69+
70+
The Neo4j process must be shut down on all servers before running the `neo4j-admin dbms unbind-system-db` command.
71+
72+
[[unbind-system-db-usage]]
73+
== Usage
74+
75+
The `neo4j-admin dbms unbind-system-db` command removes and archives cluster state for the `system` database, so that the server can rebind to a new `system` database in a cluster.
76+
77+
You must shut down all cluster members before running the command on each of them.
78+
For details, see xref:clustering/multi-region-deployment/disaster-recovery.adoc#make-the-system-database-write-available[Disaster recovery guide -> Make the `system` database write-available].
79+
80+
The `neo4j-admin dbms unbind-system-db` command does not affect the cluster state of the standard databases.
81+
However, since all servers in the DBMS must be shut down before the command is issued, downtime is expected for all databases within the DBMS.
82+

modules/ROOT/pages/database-administration/index.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ image::manage-dbs-community.png[title="A default Neo4j installation.", role="mid
7474
.An installation of Neo4j with multiple active databases, named `marketing`, `sales`, and `hr`:
7575
image::manage-dbs-enterprise.png[title="A multiple database Neo4j installation.", role="middle"]
7676

77+
For details about the `system` database in a clustered environment, refer to xref:clustering/databases.adoc#cluster-system-db[Managing databases in a cluster -> The `system` database].
78+
7779
== Composite databases
7880

7981
A Composite database is a logical grouping of multiple graphs contained in other, standard databases.

modules/ROOT/pages/tools/neo4j-admin/index.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ For details, see xref:configuration/set-initial-password.adoc[Set an initial pas
5959

6060
| `unbind-system-db`
6161
| Removes and archives the cluster state of the `system` database so the instance can rebind to a new cluster state of the `system` database.
62+
For details, see xref:clustering/unbind-system-database.adoc[].
6263

6364
.13+| `server`
6465

0 commit comments

Comments
 (0)