budibase/packages/server/scripts/integrations/oracle/oracle.md

2.5 KiB

Installation

Database

Important

  • Oracle database is supported only on x86-64 architecture
  • Oracle database is not supported on Mac ARM architecture (either via docker or linux virtualization)

To install oracle express edition simply run docker-compose up

  • A single instance pluggable database (PDB) will be created named xepdb
  • The default password is configured in the compose file as oracle
    • The system, sys and pdbadmin users all share this password

Instant Client

Before oracle can be connected to from nodejs, the oracle client must be installed. For more information see https://www.oracle.com/database/technologies/instant-client/downloads.html

Important

  • Oracle client is supported only on x86-64 architecture
  • Oracle client is not supported on Mac ARM architecture

Linux

Run the provided install script for linux from the server root path:

sudo /bin/bash -e scripts/integrations/oracle/instantclient/linux/x86-64/install.sh

For more information see: https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html#ic_x64_inst

Mac

This has not yet been tested

See: https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html#ic_osx_inst

Management

To connect to oracle sql command line:

docker exec -it oracle-xe sqlplus -l system/oracle@localhost/xepdb1

To create a new schema (where a user is the same as a schema in oracle) named sales:

define USERNAME = sales

create user &USERNAME;

alter user &USERNAME
    default tablespace users
    temporary tablespace temp
    quota unlimited on users;

grant create session,
    create view,
    create sequence,
    create procedure,
    create table,
    create trigger,
    create type,
    create materialized view
    to &USERNAME;

To set the password for the sales schema use:

define USERNAME = sales
define PASSWORD = sales

alter user &USERNAME identified by &PASSWORD;

As before the database schema can now be connected to using:

docker exec -it oracle-xe sqlplus -l sales/sales@localhost:1521/xepdb1

HR Schema

The HR schema is populated with dummy data by default in oracle for testing purposes. To connect to the HR schema first update the user password and unlock the account by performing

ALTER USER hr ACCOUNT UNLOCK;
ALTER USER hr IDENTIFIED BY hr

You should now be able to connect to the hr schema using the credentials hr/hr