URI definition for Oracle follows this standard:

Identifier fragments:

  • Namespace: oracle://{host}:{port}
    • Scheme = oracle
    • Authority = {host}:{port}
  • Unique name: {database}.{schema}.{table}

URI format:

  • oracle://{host}:{port}/{database}.{schema}.{table}

Parameters limitations:

  • host identifier must start with a lowercase letter and include only lowercase letters, numbers, dash and dot (regex: [a-z][a-z0-9-.]+)
  • port number must include only numbers
  • database name must start by a letter and include only lowercase and uppercase letters, numbers, underscore, dollar and # (Regex: [a-zA-Z][a-zA-Z0-9_$#]*). This parameter should match the DB_UNIQUE_NAME parameter you can find in Oracle.
  • schema and table can have two format, following Oracle naming standards: quoted format and unquoted format
    • unquoted identifier must include only lowercases, uppercases, numbers and underscore, dollar and # (regex:[a-zA-Z][a-zA-Z0-9_$#]* )
    • quoted identifier needs to be quoted using double quotes and must include only characters included in the unicode range U+0001 to U+007F, excluding double-quote character.

Examples:

  • oracle://sifflet-dev-oracle.bu2ngc.eu-west-1.rds.amazonaws.com:1521/database_name.schema.table_name
  • oracle://sifflet-dev-oracle.a2ngc.eu-west-1.rds:1521/data$ba_se."{SCh1234^_$#A"."tABle1234_?$#my]_"