# Update a CDB.

Endpoint: PATCH /cdbs/{cdbId}
Version: 3.30.0
Security: ApiKeyAuth

## Security:

  - `ApiKeyAuth` (unknown)
    apiKey in header Authorization

## Path parameters:

  - `cdbId` (string, required)
    The ID of the CDB.

## Request body:

  - `application/json` (unknown)
    The parameters to update a CDB.

## Request fields (application/json):

  - `oracle_services` (array)
    List of jdbc connection strings which are used to connect with the database.
    Example: ["jdbc:oracle:thin:@hostname:port/service_name","jdbc:oracle:thin:@hostname:port:SID"]

  - `logsync_enabled` (boolean)
    True if LogSync is enabled for this CDB.

  - `logsync_mode` (string)
    LogSync operation mode for this dSource.
    Enum: "ARCHIVE_ONLY_MODE", "ARCHIVE_REDO_MODE", "UNDEFINED"

  - `logsync_interval` (integer)
    Interval between LogSync requests, in seconds.

  - `tde_keystore_password` (string)
    For a CDB using software keystore, this is the password of the software keystore used by this database. For a CDB using OKV, this is the password for the endpoint provided during the installation of the Oracle Key Vault client library (i.e., okvclient.jar) on the host where this database runs. For a CDB using HSM, this is the credential of the external key manager which is managing master encryption keys of this database. A blank string will unset the existing tde keystore password.
    Example: password

  - `tde_keystore_config_type` (string)
    Oracle TDE keystore configuration type.
    Enum: "FILE", "OKV", "HSM", "OKV|FILE", "FILE|OKV", "HSM|FILE", "FILE|HSM", "OCI_VAULT", "UNSET"

  - `tde_kms_pkcs11_config_path` (string)
    Path to the PKCS#11 configuration file for TDE KMS. A blank string will unset the existing PKCS#11 config path.
    Example: /etc/oracle/tde/kms_pkcs11.conf

  - `description` (string)
    The container description of this Linked CDB.
    Example: Updated Linked CDB description.

  - `diagnose_no_logging_faults` (boolean)
    Example: true

  - `environment_user_id` (string)
    The environment user ID to use to connect to the environment.
    Example: ENV_USER-1

  - `rman_channels` (integer)
    Number of parallel channels to use.

  - `files_per_set` (integer)
    Number of data files to include in each RMAN backup set.

  - `encrypted_linking_enabled` (boolean)
    True if SnapSync data from the source should be retrieved through an encrypted connection. Enabling this feature can decrease the performance of SnapSync from the source but has no impact on the performance of VDBs created from the retrieved data.

  - `compressed_linking_enabled` (boolean)
    True if SnapSync data from the source should be compressed over the network. Enabling this feature will reduce network bandwidth consumption and may significantly improve throughput, especially over slow network.

  - `bandwidth_limit` (integer)
    Bandwidth limit (MB/s) for SnapSync and LogSync network traffic. A value of 0 means no limit.

  - `number_of_connections` (integer)
    Total number of transport connections to use during SnapSync.

  - `backup_level_enabled` (boolean)
    Boolean value indicates whether LEVEL-based incremental backups can be used on the source db.

  - `check_logical` (boolean)
    True if extended block checking should be used for this linked database.

  - `db_username` (string)
    The name of the database user.
    Example: db-username

  - `db_password` (string)
    The password of the database user.
    Example: db-password

  - `non_sys_username` (string)
    The username of a database user that does not have administrative privileges.

  - `non_sys_password` (string)
    The username of a database user that does not have administrative privileges.

  - `okv_client_id` (string)
    The id of the OKV client used for TDE keystore access. A blank string will unset the existing OKV client id.
    Example: 1-ORACLE_OKV_CLIENT-1

  - `instance_name` (string)
    The instance name of this single instance CDB. Must contain at least one non-whitespace character.
    Example: CDBSID

  - `instance_number` (integer)
    The instance number of this single instance CDB.
    Example: 1

  - `instances` (array)
    The instances of this RAC database.
    Example: [{"instance_name":"instance1","instance_number":1,"node_reference":"ORACLE_CLUSTER_NODE-1","okv_client_id":"1-ORACLE_OKV_CLIENT-1"}]

  - `instances.instance_name` (string, required)
    The name of this instance. Must contain at least one non-whitespace character.

  - `instances.instance_number` (integer, required)
    The number of this instance.

  - `instances.node_reference` (string, required)
    The reference to the cluster node which the instance is running on. Must contain at least one non-whitespace character.

  - `instances.okv_client_id` (string)
    The id of the OKV client used for TDE keystore access. If provided, it must include at least one non-whitespace character; if omitted, the existing OKV client will be cleared.
    Example: 1-ORACLE_OKV_CLIENT-1

## Response 200:

  - `200` (unknown)
    CDB update initiated.

## Response 200 fields (application/json):

  - `job` (object)
    An asynchronous task.

  - `job.id` (string)
    The Job entity ID.
    Example: job-123

  - `job.status` (string)
    The status of the job.
    Enum: "PENDING", "STARTED", "TIMEDOUT", "RUNNING", "CANCELED", "FAILED", "SUSPENDED", "WAITING", "COMPLETED", "ABANDONED"

  - `job.is_waiting_for_telemetry` (boolean)
    Indicates that the operations performed by this Job have completed successfully, but the object changes are not yet reflected. This is only set when when the JOB is in STARTED status, with the guarantee that the job will not transition to the FAILED status. Note that this flag will likely be replaced with a new status in future API versions and be deprecated.

  - `job.type` (string)
    The type of job being done.
    Example: DB_REFRESH

  - `job.localized_type` (string)
    The i18n translated type of job being done.
    Example: DB Refresh

  - `job.error_details` (string)
    Details about the failure for FAILED jobs.
    Example: Unable to connect to the engine.

  - `job.warning_message` (string)
    Warnings for the job.
    Example: Failed to remove local MaskingJob, engineId: 3 localMaskingJobId: 7.

  - `job.target_id` (string)
    A reference to the job's target.
    Example: vdb-123

  - `job.target_name` (string)
    A reference to the job's target name.
    Example: vdb

  - `job.work_source_id` (string)
    The ID of the entity that initiated this job (e.g. a policy ID), if applicable.

  - `job.work_source_name` (string)
    The name of the entity that initiated this job, if applicable.

  - `job.work_source_type` (string)
    The origin of the operation that created this job. Null for DCT-initiated operations (attributed via account_id). DIRECT means the action was performed directly on the engine, bypassing DCT; POLICY means an automated policy triggered it; SYSTEM means it was engine-internal.
    Enum: "DIRECT", "POLICY", "SYSTEM"

  - `job.start_time` (string)
    The time the job started executing.
    Example: 2022-01-02T05:11:24.148Z

  - `job.update_time` (string)
    The time the job was last updated.
    Example: 2022-01-02T06:11:24.148Z

  - `job.trace_id` (string)
    traceId of the request which created this Job

  - `job.engine_ids` (array)
    IDs of the engines this Job is executing on.

  - `job.tags` (array)

  - `job.tags.key` (string, required)
    Key of the tag
    Example: key-1

  - `job.tags.value` (string, required)
    Value of the tag
    Example: value-1

  - `job.engines` (array)

  - `job.engines.engine_id` (string)

  - `job.engines.engine_name` (string)

  - `job.account_id` (integer)
    The ID of the account who initiated this job.
    Example: 1

  - `job.account_name` (string)
    The account name which initiated this job. It can be either firstname and lastname combination or firstname or lastname or username or email address or Account-.
    Example: User 1

  - `job.compliance_node_id` (string)
    The ID of the associated compliance node, if applicable.

  - `job.compliance_node_name` (string)
    The name of the associated compliance node, if applicable.

  - `job.percent_complete` (integer)
    Completion percentage of the Job.
    Example: 50

  - `job.virtualization_tasks` (array)

  - `job.virtualization_tasks.id` (string)

  - `job.virtualization_tasks.parent_job_id` (string)

  - `job.virtualization_tasks.start_time` (string)

  - `job.virtualization_tasks.end_time` (string)

  - `job.virtualization_tasks.title` (string)

  - `job.virtualization_tasks.percent_complete` (integer)

  - `job.virtualization_tasks.events` (array)

  - `job.virtualization_tasks.events.message_details` (string)

  - `job.virtualization_tasks.events.message_action` (string)

  - `job.virtualization_tasks.events.message_command_output` (string)

  - `job.virtualization_tasks.status` (string)
    Enum: "PENDING", "STARTED", "TIMEDOUT", "RUNNING", "CANCELED", "FAILED", "SUSPENDED", "WAITING", "COMPLETED", "ABANDONED"

  - `job.tasks` (array)

  - `job.tasks.id` (string)

  - `job.tasks.parent_job_id` (string)

  - `job.tasks.start_time` (string)

  - `job.tasks.end_time` (string)

  - `job.tasks.title` (string)

  - `job.tasks.percent_complete` (integer)

  - `job.tasks.events` (array)

  - `job.tasks.events.message_details` (string)

  - `job.tasks.events.message_action` (string)

  - `job.tasks.events.message_command_output` (string)

  - `job.tasks.events.timestamp` (string)
    When this specific event occurred. Absent/null for events persisted before this field was added (no backfill) and for any producer not yet updated to set it.

  - `job.tasks.status` (string)
    Enum: "PENDING", "STARTED", "TIMEDOUT", "RUNNING", "CANCELED", "FAILED", "SUSPENDED", "WAITING", "COMPLETED", "ABANDONED"

  - `job.execution_id` (string)
    The ID of the associated masking execution, if any.

  - `job.result_type` (string)
    The type of the job result. This is the type of the object present in the result.

  - `job.result` (object)
    The result of the job execution. This is JSON serialized string of the result object whose type is specified by result_type property.

  - `job.parent_job_id` (string)
    The ID of the parent job, if this job was triggered by another job.

