# Run Oracle in a Docker container on Windows

This article goes through the steps of running a docker container with a development or free oracle database.

This is an alternative way from installing Oracle either local or hosting on a VM.

## Prerequisite

Docker Desktop (check your license) configured to run [Linux containers](https://learn.microsoft.com/en-us/virtualization/windowscontainers/quick-start/quick-start-windows-10-linux).

## Pull the official Oracle DB container image

Oracle provides pre-build Docker images hosted on their own registry at [container-registry.oracle.com](https://container-registry.oracle.com/).

You'll find a number of images under the Database containers.

For development I use either **express** or **free**. Both are falling under the Oracle Free Use Terms and Conditions.

![](data:image/png;base64,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 align="left")

> *Note: to access any software from oracle, you will need first to create a free Oracle account.*

```powershell
docker login container-registry.oracle.com

# express
docker pull container-registry.oracle.com/database/express:21.3.0-ex

# free
docker pull container-registry.oracle.com/database/free:23.5.0.0
```

## Run the Oracle database with Docker

We create a local directory which will contain the database data files. This will then be mounted to the container, ensuring data persistency between the containers lifecycle.

In my case, I create a local directory which matches the oracle version of my running container.

C:\\oracle\\data\\21.1.3 (express)  
C:\\oracle\\data\\23.2 (free)

```powershell
# express  
docker run --name oracle-21.1.3.0-xe -p 1521:1521 -e ORACLE_PWD=PWD1234-v C:\oracle\data\21.1.3:/opt/oracle/oradata container-registry.oracle.com/database/express:21.3.0-xe

#free
docker run --name oracle-23.5.0.0-free -p 1521:1521 -e ORACLE_PWD=PWD1234 -v C:\oracle\data\23.5:/opt/oracle/oradata container-registry.oracle.com/database/free:23.5.0.0
```

You should see following in the output window.

```plaintext
2024-09-07 16:38:46 Starting Oracle Net Listener.
2024-09-07 16:38:48 Oracle Net Listener started.
2024-09-07 16:38:48 Starting Oracle Database instance XE.
2024-09-07 16:38:53 Oracle Database instance XE started.
2024-09-07 16:38:53
2024-09-07 16:38:53 The Oracle base remains unchanged with value /opt/oracle 
2024-09-07 16:38:53 #########################
2024-09-07 16:38:53 DATABASE IS READY TO USE!
2024-09-07 16:38:53 #########################
```

At this moment, you're able to connect to the database using sqlplus once you installed the client packages.

## Install client for windows 64-bit

To connect to your database with your application, you will need to install the Oracle client.

You can download the [client packages here](https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html#ic_winx64_inst). Follow the instructions under "**Instant Client Installation for Microsoft Windows 64-bit**".

For my tests, I installed following packages below. I used version 23.5.0.0.0 and could connect to both the free and express containers.

* Basic Light Package
    
* SQL\*Plus Package
    

## Configure tnsnames.ora

It is very common to configure a TNS name as a user-friendly alias for the database connection.

The docker database is a multitenant container database (CDB).  
Read more about [**multitenant architecture**](https://docs.oracle.com/en/database/oracle/oracle-database/19/multi/introduction-to-the-multitenant-architecture.html).

If your scripts or code do not support CDB, you will need to connect to the underlying PDB (Pluggable Database).

> *Main issue with scripts and code could be creation of users.*  
> *In CDB, you have the notion of Common and Local User.*  
> *When connected to the root (CDB), the 'create user' command will create a common user which has a number of restrictions.*  
> *For our scripts to work, we need to open a session on the PDB to create a local user only known to that PDB.*  
> [*https://www.dbasolved.com/2013/06/common-user-vs-local-user-12c-edition/*](https://www.dbasolved.com/2013/06/common-user-vs-local-user-12c-edition/)

Create following **tnsnames.ora** file and save it under {oracle-client-root}/network/admin.

```text
# tnsnames.ora Network Configuration File: C:\oracle\client\instantclient_23_5\network\admin\tnsnames.ora

ALIAS =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    ) 
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XEPDB1) #FREEPDB1
    )
  )
```

You may want to set the TNS\_ADMIN environment variable to this directory.

## Test connection

### SqlPlus

Use sqlplus command line tool to connect to the database.

```powershell
sqlplus sys/PWD1234@//localhost:1521/XEPDB1 as sysdba
# use tnsnames
Sqlplus sys/@ALIAS as sysdba
```

### SQL Developer extension for VS Code

You can use a graphical interface with SQL Developer or the SQL Developer extension in VS Code.

Make sure you select connection type **TNS**, and specify the tnsnames.ora directory in the settings.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1725723525396/6f13b641-60b7-4258-b111-bddec8e9f5c1.png align="center")
