Skip to content

Instantly share code, notes, and snippets.

@miccheng
Last active February 26, 2025 10:36
Setting Up Oracle Database 19c Enterprise Edition for ARM (M1/M2 Macs)

Setting Up Oracle Database 19c Enterprise Edition for ARM (M1/M2 Macs)

Source: https://itnext.io/oracle-on-arm-mac-m1-m2-docker-images-99ed67ed6ba6

Tested with OrbStack on an M1 Pro MacBook Pro.

  1. Clone the official Oracle Docker images repository:

    git clone https://github.com/oracle/docker-images
  2. Download the Oracle Database 19c aarch64 installer

    Download the installer from Oracle Database 19c and put them into the dockerfiles/19.3.0 folder. The needed file is named LINUX.ARM64_1919000_db_home.zip.

  3. Build the 19c Enterprise Edition container

    cd OracleDatabase/SingleInstance/dockerfiles/
    ./buildContainerImage.sh -v 19.3.0 -e

    At the end of this script, you should see the image in your Docker images: oracle/database:19.3.0-ee

  4. Check out this fork for the slim fast container

    git clone -b 19c-arm-slim https://github.com/marcelo-ochoa/oci-oracle-free
    cd oci-oracle-free

    Note: Make sure to checkout the 19c-arm-slim branch.

  5. Build the slim version

    docker buildx build --build-arg BUILD_MODE=SLIM -t oracle/database:19.3.0-ee-slim -f Dockerfile.193 .

    At the end, you should see this image: oracle/database:19.3.0-ee-slim

  6. Finally build slim-faststart version

    docker buildx build --build-arg BASE_IMAGE=oracle/database:19.3.0-ee-slim -t oracle/database:19.3.0-ee-slim-faststart -f Dockerfile.faststart .

    At the end, you should see this image: oracle/database:19.3.0-ee-slim-faststart

  7. Use the oracle/database:19.3.0-ee-slim-faststart image in your Docker Compose

@lesterdgreat
Copy link

are you familiar with this issue when running the item number 3 cd OracleDatabase/SingleInstance/dockerfiles/
./buildContainerImage.sh -v 19.3.0 -e

=> ERROR [stage-2 2/4] RUN "/opt/oracle"/oraInventory/orainstRoot.sh && "/opt/oracle/product/19c/dbhome_1"/root.sh 0.2s

[stage-2 2/4] RUN "/opt/oracle"/oraInventory/orainstRoot.sh && "/opt/oracle/product/19c/dbhome_1"/root.sh:
0.147 /bin/sh: /opt/oracle/oraInventory/orainstRoot.sh: No such file or directory


1 warning found (use docker --debug to expand):

  • FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 25)
    Dockerfile:130

129 | USER root
130 | >>> RUN "$ORACLE_BASE"/oraInventory/orainstRoot.sh &&
131 | >>> "$ORACLE_HOME"/root.sh
132 |

ERROR: failed to solve: process "/bin/sh -c "$ORACLE_BASE"/oraInventory/orainstRoot.sh && "$ORACLE_HOME"/root.sh" did not complete successfully: exit code: 127

@miccheng
Copy link
Author

Did u manage to download the Oracle 19c installer?

@Barosandu
Copy link

Did you figure it out @lesterdgreat

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment