Setting up Oracle Database for development in docker is very easy - it also runs in WSL2.
Let's use the oracleinanutshell/oracle-xe-11g image. https://hub.docker.com/r/oracleinanutshell/oracle-xe-11g
Running Oracle Database on Docker
Run the following commands in your terminal.
#pulls the images from docker hub docker pull oracleinanutshell/oracle-xe-11g #runs the image using port forwarding docker run -d -p 49161:1521 oracleinanutshell/oracle-xe-11g
Pull and Run Oracle XE 11g
The output should be something like this.
Set up a new user and configure the tablespace
With the Application running in the background let's create a new Oracle User and set up the appropriate tablespace and grants.
Get the running container Id and attach it running bash
.
docker exec -it 82 bash
Type sqlplus
to open SQLPlus in the terminal.
sqlplus
Connect using the username and password below.
Database Information hostname: localhost internal port: 49161 sid: xe username: system password: oracle
Run the following commands to set up the new user and tablespace.
CREATE TABLESPACE TSD_USERDB LOGGING DATAFILE 'TSD_USERDB.DBF' SIZE 200M AUTOEXTEND ON NEXT 200M MAXSIZE 400M; CREATE TABLESPACE TSI_USERDB LOGGING DATAFILE 'TSI_USERDB.DBF' SIZE 200M AUTOEXTEND ON NEXT 50M MAXSIZE 400M; CREATE USER USERDB IDENTIFIED BY PASSWORD DEFAULT TABLESPACE TSI_USERDB QUOTA UNLIMITED ON TSD_USERDB QUOTA UNLIMITED ON TSI_USERDB;
Setup tablespace
Then run the necessary grants.
GRANT CREATE SESSION TO USERDB; GRANT CREATE PROCEDURE TO USERDB; GRANT CREATE VIEW TO USERDB; GRANT CREATE TABLE TO USERDB; GRANT CREATE SEQUENCE TO USERDB; GRANT CREATE TRIGGER TO USERDB;
Setup permissions
Connect using SQL Developer
Connect using the recently created user to manage your database.
Database Information hostname: localhost port: 49161 sid: xe username: USERDB password: PASSWORD
All done here. If you like it subscribe for more content.
Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.