Site icon Ron Ekins' – Oracle Technology, DevOps and Kubernetes Blog

Run Oracle Database 23ai Free on ARM based MacBooks with Podman

Oracle Database 23ai

Oracle Database 23ai

In this short post I will share how to run the latest Oracle 23ai (23.7.0.25.01) ARM container image on a MacBook with Podman.

In this Blog post I will walkthrough the following steps:

Environment

For this post I am using Podman version 5.5.1 running on macOS 15.5, which I installed using brew install podman, brew upgrade podman.

Use podman -v to check version of podman, and sw_vers -ProductVersion to confirm macOS version, for example:

% podman -v
% sw_vers -ProductVersion

Confirm current hardware platform with uname -m or arch, for example.

Initialise Machine

To start, initialise a new Podman machine with podman machine init this will automatically pull back a Podman VM image and create a VM on your MacBook.

The podman machine init accepts a number of parameters including –cpus –memory and –disk-size.

% podman machine init --cpus 4 --memory 4096 --disk-size 25
podman machine init

Start Machine

To start our Podman Linux VM use podman machine start, if no name is specified, it defaults to podman-machine-default

% podman machine start
podman machine start

Pull Image

The Oracle Container Registry provides access to Oracle supported and maintained images for Oracle Enterprise Editions and Oracle Database 23ai Free.

The Oracle Database 23ai Free Container Image contains Oracle Database 23ai Free based on an Oracle Linux 8 base image, with two type of images

The Full image: supports all the database features provided by Oracle Database 23ai Free.

The Lite image: smaller image size with a stripped-down installation of the database (~80% image size reduction).

Skopeo (Greek for “remote viewing”) is a great tool for managing images and can be installed using brew.

% brew install skopeo

Using skopeo we can confirm available images for our platform by filtering on RepoTags check available versions and platforms, for example:

% skopeo inspect docker://container-registry.oracle.com/database/free:23.7.0.0-arm64 --tls-verify=false | jq '[.RepoTags]'
skopeo inspect
% podman pull container-registry.oracle.com/database/free:latest --tls-verify=false
podman pull

Use podman image list to confirm download.

% podman image list
podman image list

Oracle Database 23ai Free

Create Data Volume

Before we start our database, let’s first create a persistent volume called oradata with a label called version set to 23ai using podman volume create

% podman volume create --label version=23ai oradata
podman volume create

Create Database Secret

Now set-up a Podman secret to manage the database password.

% echo -n "podmansecretpasword" | podman secret create ora-secret -
podman secret create

Start Database 23ai

If you have followed all of the above, you should now have an Oracle Database 23ai Free image, data volume and secret.

Start the Oracle Database 23ai Free container with:

% podman run --detach --volume oradata:/opt/oracle/oradata \
--secret ora-secret,type=env,target=ORACLE_PWD \
--publish 1521:1521 \
--name oracle23ai \
container-registry.oracle.com/database/free:latest

Wait a few minutes, and check container status with podman ps, wait for the container to report healthy.

Database Alert log

Use podman logs <container name> to see database container log file, for example.

% podman logs oracle23ai
podman logs

Database Connection

Now let’s connect to the Database using sqlcl and check the container name, database version and pluggable database names.

% sql sys/podmansecretpasword@//localhost:1521/FREE as sysdba
SQL> select INSTANCE_NAME, HOST_NAME, VERSION_FULL, EDITION from v$instance;
sqlcl

Summary

In this blog post I have shared how to:

Exit mobile version