Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker Oracle Enterprise Database

Docker Pulls Release

Overview

This repository provides a prebuilt Oracle Database Enterprise Edition Docker image with automatic setup and additional configuration scripts for simplified database management

Official Resources

Usage

docker run -d \
    --name oracledb \
    scalified/oracle-database:<version>

Available Versions

Version
19.3.0.0
12.2.0.1-ee
12.1.0.2-se2
12.1.0.2-ee
11g-r2

Connecting to the Database

After the container starts and the database initializes, connect using sqlplus as follows:

sqlplus sys/<your password>@//localhost:1521/<your SID> as sysdba
sqlplus system/<your password>@//localhost:1521/<your SID>
sqlplus sys/<your password>@//localhost:1521/<Your PDB name> as sysdba
sqlplus pdbadmin/<your password>@//localhost:1521/<Your PDB name>

Configuration

Automatic Setup

The setup script is automatically executed during the initial container startup. It performs the following configuration steps:

  • Disables local undo, preventing the database from using locally managed undo segments
  • Sets the PGA aggregate limit to 0, removing the global hard cap on total PGA memory usage
  • Updates the SPFILE to include PROCESSES=2000, allowing up to 2000 server processes or sessions after the next database restart

No manual setup is required.

Creating a Pluggable Database (PDB)

To create a new PDB inside a running Oracle container:

docker exec <oracle_container_name> create-pdb <db_name> <username> <password>

Parameters:

  • <db_name> - PDB name
  • <username> - PDB username
  • <password> - PDB password

Changing Enterprise Manager Endpoint

To view the listener status and endpoints, run:

lsnrctl status

Sample output:

...
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=67e0ca534f7b)(PORT=5500))(Presentation=HTTP)(Session=RAW))
...

Then connect to SQL*Plus as sysdba and update the Enterprise Manager listener endpoint:

exec dbms_xdb_config.setListenerEndPoint(dbms_xdb_config.xdb_endpoint_http2, '67e0ca534f7b', 5500, dbms_xdb_config.xdb_protocol_tcp);

Set the Enterprise Manager (EM) ports if needed:

exec DBMS_XDB_CONFIG.SETHTTPSPORT(5500);
exec DBMS_XDB_CONFIG.SETHTTPPORT(5510);

For more details, refer to DBMS_XDB_CONFIG documentation

Changing Connection Timeouts

To disable inbound connection timeouts, append the following lines to the Oracle network configuration files:

echo "INBOUND_CONNECT_TIMEOUT_LISTENER=0" >> $ORACLE_HOME/network/admin/listener.ora
echo "SQLNET.INBOUND_CONNECT_TIMEOUT=0" >> $ORACLE_HOME/network/admin/sqlnet.ora

Made with ❤️ by Scalified

Releases

Packages

Used by

Contributors

Languages