Skip to content

Commit 0f3d9a1

Browse files
authored
Aditya059/23.26 dockerfiles release (#3039)
* Replaced 23.5 with 23.6 dockerfiles * Fixed 23.9 arm rpm url * updated dockerfile * Added fix for developer release * Added licence and labels
1 parent 125c27b commit 0f3d9a1

File tree

14 files changed

+61
-43
lines changed

14 files changed

+61
-43
lines changed

OracleDatabase/SingleInstance/FAQ.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ An example would be: `docker run ... -e TZ="Europe/Vienna" oracle/database:12.2.
1414

1515
## Can I run Oracle Database containers on Apple M1 (Arm) devices?
1616

17-
Oracle Database 19c Enterprise Edition and 23ai Free Edition are now supported on ARM64 platforms. You will have to provide the installation binaries of [Oracle Database 19c](https://www.oracle.com/database/technologies/oracle19c-linux-arm64-downloads.html) and put them into the dockerfiles/19.3.0 folder before running the buildContainerImage.sh script.
17+
Oracle Database 19c Enterprise Edition and 26ai Free Edition are now supported on ARM64 platforms. You will have to provide the installation binaries of [Oracle Database 19c](https://www.oracle.com/database/technologies/oracle19c-linux-arm64-downloads.html) and put them into the dockerfiles/19.3.0 folder before running the buildContainerImage.sh script.
1818

1919
## checkSpace.sh: ERROR - There is not enough space available in the container
2020

OracleDatabase/SingleInstance/README.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ Sample container build files to facilitate installation, configuration, and envi
99
* [Running Oracle Database in a container](#running-oracle-database-in-a-container)
1010
* [Running Oracle Database Enterprise and Standard Edition 2 in a container](#running-oracle-database-enterprise-and-standard-edition-2-in-a-container)
1111
* [Securely specifying the password when using Podman (Supported from 19.3.0 onwards)](#securely-specifying-the-password-when-using-podman-supported-from-1930-onwards)
12-
* [Encrypting the database password (Supported from 23ai onwards))](#encrypting-the-database-password-supported-from-23ai-onwards)
12+
* [Encrypting the database password (Supported from 26ai onwards))](#encrypting-the-database-password-supported-from-26ai-onwards)
1313
* [Selecting the Edition (Supported from 19.3.0 release)](#selecting-the-edition-supported-from-1930-release)
1414
* [Setting the SGA and PGA memory (Supported from 19.3.0 release)](#setting-the-sga-and-pga-memory-supported-from-1930-release)
1515
* [Setting the CPU_COUNT and PROCESSES (Supported from 19.3.0 release)](#setting-the-cpu_count-and-processes-supported-from-1930-release)
1616
* [Changing the admin accounts passwords](#changing-the-admin-accounts-passwords)
1717
* [Enabling archive log mode and/or force logging mode while creating the database](#enabling-archive-log-mode-andor-force-logging-mode-while-creating-the-database)
1818
* [Configuring TCPS connections for Oracle Database (Supported from version 19.3.0 onwards)](#configuring-tcps-connections-for-oracle-database-supported-from-version-1930-onwards)
19-
* [Running Oracle Database 23ai Free in a container](#running-oracle-database-23ai-free-in-a-container)
19+
* [Running Oracle Database 26ai Free in a container](#running-oracle-database-26ai-free-in-a-container)
2020
* [Running Oracle Database 21c/18c Express Edition in a container](#running-oracle-database-21c18c-express-edition-in-a-container)
2121
* [Running Oracle Database 11gR2 Express Edition in a container](#running-oracle-database-11gr2-express-edition-in-a-container)
22-
* [Running Oracle True Cache in a container (Supported from version 23ai onwards)](#running-oracle-true-cache-in-a-container-supported-from-version-23ai-onwards)
22+
* [Running Oracle True Cache in a container (Supported from version 26ai onwards)](#running-oracle-true-cache-in-a-container-supported-from-version-26ai-onwards)
2323
* [Setting Up the Network for Communication Between the Primary Database and the True Cache Container](#setting-up-the-network-for-communication-between-the-primary-database-and-the-true-cache-container)
2424
* [Running Oracle Database Free True Cache in a Container](#running-oracle-database-free-true-cache-in-a-container)
2525
* [Containerizing an on-premise database (Supported from version 19.3.0 release)](#containerizing-an-on-premise-database-supported-from-version-1930-release)
@@ -36,7 +36,7 @@ Sample container build files to facilitate installation, configuration, and envi
3636

3737
This project offers sample Dockerfiles for:
3838

39-
* Oracle Database 23ai (23.9.0) Free
39+
* Oracle Database 26ai (23.26.0) Free
4040
* Oracle Database 21c (21.3.0) Enterprise Edition, Standard Edition 2 and Express Edition (XE)
4141
* Oracle Database 19c (19.3.0) Enterprise Edition and Standard Edition 2
4242
* Oracle Database 18c (18.4.0) Express Edition (XE)
@@ -51,10 +51,10 @@ The `buildContainerImage.sh` script is just a utility shell script that performs
5151

5252
### Building Oracle Database container images
5353

54-
**IMPORTANT:** You will have to provide the installation binaries of Oracle Database (except for Oracle Database 18c XE, 21c XE and 23ai Free) and put them into the `dockerfiles/<version>` folder.
54+
**IMPORTANT:** You will have to provide the installation binaries of Oracle Database (except for Oracle Database 18c XE, 21c XE and 26ai Free) and put them into the `dockerfiles/<version>` folder.
5555
You only need to provide the binaries for the edition you are going to install. The binaries can be downloaded from the [Oracle Technology Network](http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html), make sure you use the linux link: *Linux x86-64*. The needed file is named *linuxx64_\<version\>_database.zip*.
5656

57-
**Linux ARM64 Support:** Oracle Database 19c Enterprise Edition and 23ai Free Edition are now supported on ARM64 platforms. You will have to provide the installation binaries of [Oracle Database 19c](https://www.oracle.com/database/technologies/oracle19c-linux-arm64-downloads.html) and put them into the dockerfiles/19.3.0 folder. The needed file is named *LINUX.ARM64_1919000_db_home.zip*.
57+
**Linux ARM64 Support:** Oracle Database 19c Enterprise Edition and 26ai Free Edition are now supported on ARM64 platforms. You will have to provide the installation binaries of [Oracle Database 19c](https://www.oracle.com/database/technologies/oracle19c-linux-arm64-downloads.html) and put them into the dockerfiles/19.3.0 folder. The needed file is named *LINUX.ARM64_1919000_db_home.zip*.
5858

5959
You also have to make sure to have internet connectivity for yum. Note that you must not uncompress the binaries. The script will handle that for you and fail if you uncompress them manually!
6060

@@ -67,7 +67,7 @@ Before you build the image make sure that you have provided the installation bin
6767

6868
Parameters:
6969
-v: version to build
70-
Choose one of: 11.2.0.2 12.1.0.2 12.2.0.1 18.3.0 18.4.0 19.3.0 21.3.0 23.9.0
70+
Choose one of: 11.2.0.2 12.1.0.2 12.2.0.1 18.3.0 18.4.0 19.3.0 21.3.0 23.26.0
7171
-t: image_name:tag for the generated docker image
7272
-e: creates image based on 'Enterprise Edition'
7373
-s: creates image based on 'Standard Edition 2'
@@ -147,10 +147,10 @@ To run your Oracle Database image use the `docker run` command as follows:
147147
-p: The port mapping of the host port to the container port.
148148
The following ports are exposed: 1521 (Oracle Listener), 5500 (OEM Express), 2484 (TCPS Listener Port if TCPS is enabled).
149149
--ulimit: Resource limits. Update according to Oracle Database documentation.
150-
-e ORACLE_SID: The Oracle Database SID that should be used (default for 23ai Free Edition: FREE; all others, ORCLCDB).
151-
Note: The ORACLE_SID for 11g/18c Express and 23ai Free Editions cannot be changed.
152-
-e ORACLE_PDB: The Oracle Database PDB name that should be used (default for 23ai Free Edition: FREEPDB1; all others, ORCLPDB1).
153-
Note: The ORACLE_PDB for 23ai Free Edition cannot be changed.
150+
-e ORACLE_SID: The Oracle Database SID that should be used (default for 26ai Free Edition: FREE; all others, ORCLCDB).
151+
Note: The ORACLE_SID for 11g/18c Express and 26ai Free Editions cannot be changed.
152+
-e ORACLE_PDB: The Oracle Database PDB name that should be used (default for 26ai Free Edition: FREEPDB1; all others, ORCLPDB1).
153+
Note: The ORACLE_PDB for 26ai Free Edition cannot be changed.
154154
-e ORACLE_PWD: The Oracle Database SYS, SYSTEM and PDBADMIN password (default: auto generated).
155155
-e INIT_SGA_SIZE:
156156
The total memory in MB that should be used for all SGA components (optional).
@@ -181,7 +181,7 @@ To run your Oracle Database image use the `docker run` command as follows:
181181
Supported by Oracle Database 19.3 onwards.
182182
-e ENABLE_FORCE_LOGGING:
183183
To enable force logging mode when creating the database (default: false).
184-
Supported by Oracle Database 23ai onwards.
184+
Supported by Oracle Database 26ai onwards.
185185
-e ENABLE_TCPS:
186186
To enable TCPS connections for Oracle Database.
187187
Supported by Oracle Database 19.3 onwards.
@@ -221,7 +221,7 @@ The Oracle Database inside the container also has Oracle Enterprise Manager Expr
221221
# Running the Oracle Database 21c XE image with the secret
222222
podman run -d --name=<container_name> --secret=oracle_pwd oracle/database:21.3.0-xe
223223

224-
##### Encrypting the database password (Supported from 23ai onwards)
224+
##### Encrypting the database password (Supported from 26ai onwards)
225225

226226
Users can generate public-private key pair and pass database password (encrypted) and decryption (private) key to the container securely.
227227

@@ -245,9 +245,9 @@ Users can generate public-private key pair and pass database password (encrypted
245245
podman secret create oracle_pwd encrypted_pwd.txt
246246
podman secret create oracle_pwd_privkey key.pem
247247

248-
* Run the Oracle Database 23ai Free image with the secrets
248+
* Run the Oracle Database 26ai Free image with the secrets
249249

250-
podman run -td --name=<container_name> --secret=oracle_pwd --secret=oracle_pwd_privkey oracle/database:23.9.0-free
250+
podman run -td --name=<container_name> --secret=oracle_pwd --secret=oracle_pwd_privkey oracle/database:23.26.0-free
251251

252252
#### Selecting the Edition (Supported from 19.3.0 release)
253253

@@ -357,9 +357,9 @@ To configure wallet password, please use the following command:
357357
After certificate renewal, the client wallet should be updated by downloading it again.
358358
* Supports Oracle Database XE version 21.3.0 onwards.
359359

360-
#### Running Oracle Database 23ai Free in a container
360+
#### Running Oracle Database 26ai Free in a container
361361

362-
To run your Oracle Database 23ai Free container image use the `podman run` command as follows:
362+
To run your Oracle Database 26ai Free container image use the `podman run` command as follows:
363363

364364
podman run --name <container name> \
365365
-p <host port>:1521 \
@@ -368,7 +368,7 @@ To run your Oracle Database 23ai Free container image use the `podman run` comma
368368
-e ENABLE_ARCHIVELOG=true \
369369
-e ENABLE_FORCE_LOGGING=true \
370370
-v [<host mount point>:]/opt/oracle/oradata \
371-
oracle/database:23.9.0-free
371+
oracle/database:23.26.0-free
372372

373373
Parameters:
374374
--name: The name of the container (default: auto generated)
@@ -403,7 +403,7 @@ On the first startup of the container a random password will be generated for th
403403
podman exec <container name> /opt/oracle/setPassword.sh <your password>
404404

405405
**Important Note:**
406-
The ORACLE_SID for Oracle Database 23ai Free is always `FREE` and the PDB_NAME is always `FREEPDB1`. They cannot be changed, hence there are no ORACLE_SID or PDB_NAME parameters provided for the Free build.
406+
The ORACLE_SID for Oracle Database 26ai Free is always `FREE` and the PDB_NAME is always `FREEPDB1`. They cannot be changed, hence there are no ORACLE_SID or PDB_NAME parameters provided for the Free build.
407407

408408
#### Running Oracle Database 21c/18c Express Edition in a container
409409

@@ -500,7 +500,7 @@ Once the container has been started you can connect to it just like to any other
500500
sqlplus sys/<your password>@//localhost:1521/XE as sysdba
501501
sqlplus system/<your password>@//localhost:1521/XE
502502

503-
### Running Oracle True Cache in a container (Supported from version 23ai onwards)
503+
### Running Oracle True Cache in a container (Supported from version 26ai onwards)
504504

505505
Oracle True Cache is an in-memory, consistent, and automatically managed cache for Oracle Database. For more information about Oracle True Cache please see the [Oracle True Cache Online Documentation](https://docs.oracle.com/en/database/oracle/oracle-database/23/odbtc/overview-oracle-true-cache.html).
506506

@@ -533,7 +533,7 @@ Set up a podman network for inter-container communication using the following co
533533
-e ENABLE_ARCHIVELOG=true \
534534
-e ENABLE_FORCE_LOGGING=true \
535535
-v [<host mount point>:]/opt/oracle/oradata \
536-
oracle/database:23.9.0-free
536+
oracle/database:23.26.0-free
537537

538538
Ensure that your Primary Database container is up and running and in a healthy state.
539539

@@ -552,14 +552,14 @@ You need to run the preceding podman run command with the host mount point (empt
552552
-e PRIMARY_DB_PWD_FILE=/var/tmp/orapwFREE \
553553
-e PRIMARY_DB_CONN_STR=<PRI_DB_FREE_IP>:1521/FREE \
554554
-v [<host mount point>:]/opt/oracle/oradata \
555-
oracle/database:23.9.0-free
555+
oracle/database:23.26.0-free
556556

557557
**Note:** If a common host mount point is used for both pri-db-free and tru-cc-free containers, then you may skip the podman cp step by specifying the location of pri-db-free password file directly using \
558-
-e PRIMARY_DB_PWD_FILE=/opt/oracle/product/23ai/dbhomeFree/dbs/orapwFREE
558+
-e PRIMARY_DB_PWD_FILE=/opt/oracle/product/26ai/dbhomeFree/dbs/orapwFREE
559559

560560
* For different host mount points, copy password file (example 'orapwFREE') from the Primary Database container to the True Cache container at location $PRIMARY_DB_PWD_FILE (/var/tmp/orapwFREE) using podman cp command as follows:
561561

562-
podman cp pri-db-free:/opt/oracle/product/23ai/dbhomeFree/dbs/orapwFREE tru-cc-free:/var/tmp/
562+
podman cp pri-db-free:/opt/oracle/product/26ai/dbhomeFree/dbs/orapwFREE tru-cc-free:/var/tmp/
563563

564564
* Once the True Cache container turns healthy, create database application services (sales_tc and sales_pdb_tc) for the True Cache by running the following commands from the pri-db-free container:
565565

OracleDatabase/SingleInstance/dockerfiles/23.9.0/Containerfile.free renamed to OracleDatabase/SingleInstance/dockerfiles/23.26.0/Containerfile.free

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
# ORACLE DOCKERFILES PROJECT
66
# --------------------------
7-
# This is the Contatinerfile for Oracle Database 23ai Free
7+
# This is the Contatinerfile for Oracle Database 26ai Free
88
#
99
# REQUIRED FILES TO BUILD THIS IMAGE
1010
# ----------------------------------
@@ -13,16 +13,25 @@
1313
# HOW TO BUILD THIS IMAGE
1414
# -----------------------
1515
# Run:
16-
# $ podman build -t oracle/database:23.9.0-free -f Containerfile.free .
16+
# $ podman build -t oracle/database:23.26.0-free -f Containerfile.free .
1717
#
1818
#
1919
# Pull base image
2020
# ---------------
21-
FROM oraclelinux:8 as base
21+
ARG BASE_IMAGE=oraclelinux:9
22+
# hadolint ignore=DL3006
23+
FROM ${BASE_IMAGE} as base
2224

2325
# Labels
2426
# ------
2527
LABEL "provider"="Oracle" \
28+
"maintainer"="Oracle Database Container Team <container-team_ww@oracle.com>" \
29+
"vendor"="Oracle Corporation" \
30+
"version"="23.26.0" \
31+
"release"="Free" \
32+
"name"="Oracle AI Database 26ai Free" \
33+
"summary"="Oracle AI Database 26ai Free" \
34+
"description"="Oracle AI Database 26ai Free is a fully functional version of Oracle AI Database 26ai for developers to learn, build, and deploy applications." \
2635
"issues"="https://github.com/oracle/docker-images/issues" \
2736
"volume.data"="/opt/oracle/oradata" \
2837
"volume.setup.location1"="/opt/oracle/scripts/setup" \
@@ -31,19 +40,19 @@ LABEL "provider"="Oracle" \
3140
"volume.startup.location2"="/docker-entrypoint-initdb.d/startup" \
3241
"port.listener"="1521"
3342

34-
ARG INSTALL_FILE_1="https://download.oracle.com/otn-pub/otn_software/db-free/oracle-database-free-23ai-23.9-1.el8.x86_64.rpm"
43+
ARG INSTALL_FILE_1="https://download.oracle.com/otn-pub/otn_software/db-free/oracle-ai-database-free-26ai-23.26.0-1.el9.x86_64.rpm"
3544

3645
# Environment variables required for this build (do NOT change)
3746
# -------------------------------------------------------------
3847
ENV ORACLE_BASE=/opt/oracle \
39-
ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree \
48+
ORACLE_HOME=/opt/oracle/product/26ai/dbhomeFree \
4049
ORACLE_SID=FREE \
4150
INSTALL_FILE_1=$INSTALL_FILE_1 \
4251
RUN_FILE="runOracle.sh" \
4352
PWD_FILE="setPassword.sh" \
4453
CREATE_DB_FILE="createDB.sh" \
4554
USER_SCRIPTS_FILE="runUserScripts.sh" \
46-
CONF_FILE="oracle-free-23ai.conf" \
55+
CONF_FILE="oracle-free-26ai.conf" \
4756
CHECK_SPACE_FILE="checkSpace.sh" \
4857
CHECK_DB_FILE="checkDBStatus.sh" \
4958
DB_STARTED_MARKER_FILE="/dev/shm/.db_started" \
@@ -101,15 +110,20 @@ FROM base
101110
USER oracle
102111
COPY --chown=oracle:oinstall --from=builder $ORACLE_BASE $ORACLE_BASE
103112
COPY --chown=oracle:oinstall --from=builder /etc/oratab /etc/oratab
104-
COPY --from=builder /etc/init.d/oracle-free-23ai /etc/init.d/oracle-free-23ai
105-
COPY --from=builder /usr/share/doc/oracle-free-23ai/LICENSE /usr/share/doc/oracle-free-23ai/LICENSE
113+
COPY --from=builder /etc/init.d/oracle-free-26ai /etc/init.d/oracle-free-26ai
114+
COPY --from=builder /usr/share/doc/oracle-free-26ai/LICENSE /usr/share/doc/oracle-free-26ai/LICENSE
106115

107116
USER root
108117
# To enforce ORACLE_SID as FREE, adding it to .bashrc
109118
RUN $ORACLE_BASE/oraInventory/orainstRoot.sh && \
110119
$ORACLE_HOME/root.sh && \
111120
echo 'export ORACLE_SID=FREE' >> /home/oracle/.bashrc && \
112-
chown oracle.oinstall /home/oracle/.bashrc
121+
chown oracle.oinstall /home/oracle/.bashrc && \
122+
mkdir /licenses && \
123+
cp /usr/share/doc/oracle-free-26ai/LICENSE /licenses/license.txt && \
124+
chmod -R 644 /licenses/license.txt && \
125+
rm -rf /tmp/* /var/tmp/*
126+
113127

114128
USER oracle
115129
WORKDIR /home/oracle

OracleDatabase/SingleInstance/dockerfiles/23.9.0/createDB.sh renamed to OracleDatabase/SingleInstance/dockerfiles/23.26.0/createDB.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ EOF
151151
su -c "sed -i -e \"s|^CHARSET=.*$|CHARSET=$ORACLE_CHARACTERSET|g\" /etc/sysconfig/\"$CONF_FILE\""
152152

153153
# Creating database for FREE edition
154-
su -c '/etc/init.d/oracle-free-23ai configure << EOF
154+
su -c '/etc/init.d/oracle-free-26ai configure << EOF
155155
${ORACLE_PWD}
156156
${ORACLE_PWD}
157157
EOF

OracleDatabase/SingleInstance/dockerfiles/23.9.0/oracle-free-23ai.conf renamed to OracleDatabase/SingleInstance/dockerfiles/23.26.0/oracle-free-26ai.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# This is a configuration file to setup the Oracle Database.
2-
# It is used when running '/etc/init.d/oracle-free-23ai configure'.
2+
# It is used when running '/etc/init.d/oracle-free-26ai configure'.
33

44
# LISTENER PORT used Database listener, Leave empty for automatic port assignment
55
LISTENER_PORT=1521

OracleDatabase/SingleInstance/dockerfiles/23.9.0/runOracle.sh renamed to OracleDatabase/SingleInstance/dockerfiles/23.26.0/runOracle.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ if [ -f "$ORACLE_BASE"/oradata/.${ORACLE_SID}"${CHECKPOINT_FILE_EXTN}" ] && [ -d
237237

238238
# Start database
239239
if [ "${ORACLE_SID}" = "FREE" ]; then
240-
su -c '/etc/init.d/oracle-free-23ai start'
240+
su -c '/etc/init.d/oracle-free-26ai start'
241241
else
242242
"$ORACLE_BASE"/"$START_FILE";
243243
fi

0 commit comments

Comments
 (0)