Deploying Oracle Database 23c Free — Developer Release on Kubernetes with Helm

Whether you are a developer, a data scientist, a DBA, an educator, or just interested in databases, Oracle Database 23c Free — Developer Release is the ideal way to get started. Let’s take a look at how we can deploy it to a Kubernetes cluster.

Liana Lixandru
5 min readApr 28, 2023
Oracle Database 23c Free — Developer Release is now available

In this article, we’ll be focusing on the deployment to Oracle Container Engine for Kubernetes (OKE). You can also get Oracle Database 23c — Developer Release as a container image, a VM or a package on Linux. Scroll down to the bottom of this article for more installation options.

So, let’s get started. First off, we need to create a cluster in OKE if we don’t have one available already. As a reminder, a lot of new features have been added to OKE recently, including support for enhanced clusters which come with many advantages.

Enhanced clusters provide you with all the available features, including features not supported by basic clusters, enabling you to:

  • Simplify node management through the use of virtual nodes.
  • Deploy and configure cluster add-ons in a more granular way.
  • Strengthen cluster security through the use of workload identity.
  • Provision more worker nodes in the cluster.
  • Rely on a financially-backed service level agreement (SLA) tied to Kubernetes API server uptime and availability.

Creating a new cluster in OKE

You can of course skip this step if you already have created a cluster, and move on to the deployment section of the article.

We have multiple ways of achieving this, either from a local machine by using the OCI command line interface, through REST API calls, or directly from the dashboard UI.

Let’s head on over to the ConsoleDeveloper ServicesKubernetes Clusters (OKE) under Containers & Artifacts.

Navigating to the OKE service

Once on that page, we’ll click on Create Cluster and pick Quick Create:

Quick Create Wizard for OKE

In the wizard, we also have the option to pick the new type of node, virtual nodes:

Selecting Virtual Nodes as the type in the OKE Wizard

Clicking on Next, and then Create Cluster on the Review page will start all the tasks to create our cluster and give it access to the network.

Creating the cluster

Once our cluster status switches to Available, we can go ahead and click on Access Cluster and follow the guide to add our new cluster to ~/.kube/config , in order to be able to manage it locally through the OCI command line interface.

You can also pick Cloud Shell Access if you’d rather do it all from the Console and don’t want to configure kubectl locally.

Access Cluster interface

Once that’s done and we can access our cluster via kubectl , we can go ahead and deploy Oracle Database 23c Free — Developer Release on it.

Deploying Oracle Database 23c Free to OKE with Helm

For ease of use, I used the existing oracle-db Helm chart as a base and modified it for 23c Free. You can clone the modified chart from the GitHub repo below:

For this helm chart, we’re using the image available on the Oracle Container registry: container-registry.oracle.com.

Clone the repo and execute the following command to generate oracle-db23c-free-1.0.0.tgz:

$ helm package oracle-db23c-free

Installing the Chart

To install the chart with the release name db23cfree:

$ helm install db23cfree oracle-db23c-free-1.0.0.tgz

The command deploys Oracle Database 23c Free on the Kubernetes cluster in the default configuration.

Uninstalling the Chart

To uninstall/delete the db23cfree deployment:

$ helm uninstall db23cfree

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

Check out the README of the GitHub repo to see which parameters are configurable. ORACLE_SID and ORACLE_PDB are not configurable for Oracle Database 23c Free — Developer Release.

ORACLE_SID = FREE
ORACLE_PDB = FREEPDB1

Specify each parameter using the --set key=value[,key=value] argument to helm install.

Deploying the Helm chart with a custom password

To deploy the chart and set a custom password for the SYS, SYSTEM, and PDBADMIN administrative user accounts, instead of the auto-generated one:

$ helm install db23cfree --set oracle_pwd=<your_password> oracle-db23c-free-1.0.0.tgz

The above command sets the Oracle Database password to <your_password>.

Oracle recommends that your password should be at least 8 characters in length, contain at least 1 upper case character, 1 lower case character and, 1 digit [0–9].

Checking deployment status with kubectl

Connecting to Oracle Database 23c Free — Developer Release

Let’s see how we can connect to our newly deployed database.

$ kubectl get pods

Connecting to the Container Database (CDB) as SYSDBA:

$ kubectl exec -it pods/pod-name -- sqlplus sys/<your_password>@FREE as sysdba

Connecting to the Pluggable Database (PDB) as SYSDBA:

$ kubectl exec -it pods/pod-name -- sqlplus sys/<your_password>@FREEPDB1 as sysdba
Connecting to the database running on OKE

Other installation options

You can also get Oracle Database 23c — Developer Release as a container image, a VM or a package on Linux.

Be sure to check out the link below if you’re interested in any of these options:

I’ve also explored in a different article how we can install Oracle Database 23c Free — Deveoper Release on a compute instance running Oracle Linux 8 in OCI:

Happy coding!

--

--

Liana Lixandru

Senior Digital Adoption Manager at Oracle. Focused on Cloud Native application development on Oracle Cloud Infrastructure.