Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions OracleDatabase/RAC/OracleRealApplicationClusters/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,13 @@ Retag it as below as we are going to refer this image as `localhost/oracle/datab
```bash
podman tag localhost/oracle/database-rac:21.3.0 localhost/oracle/database-rac:21c
```
**Note** : There is a known issue with Oracle Database 19.3.0 that causes compilation to fail, as described in [Doc ID 2760289.1](https://support.oracle.com/knowledge/Oracle%20Database%20Products/2760289_1.html): "19c Database Installation/relink fails with: Error in invoking target 'libasmclntsh19.ohso libasmperl19.ohso client_sharedlib' of makefile ins_rdbms.mk".
As a result, Base 19.3.0 software cannot be directly installed on Oracle Linux 9. The fix is included in version 19.21 and later. Therefore, when building Oracle RAC Database Container Images for 19.3.0, you must use `--build-arg BASE_OL_IMAGE=oraclelinux:8`

Example: To build Oracle RAC Database Container Image for version 19.3.0, use below command:
```bash
./buildContainerImage.sh -v 19.3.0 -i -o "--build-arg BASE_OL_IMAGE=oraclelinux:8"
```

### Building Oracle RAC Database Container Slim Image
In this document, an `Oracle RAC Database Container Slim Image` refers to a container image that does not include installation of Oracle Grid Infrastructure and Oracle Database Software Binaries during the Oracle RAC Database Container Image creation.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,19 @@ ARG SLIMMING=false
ARG VERSION
# Labels
# ------
LABEL "provider"="Oracle" \
"issues"="https://github.com/oracle/docker-images/issues" \
"volume.setup.location1"="/opt/scripts" \
"volume.startup.location1"="/opt/scripts/startup" \
"port.listener"="1521" \
LABEL "provider"="Oracle" \
"maintainer"="Paramdeep Saini<[email protected]>,Jyoti Prakash Verma<[email protected]>,Saurabh Ahuja<[email protected]>" \
"vendor"="Oracle Corporation" \
"version"="19.3.0" \
"release"="19.3.0" \
"name"="Oracle Database 19c" \
"summary"="Oracle Database 19c" \
"description"="Container Image for Oracle Database Server Release 19c" \
"issues"="https://github.com/oracle/docker-images/issues" \
"volume.data"="/opt/oracle/oradata" \
"volume.setup.location1"="/opt/scripts" \
"volume.startup.location1"="/opt/scripts/startup" \
"port.listener"="1521" \
"port.oemexpress"="5500"

# Argument to control removal of components not needed after db software installation
Expand All @@ -50,6 +58,7 @@ ARG IGNORE_PREREQ=false
# Linux Env Variable
# hadolint ignore=DL3044
ENV SETUP_LINUX_FILE="setupLinuxEnv.sh" \
OCI_FILE="ociregion.sh" \
INSTALL_DIR=/opt/scripts \
# Grid Env variables
GRID_INSTALL_RSP="gridsetup_19c.rsp" \
Expand Down Expand Up @@ -121,7 +130,7 @@ ENV INSTALL_SCRIPTS=$INSTALL_DIR/install \
# Copy binaries
# -------------
# COPY Binaries
COPY $VERSION/$SETUP_LINUX_FILE $VERSION/$GRID_SETUP_FILE $VERSION/$DB_SETUP_FILE $VERSION/$CHECK_SPACE_FILE $VERSION/$FIXUP_PREQ_FILE $INSTALL_SCRIPTS/
COPY $VERSION/$SETUP_LINUX_FILE $OCI_FILE $VERSION/$GRID_SETUP_FILE $VERSION/$DB_SETUP_FILE $VERSION/$CHECK_SPACE_FILE $VERSION/$FIXUP_PREQ_FILE $INSTALL_SCRIPTS/

# Setup Scripts
COPY $VERSION/$RUN_FILE $VERSION/$ADDNODE_RSP $VERSION/$SETUPSSH $VERSION/$GRID_INSTALL_RSP $VERSION/$DBCA_RSP $VERSION/$INITSH $SCRIPT_DIR/
Expand Down Expand Up @@ -158,7 +167,7 @@ ENV INSTALL_SCRIPTS=$INSTALL_DIR/install \
# Copy binaries
# -------------
# COPY Binaries
COPY $VERSION/$SETUP_LINUX_FILE $VERSION/$GRID_SETUP_FILE $VERSION/$DB_SETUP_FILE $VERSION/$CHECK_SPACE_FILE $VERSION/$FIXUP_PREQ_FILE $INSTALL_SCRIPTS/
COPY $VERSION/$SETUP_LINUX_FILE $OCI_FILE $VERSION/$GRID_SETUP_FILE $VERSION/$DB_SETUP_FILE $VERSION/$CHECK_SPACE_FILE $VERSION/$FIXUP_PREQ_FILE $INSTALL_SCRIPTS/

# Setup Scripts
COPY $VERSION/$RUN_FILE $VERSION/$SETUPSSH $VERSION/$INITSH $SCRIPT_DIR/
Expand Down Expand Up @@ -229,6 +238,7 @@ RUN rm -f $INSTALL_DIR/install/* && \
#############################################
# hadolint ignore=DL3006
FROM rac-image-slim-${SLIMMING} AS final
ARG VERSION
ENV GRID_BASE=/u01/app/grid \
GRID_HOME=/u01/app/19c/grid \
DB_BASE=/u01/app/oracle \
Expand Down Expand Up @@ -260,8 +270,11 @@ RUN if [ "${SLIMMING}x" != 'truex' ]; then \
rm -f /etc/sysctl.d/99-sysctl.conf && \
rm -f $INSTALL_DIR/install/* && \
rm -rf $DB_HOME/.patch_storage $DB_HOME/.opatchauto_storage $GRID_HOME/.patch_storage $GRID_HOME/.opatchauto_storage && \
mkdir /licenses && \
sync

COPY $VERSION/license.txt /licenses/

USER ${USER}
VOLUME ["/common_scripts"]
WORKDIR $WORKDIR
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,45 @@
# Setup filesystem and oracle user
# Adjust file permissions, go to /opt/oracle as user 'oracle' to proceed with Oracle installation
# ------------------------------------------------------------
mkdir /asmdisks && \
mkdir /responsefiles && \
chmod ug+x /opt/scripts/startup/*.sh && \
dnf -y install oracle-database-preinstall-19c systemd vim-minimal passwd openssh-server hostname xterm xhost vi policycoreutils-python-utils lsof openssl libxcrypt-compat net-tools which zip unzip tar sudo && \
dnf clean all
## Use OCI yum repos on OCI instead of public yum
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REGION_FILE="$SCRIPT_DIR/ociregion.sh"

if [ ! -f "$REGION_FILE" ]; then
# Call the separate detection script if region file is missing
"$SCRIPT_DIR/ociregion.sh"
fi

if [ -f "$REGION_FILE" ]; then
region=$(cat "$REGION_FILE")
echo "Loaded OCI Region from file: $region"
else
echo "OCI Region file not found. Exiting."
exit 1
fi
# Refer Doc ID 2760289.1 for error- "libxcrypt-compat compat-openssl11" only available in OL9
# Error in invoking target 'libasmclntsh19.ohso libasmperl19.ohso client_sharedlib' of makefile '/u01/app/oracle/product/19c/dbhome_1/rdbms/lib/ins_rdbms.mk'.
# Detect Oracle Linux version
if [ -f /etc/os-release ]; then
ol_ver=$(grep -oP '^VERSION_ID="\K[0-9]+' /etc/os-release)
else
echo "/etc/os-release not found. Cannot detect OS version."
exit 1
fi

mkdir -p /asmdisks
mkdir -p /responsefiles
chmod ug+x /opt/scripts/startup/*.sh

if [ "$ol_ver" == "9" ]; then
dnf -y install oracle-database-preinstall-19c systemd vim-minimal passwd openssh-server hostname xterm xhost vi \
policycoreutils-python-utils lsof openssl libxcrypt-compat net-tools which zip unzip tar sudo rsync expect
dnf clean all
elif [ "$ol_ver" == "8" ]; then
yum -y install systemd oracle-database-preinstall-19c net-tools which zip unzip tar openssl expect e2fsprogs \
openssh-server vim-minimal passwd which sudo hostname policycoreutils-python-utils python3 lsof rsync
yum clean all
else
echo "Unsupported Oracle Linux version: $ol_ver"
exit 1
fi
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash
# LICENSE UPL 1.0
#
# Copyright (c) 2018,2025 Oracle and/or its affiliates.
#
# Since: January, 2018
# Author: [email protected]
# Description: Sets up the unix environment for DB installation.
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
#

# Setup filesystem and oracle user
# Adjust file permissions, go to /opt/oracle as user 'oracle' to proceed with Oracle installation
# ------------------------------------------------------------
## Use OCI yum repos on OCI instead of public yum repos
Loading