# Update values of an Oracle dSource

Endpoint: PATCH /dsources/oracle/{dsourceId}
Version: 3.30.0
Security: ApiKeyAuth

## Security:

  - `ApiKeyAuth` (unknown)
    apiKey in header Authorization

## Path parameters:

  - `dsourceId` (string, required)
    The ID of the dSource.

## Request body:

  - `application/json` (unknown)
    The new data to update an Oracle dSource.

## Request fields (application/json):

  - `name` (string)
    The unique name of the dSource within a group.
    Example: my-dsource

  - `description` (string)
    The description of the dSource.
    Example: my-dsource

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

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

  - `non_sys_username` (string)
    Non-SYS database user to access this database. Only required for username-password auth (Single tenant only).
    Example: oracle

  - `non_sys_password` (string)
    Password for non sys user authentication (Single tenant only).
    Example: db-password

  - `validate_db_credentials` (boolean)
    Whether db_username and db_password must be validated, if present, against the dSource. This must be set to false when credentials validation is not possible, for instance if the dSource is known to be disabled.
    Example: true

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

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

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

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

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

  - `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.

  - `validate_by_opening_db_in_read_only_mode` (boolean)
    Whether the snaphots of this dSource's staging database will be validated by opening it in read-only mode.

  - `pre_provisioning_enabled` (boolean)
    Boolean flag indicating whether or not pre-provisioning is turned on for this dSource.

  - `diagnose_no_logging_faults` (boolean)
    If true, NOLOGGING operations on this dSource are treated as faults and cannot be resolved manually.

  - `rac_max_instance_lag` (integer)
    Maximum number of log sequences to allow a RAC instance to lag before considering the instance offline.

  - `allow_auto_staging_restart_on_host_reboot` (boolean)
    Allow auto restart of staging source on host reboot.

  - `physical_standby` (boolean)
    If true, convert this dSource's staging database to a physical standby.

  - `external_file_path` (string)
    External file path.

  - `hooks` (object)
    DSource operation hooks.

  - `hooks.ops_pre_sync` (array)
    The commands to execute before syncing with external data.

  - `hooks.ops_pre_sync.name` (string)
    Example: Print the current user

  - `hooks.ops_pre_sync.command` (string)
    Example: whoami

  - `hooks.ops_pre_sync.shell` (string)
    Enum: "bash", "shell", "expect", "ps", "psd"

  - `hooks.ops_pre_sync.element_id` (string)
    Pass the element_id only when updating an existing hook, omit to create a new one.
    Example: 3

  - `hooks.ops_pre_sync.has_credentials` (boolean)
    Example: false

  - `hooks.ops_pre_sync.credentials_env_vars` (array)

  - `hooks.ops_pre_sync.credentials_env_vars.base_var_name` (string, required)
    Base name of the environment variables. Variables are named by appending '_USER', '_PASSWORD', '_PUBKEY' and '_PRIVKEY' to this base name, respectively. Variables whose values are not entered or are not present in the type of credential or vault selected, will not be set.

  - `hooks.ops_pre_sync.credentials_env_vars.password` (string)
    Password to assign to the environment variables.
    Example: password

  - `hooks.ops_pre_sync.credentials_env_vars.vault_username` (string)
    Delphix display name for the vault user.
    Example: my-vault

  - `hooks.ops_pre_sync.credentials_env_vars.vault` (string)
    The name or reference of the vault to assign to the environment variables.
    Example: 1-VAULT-1

  - `hooks.ops_pre_sync.credentials_env_vars.hashicorp_vault_engine` (string)
    Vault engine name where the credential is stored.
    Example: kv

  - `hooks.ops_pre_sync.credentials_env_vars.hashicorp_vault_secret_path` (string)
    Path in the vault engine where the credential is stored.
    Example: oracle-env

  - `hooks.ops_pre_sync.credentials_env_vars.hashicorp_vault_username_key` (string)
    Hashicorp vault key for the username in the key-value store.
    Example: username

  - `hooks.ops_pre_sync.credentials_env_vars.hashicorp_vault_secret_key` (string)
    Hashicorp vault key for the password in the key-value store.
    Example: secret

  - `hooks.ops_pre_sync.credentials_env_vars.azure_vault_name` (string)
    Azure key vault name.
    Example: azure_vault

  - `hooks.ops_pre_sync.credentials_env_vars.azure_vault_username_key` (string)
    Azure vault key in the key-value store.
    Example: username

  - `hooks.ops_pre_sync.credentials_env_vars.azure_vault_secret_key` (string)
    Azure vault key in the key-value store.
    Example: secret

  - `hooks.ops_pre_sync.credentials_env_vars.cyberark_vault_query_string` (string)
    Query to find a credential in the CyberArk vault.
    Example: Safe=Test;Folder=Test;Object=Test

  - `hooks.ops_pre_sync.credentials_env_vars.credential_type` (string)
    Credential type of the credential environment variable
    Example: PasswordCredential

  - `hooks.ops_pre_sync.credentials_env_vars.element_id` (string)
    Element ID of the credential environment variable. Omit to create a new credential. Include an existing element_id to update that credential. Any existing credential whose element_id is omitted from the request will be deleted. An element_id that does not match any existing credential is silently ignored.
    Example: 35

  - `hooks.ops_pre_sync.credentials_env_vars.type` (string)
    Type of the credential environment variable
    Example: CredentialsEnvVars

  - `hooks.ops_pre_sync.hook_template_id` (string)
    Example: Hook Template 1

  - `hooks.ops_pre_log_sync` (array)
    The commands to execute after syncing with external data and before running the LogSync.

  - `hooks.ops_post_sync` (array)
    The commands to execute after syncing a linked source.

  - `hooks.pre_validated_sync` (array)
    The commands to execute on the staging source before performing a validated sync.

  - `hooks.post_validated_sync` (array)
    The commands to execute on the staging source after performing a validated sync.

  - `custom_env_variables_pairs` (array)
    An array of name value pair of environment variables.

  - `custom_env_variables_pairs.var_name` (string, required)
    The name of the environment variable.
    Example: env-var-name-1

  - `custom_env_variables_pairs.var_value` (string, required)
    The value of the environment variable.
    Example: env-var-value-1

  - `custom_env_variables_paths` (array)
    An array of strings of whitespace-separated parameters to be passed to the source command. The first parameter must be an absolute path to a file that exists on the target environment. Every subsequent parameter will be treated as an argument interpreted by the environment file.

  - `staging_database_config_params` (object)
    Database configuration parameter overrides.

  - `template_id` (string)
    The template ID of the target Oracle Staging Push dSource.
    Example: 70096a7-6655-4973-8464-682c41c932da

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

  - `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.

  - `repository` (string)
    The repository Id where staging database will be created.
    Example: 1-ORACLE_INSTALL-2

## Response 200:

  - `200` (unknown)
    OK

## 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.

