Back to source list
oracledb
Official
Premium

OracleDB

The CloudQuery OracleDB plugin syncs your OracleDB database to any of the supported CloudQuery destinations

Publisher

cloudquery

Latest version

v4.7.3

Type

Source

Platforms
Date Published

Price per 1M rows

Starting from $17

monthly free quota

1M rows

Set up process #


brew install cloudquery/tap/cloudquery

1. Download CLI and login

See installation options

2. Create source and destination configs

Plugin configuration

cloudquery sync oracledb.yml postgresql.yml

3. Run the sync

CloudQuery sync

Overview #

The CloudQuery OracleDB plugin syncs your OracleDB database to any of the supported CloudQuery destinations (e.g. PostgreSQL, BigQuery, Snowflake, and more).

Database Connection #

In order for CloudQuery to sync resources from your Oracle Database, you will need to use one of the supported connection methods. More details on each method are provided in the configuration reference section.

Example Configuration #

kind: source
spec:
  name: oracledb
  path: cloudquery/oracledb
  registry: cloudquery
  version: "v4.7.3"
  tables: ["*"]
  destinations: ["postgresql"]
  # Learn more about the configuration options at https://cql.ink/oracledb_source
  spec:
    # A URL-encoded connection string used when connecting to the database in the format oracle://user:password@server:port/service_name.
    # If choosing this method, make sure that special characters like `#`, `%`, `"`, etc., are correctly URL encoded.
    #
    # It’s generally recommended to use the `dsn` connection method instead of `connection_string`, as it
    # helps avoid encoding errors by managing components separately.
    #
    # Note: To use the default port (1521), omit the port number from the connection string, but keep the
    # colon (:), for example: oracle://user:password@server:/service_name.
    # For more details, refer to the [Go driver documentation](https://github.com/sijms/go-ora).
    connection_string: "${ORACLE_DB_CONNECTION_STRING}"

    # Optional parameters
    # dsn:
    #   server: 127.0.0.1
    #   port: 1521
    #   user: system
    #   password: ${ORACLE_DB_PASSWORD}
    #   service: xe
    #   options:
    #     trace file: oracle-trace.txt
    # session_parameters:
    #   <SESSION_KEY>: "<VALUE>"
    # queries: []
    # rows_per_record: 500
    # concurrency: 100

Configuration Reference #

This is the (nested) spec used by the OracleDB destination plugin.
  • connection_string (string) (required if dsn is not set)
    A URL-encoded connection string in the format oracle://{user}:{password}@{server}:{port}/{service_name}. If the connection string contains special characters, those symbols must be encoded. It's generally recommended to use the dsn instead of connection_string, as it helps to avoid encoding errors by managing components separately.
    Note: To use the default port (1521), omit the port number from the connection string, but keep the colon (:), for example: oracle://user@server:/service_name. For more details, refer to the Go driver documentation.
  • dsn (DSN) (required if connection_string is not set)
    A set of components that are used to build a connection string. Using this connection method is preferred as it handles encoding for each part of the connection string, avoiding possible URL encoding errors.
  • queries (list of queries Spec) (optional)
    (Preview feature) List of queries to run instead of directly reading tables. The tables in top-level spec should be left as * or can be a subset of these tables.
  • rows_per_record (integer) (optional) (default: 500)
    Amount of rows to be packed into a single Apache Arrow record to be sent over the wire during sync.
  • concurrency (integer) (optional) (default: 100)
    Number of tables to sync concurrently. Lower or increase this number based on your database size and available resources.
  • session_parameters (map[string]string) (optional)
    A map of key-value pairs representing additional session parameters to be set after connecting to the database. These parameters are set using the ALTER SESSION command.
DSN Spec
  • server (string) (required)
    A host used when building a connection string.
  • port (int) (optional, default: 1521)
    A port used when building a connection string.
  • service (string) (optional)
    A service name used when building a connection string.
    This value typically corresponds to the database edition, such as xe (for express), enterprise, standard, etc.
  • user (string) (required)
    A username used in the authentication part of the connection string.
  • password (string) (optional)
    A password used in the authentication part of the connection string.
  • options (map[string]string) (optional)
    A map of key-value pairs representing additional connection options to include in the connection string.

Queries Spec (Preview) #

Allows running arbitrary queries instead of fetching existing tables. Each query will be run as a separate table.
  • name (string) (required)
    Name of the table to be generated from the query.
  • query (string) (required)
    SQL query to run.
Example
The below config duplicates the ALL_TABLES meta table to the destination, as all_oracle_tables table:
kind: source
spec:
  name: oracledb
  path: cloudquery/oracledb
  registry: cloudquery
  version: "v4.7.3"
  tables: ["*"] # We want all tables specified in queries to be synced
  destinations: ["postgresql"]
  spec:
    # Connection string to connect to the database in the format oracle://user:password@server:port/service_name.
    # To use the default 1521 port, you can omit it from the connection string, but still need to keep the :, for example oracle://user:password@server:/service_name.
    connection_string: "${ORACLE_DB_CONNECTION_STRING}"
    queries:
      - name: all_oracle_tables
        query: SELECT * FROM ALL_TABLES


Licenses #

