Oracle database

Telosys database configuration

Below are examples of typical configurations for Oracle database.

Since Telosys 4.3

  - id: oracle
    name: Oracle database
    type: ORACLE
    # JDBC connection
    #   url for SID:     jdbc:oracle:thin:@[HOST][:PORT]:SID     (older format)
    #   url for SERVICE: jdbc:oracle:thin:@[HOST][:PORT]/SERVICE (newer format)
    url: jdbc:oracle:thin:@localhost:1521/MYDBSERVICE
    user: SCOTT
    password: TIGER
    # Metadata parameters
    schema: MYSCHEMA

Before Telosys 4.3

  - id: oracle
    name: Oracle database
    type: ORACLE
    # JDBC driver 
    driver: oracle.jdbc.OracleDriver
    # JDBC connection
    #   url for SID:     jdbc:oracle:thin:@[HOST][:PORT]:SID     (older format)
    #   url for SERVICE: jdbc:oracle:thin:@[HOST][:PORT]/SERVICE (newer format)
    url: jdbc:oracle:thin:@localhost:1521/MYDBSERVICE
    user: SCOTT
    password: TIGER
    # Metadata parameters
    catalog: '!'
    schema: MYSCHEMA
    tableNamePattern: '%'
    tableNameInclude:
    tableNameExclude:
    tableTypes: TABLE

JDBC driver

Technical information about Oracle

Structure

Server (instance) → Database User=Schema → Tables/Objects

  • Database: In Oracle, the "database" is the entire system of data files, control files, redo logs, etc. A database is tied to an instance (set of processes + memory structures). Usually, one instance ↔ one database, though RAC can have multiple instances for one database.

  • Schema: In Oracle, a schema is essentially a user account.

    When you create a user (CREATE USER foo IDENTIFIED BY ...), Oracle automatically creates a schema with the same name. That schema contains all objects owned by that user (tables, views, procedures, etc.).

    There isn’t a concept of multiple schemas under one user; it’s a 1:1 mapping (user = schema).

    It is possible to query another user's objects (cross-schema access) if you have the permissions

Boolean type

Unlike PostgreSQL or MySQL, Oracle has no native BOOLEAN column type (only PL/SQL supports it). That’s a very common pain point with Oracle.

The most common approach is to store boolean values in a column of type NUMBER(1) This is the simplest, portable, and recommended way. For example it allows to use Hibernate without specific converter.

Last updated