This repository provides prebuilt Oracle Database Docker images bundled with additional management scripts for simplified setup and configuration
- Oracle Database Container Registry
- Creating an Oracle Database Docker Image (Oracle Blog)
- Oracle Database Software Downloads
- Oracle Docker Images (GitHub)
docker run -d \
--name oracledb \
scalified/oracle-database:19.3.0.0-ee| Version | Description |
|---|---|
| 19.3.0.0-ee | 19.3.0.0 Enterprise Edition |
| 12.2.0.1-ee | 12.2.0.1 Enterprise Edition |
| 12.1.0.2-se2 | 12.1.0.2 Standard Edition |
| 12.1.0.2-ee | 12.1.0.2 Enterprise Edition |
| 11g-r2 | 11g Release 2 Express Edition |
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>To run the setup script inside the Oracle container, execute:
docker exec <oracle_container_name> setup
This script performs the following configuration steps:
- Disables local undo, preventing the database from using locally managed undo segments
- Sets the
PGAaggregate limit to0, removing the global hard cap on totalPGAmemory usage - Updates the
SPFILEto includePROCESSES=2000, allowing up to2000server processes or sessions after the next database restart
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
To view the listener status and endpoints, run:
lsnrctl statusSample 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
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.oraMade with ❤️ by Scalified