The following tools / packages are used in this plugin:
NameLicense
github.com/adrg/xdgMIT
github.com/apache/arrow/go/v13Apache-2.0
github.com/apache/arrow/go/v17Apache-2.0
github.com/apapsch/go-jsonmerge/v2MIT
github.com/aws/aws-sdk-go-v2Apache-2.0
github.com/aws/aws-sdk-go-v2/configApache-2.0
github.com/aws/aws-sdk-go-v2/credentialsApache-2.0
github.com/aws/aws-sdk-go-v2/feature/ec2/imdsApache-2.0
github.com/aws/aws-sdk-go-v2/internal/configsourcesApache-2.0
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2Apache-2.0
github.com/aws/aws-sdk-go-v2/internal/iniApache-2.0
github.com/aws/aws-sdk-go-v2/internal/sync/singleflightBSD-3-Clause
github.com/aws/aws-sdk-go-v2/service/internal/accept-encodingApache-2.0
github.com/aws/aws-sdk-go-v2/service/internal/presigned-urlApache-2.0
github.com/aws/aws-sdk-go-v2/service/licensemanagerApache-2.0
github.com/aws/aws-sdk-go-v2/service/marketplacemeteringApache-2.0
github.com/aws/aws-sdk-go-v2/service/ssoApache-2.0
github.com/aws/aws-sdk-go-v2/service/ssooidcApache-2.0
github.com/aws/aws-sdk-go-v2/service/stsApache-2.0
github.com/aws/smithy-goApache-2.0
github.com/aws/smithy-go/internal/sync/singleflightBSD-3-Clause
github.com/cenkalti/backoff/v4MIT
github.com/cloudquery/cloudquery-api-goMPL-2.0
github.com/cloudquery/plugin-pb-goMPL-2.0
github.com/cloudquery/plugin-sdk/v2/internal/globMIT
github.com/cloudquery/plugin-sdk/v2/schemaMIT
github.com/cloudquery/plugin-sdk/v2/typesMPL-2.0
github.com/cloudquery/plugin-sdk/v4MPL-2.0
github.com/cloudquery/plugin-sdk/v4/globMIT
github.com/cloudquery/plugin-sdk/v4/scalarMIT
github.com/davecgh/go-spew/spewISC
github.com/ghodss/yamlMIT
github.com/go-logr/logrApache-2.0
github.com/go-logr/stdrApache-2.0
github.com/goccy/go-jsonMIT
github.com/google/flatbuffers/goApache-2.0
github.com/google/uuidBSD-3-Clause
github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptorsApache-2.0
github.com/grpc-ecosystem/grpc-gateway/v2BSD-3-Clause
github.com/hashicorp/go-cleanhttpMPL-2.0
github.com/hashicorp/go-retryablehttpMPL-2.0
github.com/klauspost/compressApache-2.0
github.com/klauspost/compress/internal/snaprefBSD-3-Clause
github.com/klauspost/compress/zstd/internal/xxhashMIT
github.com/mattn/go-colorableMIT
github.com/mattn/go-isattyMIT
github.com/oapi-codegen/runtimeApache-2.0
github.com/pierrec/lz4/v4BSD-3-Clause
github.com/pmezard/go-difflib/difflibBSD-3-Clause
github.com/rs/zerologMIT
github.com/santhosh-tekuri/jsonschema/v6Apache-2.0
github.com/sijms/go-ora/v2MIT
github.com/spf13/cobraApache-2.0
github.com/spf13/pflagBSD-3-Clause
github.com/stretchr/testifyMIT
github.com/thoas/go-funkMIT
github.com/zeebo/xxh3BSD-2-Clause
go.opentelemetry.io/otelApache-2.0
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttpApache-2.0
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpApache-2.0
go.opentelemetry.io/otel/exporters/otlp/otlptraceApache-2.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttpApache-2.0
go.opentelemetry.io/otel/logApache-2.0
go.opentelemetry.io/otel/metricApache-2.0
go.opentelemetry.io/otel/sdkApache-2.0
go.opentelemetry.io/otel/sdk/logApache-2.0
go.opentelemetry.io/otel/sdk/metricApache-2.0
go.opentelemetry.io/otel/traceApache-2.0
go.opentelemetry.io/proto/otlpApache-2.0
golang.org/x/expBSD-3-Clause
golang.org/x/netBSD-3-Clause
golang.org/x/sync/errgroupBSD-3-Clause
golang.org/x/sysBSD-3-Clause
golang.org/x/textBSD-3-Clause
golang.org/x/xerrorsBSD-3-Clause
google.golang.org/genproto/googleapis/api/httpbodyApache-2.0
google.golang.org/genproto/googleapis/rpc/statusApache-2.0
google.golang.org/grpcApache-2.0
google.golang.org/protobufBSD-3-Clause
gopkg.in/yaml.v2Apache-2.0
gopkg.in/yaml.v3MIT


Join our mailing list

Subscribe to our newsletter to make sure you don't miss any updates.

Legal

© 2024 CloudQuery, Inc. All rights reserved.

We use tracking cookies to understand how you use the product and help us improve it. Please accept cookies to help us improve. You can always opt out later via the link in the footer.