create

Description

Creates a Globally distributed database.

Usage

oci distributed-database-v26 distributed-db-service distributed-database create [OPTIONS]

Required Parameters

--catalog-details [complex type]

Collection of catalog details for the Globally distributed database. This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--character-set [text]

The character set for the database.

--compartment-id, -c [text]

The OCID of the Globally distributed database compartment.

--database-version [text]

Oracle Database version for the shards and catalog used in Globally distributed database.

--display-name [text]

The display name of the Globally distributed database.

--listener-port [integer]

The listener port number for the Globally distributed database. The listener port number has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database.

--ncharacter-set [text]

The national character set for the database.

--ons-port-local [integer]

The ons local port number for the Globally distributed database. The onsPortLocal has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database.

--ons-port-remote [integer]

The ons remote port number for the Globally distributed database. The onsPortRemote has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database.

--prefix [text]

Unique name prefix for the Globally distributed databases. Only alpha-numeric values are allowed. First character has to be a letter followed by any combination of letter and number.

--private-endpoint-ids [complex type]

The collection of OCID of the private endpoints associated with the Globally distributed database. This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

Optional Parameters

--composite-data-guard-shard-spaces [complex type]

Collection of composite data guard shard spaces.

This option is a JSON list with items of type CreateCompositeDataGuardShardSpaceDetails. For documentation on CreateCompositeDataGuardShardSpaceDetails please see our API reference: https://docs.oracle.com/en-us/iaas/api/#/en/distributeddbservice/20260101/datatypes/CreateCompositeDataGuardShardSpaceDetails. This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--composite-raft-shard-spaces [complex type]

Collection of composite raft shards.

This option is a JSON list with items of type CreateCompositeRaftShardSpaceDetails. For documentation on CreateCompositeRaftShardSpaceDetails please see our API reference: https://docs.oracle.com/en-us/iaas/api/#/en/distributeddbservice/20260101/datatypes/CreateCompositeRaftShardSpaceDetails. This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--db-backup-config [complex type]

This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--defined-tags [complex type]

Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {“foo-namespace”: {“bar-key”: “value”}} This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--freeform-tags [complex type]

Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {“bar-key”: “value”} This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--from-json [text]

Provide input to this command as a JSON document from a file using the file://path-to/file syntax.

The --generate-full-command-json-input option can be used to generate a sample json file to be used with this command option. The key names are pre-populated and match the command option names (converted to camelCase format, e.g. compartment-id –> compartmentId), while the values of the keys need to be populated by the user before using the sample file as an input to this command. For any command option that accepts multiple values, the value of the key can be a JSON array.

Options can still be provided on the command line. If an option exists in both the JSON document and the command line then the command line specified value will be used.

For examples on usage of this option, please see our “using CLI with advanced JSON options” link: https://docs.cloud.oracle.com/iaas/Content/API/SDKDocs/cliusing.htm#AdvancedJSONOptions

--gsm-ssh-public-key [text]

The SSH public key for Global service manager instances.

--listener-port-tls [integer]

The TLS listener port number for the Globally distributed database. The TLS listener port number has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. For EXADB based distributed databases, tls is not supported hence the listenerPortTls is not needed to be provided in create payload.

--max-wait-seconds [integer]

The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.

--notification-topic-ids [complex type]

The collection of OCID for the notification topics associated with the globally distributed database. This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--scan-listener-port [integer]

TCP SCAN listener port for new clusters to be created. Applicable only when shard and catalog source types are XS_NEW_VAULT_AND_CLUSTER or XS_NEW_CLUSTER. Defaults to 1521 when not provided.

--system-chunk-count [integer]

Count of chunks associated with system raft clusters or system data guard databases.

--system-data-guard-databases [complex type]

This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--system-raft-clusters [complex type]

Collection of system raft clusters.

This option is a JSON list with items of type CreateSystemRaftClusterDetails. For documentation on CreateSystemRaftClusterDetails please see our API reference: https://docs.oracle.com/en-us/iaas/api/#/en/distributeddbservice/20260101/datatypes/CreateSystemRaftClusterDetails. This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--system-raft-replication-unit-count [integer]

Number of replication units associated with system raft clusters.

--user-shard-spaces [complex type]

Collection of user defined shard spaces.

This option is a JSON list with items of type CreateUserShardSpaceDetails. For documentation on CreateUserShardSpaceDetails please see our API reference: https://docs.oracle.com/en-us/iaas/api/#/en/distributeddbservice/20260101/datatypes/CreateUserShardSpaceDetails. This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--vcn-nsg-ids [complex type]

The list of network security group (NSG) details to be associated with the distributed database.

This option is a JSON list with items of type VcnNsgIdsDetails. For documentation on VcnNsgIdsDetails please see our API reference: https://docs.oracle.com/en-us/iaas/api/#/en/distributeddbservice/20260101/datatypes/VcnNsgIdsDetails. This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--wait-for-state [text]

This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state ACCEPTED --wait-for-state NEEDS_ATTENTION would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.

Accepted values are:

ACCEPTED, CANCELED, CANCELING, FAILED, IN_PROGRESS, NEEDS_ATTENTION, SUCCEEDED, WAITING
--wait-interval-seconds [integer]

Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.

Example using required parameter

Copy and paste the following example into a JSON file, replacing the example parameters with your own.

    oci distributed-database-v26 distributed-db-service distributed-database create --generate-param-json-input catalog-details > catalog-details.json
    oci distributed-database-v26 distributed-db-service distributed-database create --generate-param-json-input private-endpoint-ids > private-endpoint-ids.json

Copy the following CLI commands into a file named example.sh. Run the command by typing “bash example.sh” and replacing the example parameters with your own.

Please note this sample will only work in the POSIX-compliant bash-like shell. You need to set up the OCI configuration and appropriate security policies before trying the examples.

    export character_set=<substitute-value-of-character_set> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-character-set
    export compartment_id=<substitute-value-of-compartment_id> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-compartment-id
    export database_version=<substitute-value-of-database_version> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-database-version
    export display_name=<substitute-value-of-display_name> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-display-name
    export listener_port=<substitute-value-of-listener_port> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-listener-port
    export ncharacter_set=<substitute-value-of-ncharacter_set> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-ncharacter-set
    export ons_port_local=<substitute-value-of-ons_port_local> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-ons-port-local
    export ons_port_remote=<substitute-value-of-ons_port_remote> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-ons-port-remote
    export prefix=<substitute-value-of-prefix> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/distributed-database-v26/distributed-db-service/distributed-database/create.html#cmdoption-prefix

    oci distributed-database-v26 distributed-db-service distributed-database create --catalog-details file://catalog-details.json --character-set $character_set --compartment-id $compartment_id --database-version $database_version --display-name $display_name --listener-port $listener_port --ncharacter-set $ncharacter_set --ons-port-local $ons_port_local --ons-port-remote $ons_port_remote --prefix $prefix --private-endpoint-ids file://private-endpoint-ids.json