# Dynamic Runtime Config

::: note
For Access-Control-enabled clusters, authentication is required in order to get the server configuration details as well as the `sys-admin` permission in order to dynamically change configuration parameters.
:::

See [`asadm`](https://aerospike.com/docs/database/tools/asadm) or [`asinfo`](https://aerospike.com/docs/database/tools/asinfo) documentation for more information.

## Viewing configuration settings

-   [asadm](#tab-panel-711)
-   [asinfo](#tab-panel-712)

To view the configuration values from a running system:

```plaintext
asadm -e 'show config'
```

To view the configuration value for a specific context:

```plaintext
asadm -e 'show config <context name>'
```

To view namespace-specific configuration:

```plaintext
asadm -e 'show config namespace for <namespace name>'
```

To view the configuration values from a running system:

```plaintext
asinfo -v 'get-config:' -l
```

To view the configuration value for a specific context:

```plaintext
asinfo -v 'get-config:context=<context name>' -l
```

To view namespace-specific configuration:

```plaintext
asinfo -v 'get-config:context=namespace;id=<namespace name>' -l
```

## Dynamic configuration

::: note
[Tools package 6.0.x](https://aerospike.com/docs/database/tools/release-notes#tools-603) or later is required to use asadm’s [manage config](https://aerospike.com/docs/database/tools/asadm/live-mode/#manage) commands.
:::

### asadm or asinfo

To change the dynamic configuration values on a running system use [`asadm`](https://aerospike.com/docs/database/tools/asadm) or [`asinfo`](https://aerospike.com/docs/database/tools/asinfo):

-   [asadm](#tab-panel-713)
-   [asinfo](#tab-panel-714)

```plaintext
asadm -e 'enable; manage config <context name> <optional id> param <parameter name> to <parameter value>'
```

```plaintext
asadm -e 'enable; manage config <context name> <subcontext name> param <parameter name> to <parameter value>'
```

```plaintext
asinfo -v 'set-config:context=<context name>;id=<optional id>;<parameter name>=<parameter value>' -l
```

```plaintext
asinfo -v 'set-config:context=<context name>;<subcontext name>.<parameter name>=<parameter value>' -l
```

where:

-   `set-config`: Command used to change any dynamically configurable parameter.
-   `context`: The component being updated. Allowed values:
    -   `logging`
    -   `namespace`
    -   `security`
    -   `service`
    -   `network`
    -   `xdr`
-   `<subcontext name>`: The sub-component being updated. Allowed values:
    -   `heartbeat`
    -   `fabric`
    -   `file`
    -   `set`
    -   For XDR: `datacenter` and `namespace`.
    -   The `<subcontext name>` field is not required for subcontext `storage-engine`.
-   `id`: This is required only if updating namespace-specific configuration values. Note: this `id` is not used with XDR `namespace` syntax. See [XDR syntax](#xdr-syntax) below.
-   `<parameter name>`: This is the configuration name that is being updated.

-   [asadm](#tab-panel-715)
-   [asinfo](#tab-panel-716)

To set a parameter in the `set` subcontext

```plaintext
asadm -e 'enable; manage config namespace <namespace name> set <set name> param <parameter name> to <parameter value>'
```

Other examples for service, namespace, and network contexts:

```plaintext
asadm -e 'enable; manage config service param proto-fd-max to 100000'

asadm -e 'enable; manage config namespace test param defrag-sleep to 500'

asadm -e 'enable; manage config network heartbeat param protocol to v3'
```

To set a parameter in the `set` subcontext

```plaintext
asinfo -v 'set-config:context=namespace;id=<namespace name>;set=someSetName;<parameter name>=<parameter value>' -l
```

Other examples for service, namespace, and network contexts:

```plaintext
asinfo -v 'set-config:context=service;proto-fd-max=100000' -l

asinfo -v 'set-config:context=namespace;id=test;defrag-sleep=500' -l

asinfo -v 'set-config:context=network;heartbeat.protocol=v3' -l
```

## XDR syntax

### View highest-level XDR-specific configuration values

-   [asadm](#tab-panel-717)
-   [asinfo](#tab-panel-718)

```plaintext
asadm -e 'show config xdr'
```

```plaintext
asinfo -v 'get-config:context=xdr' -l
```

### Create a new datacenter

-   [asadm](#tab-panel-719)
-   [asinfo](#tab-panel-720)

```plaintext
asadm -e 'enable; manage config xdr create dc <dc name>'
```

```plaintext
asinfo -v 'set-config:context=xdr;dc=<dc name>;action=create' -l
```

### Delete a datacenter

-   [asadm](#tab-panel-721)
-   [asinfo](#tab-panel-722)

```plaintext
asadm -e 'enable; manage config xdr delete dc <dc name>'
```

```plaintext
asinfo -v 'set-config:context=xdr;dc=<dc name>;action=delete' -l
```

### Add a new XDR namespace

-   [asadm](#tab-panel-723)
-   [asinfo](#tab-panel-724)

```plaintext
asadm -e 'enable; manage config xdr dc <dc name> add namespace <namespace name>'
```

```plaintext
asinfo -v 'set-config:context=xdr;dc=<dc name>;namespace=<namespace name>;action=add' -l
```

### Remove an XDR namespace

-   [asadm](#tab-panel-725)
-   [asinfo](#tab-panel-726)

```plaintext
asadm -e 'enable; manage config xdr dc <dc name> remove namespace <namespace name>'
```

```plaintext
asinfo -v 'set-config:context=xdr;dc=<dc name>;namespace=<namespace name>;action=remove' -l
```

### Set a specific parameter for an XDR namespace

-   [asadm](#tab-panel-727)
-   [asinfo](#tab-panel-728)

```plaintext
asadm -e 'enable; manage config xdr dc <dc name> namespace <namespace name> param <parameter name> to <parameter value>'
```

```plaintext
asinfo -v 'set-config:context=xdr;dc=<dc name>;namespace=<namespace name>;<parameter name>=<parameter value>' -l
```

### View the configuration values for a specific XDR datacenter

-   [asadm](#tab-panel-729)
-   [asinfo](#tab-panel-730)

```plaintext
asadm -e 'show config xdr for <dc name>'
```

```plaintext
asinfo -v 'get-config:context=xdr;dc=<dc name>' -l
```

### View the configuration values for a specific XDR namespace

-   [asadm](#tab-panel-731)
-   [asinfo](#tab-panel-732)

```plaintext
asadm -e 'show config xdr for <dc name> for <namespace name>'
```

```plaintext
asinfo -v 'get-config:context=xdr;dc=<dc name>;namespace=<namespace name>' -l
```