Oracle Database 26ai Free Installation Guide [RHEL8/Oracle Linux 8]

CDB/PDB_en

This article explains the installation procedure for “Oracle AI Database Free (26ai),” which allows you to experience the latest innovations of Oracle Database. Based on actual machine logs, this guide covers how to build an on-premises (local) environment using RPM packages on Red Hat Enterprise Linux 8 (RHEL8) and Oracle Linux 8.

26ai includes the latest features such as AI Vector Search, making it ideal for development and learning purposes.

What you will learn in this article:

  • Installation procedure of Oracle 26ai Free on Linux
  • How to resolve dependencies in an offline environment (local repository)
  • Initial setup (Listener configuration, DB creation) and connection verification commands

Conclusion / Shortest Procedure (TL;DR)

Here is a “To-Do List” for those in a hurry.

  1. Preparation: OS settings (hostname, etc.) and placement of installation RPMs (Preinstall, Database Free).
  2. Repository Configuration: Mount the DVD or ISO and create a local repository for dnf (if offline).
  3. Apply Preinstall: Run dnf install oracle-ai-database-preinstall-26ai...rpm to automate user and kernel settings.
  4. DB Installation: Run dnf install oracle-ai-database-free-26ai...rpm.
  5. DB Configuration: Run /etc/init.d/oracle-free-26ai configure to set the password and create the instance.
  6. Environment Variables: Add ORACLE_SID and other variables to the .bash_profile of the oracle user.

1. Background and Basics

What is Oracle AI Database Free (26ai)?

This is an edition that allows you to use the latest features of Oracle Database for free. It follows the lineage of the traditional “XE (Express Edition)” and is specifically optimized for AI development (Vector Search, etc.).

  • Limitations: There are limits on CPU usage, memory (typically around 2GB), and user data capacity (refer to the official release notes for details).
  • Target OS: Oracle Linux 8 / RHEL 8 family (subject of this article), and OL9/RHEL9 family.

Prerequisites and Software Used

This procedure has been verified in the following environment.

  • OS: Red Hat Enterprise Linux release 8.10 (Ootpa)
  • Installer:
    • oracle-ai-database-free-26ai-23.26.0-1.el8.x86_64.rpm
    • oracle-ai-database-preinstall-26ai-1.0-1.el8.x86_64.rpm
  • OS Media: OracleLinux-R8-U10-x86_64-dvd.iso (For installing dependency packages)

Download Sources:


2. Installation Procedure

The operations are basically performed as the root user.

Note: This procedure assumes the OS installation is complete.

Step 1: Preparing the Local Repository (For Offline Environments)

In an environment that cannot connect to the internet, ensure that dependency packages (such as glibc-devel and ksh) can be obtained from the OS installation media (DVD/ISO).

1-1. Mount ISO and Create Directory

# Create mount point
mkdir -p /mnt/dvd

# Mount the optical drive (or ISO file)
mount /dev/sr0 /mnt/dvd
# * A warning "write-protected, mounted read-only" is normal

1-2. yum/dnf Repository Configuration

Back up the existing repository settings and create a setting to reference the local DVD.

# Backup existing settings
mkdir -p /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

# Create local repository definition file
cat <<EOF > /etc/yum.repos.d/local.repo
[Local-BaseOS]
name=Local BaseOS
baseurl=file:///mnt/dvd/BaseOS
gpgcheck=0
enabled=1

[Local-AppStream]
name=Local AppStream
baseurl=file:///mnt/dvd/AppStream
gpgcheck=0
enabled=1
EOF

# Update repository information
dnf clean all
dnf repolist

🖥️ Execution results using a real device

View execution results (click here)

[root@26ai-single ~]# mkdir -p /mnt/dvd
[root@26ai-single ~]# mount /dev/sr0 /mnt/dvd
mount: /mnt/dvd: WARNING: device write-protected, mounted read-only.
[root@26ai-single ~]# mkdir -p /etc/yum.repos.d/backup
[root@26ai-single ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
[root@26ai-single ~]# cat < /etc/yum.repos.d/local.repo
> [Local-BaseOS]
> name=Local BaseOS
> baseurl=file:///mnt/dvd/BaseOS
> gpgcheck=0
> enabled=1
> 
> [Local-AppStream]
> name=Local AppStream
> baseurl=file:///mnt/dvd/AppStream
> gpgcheck=0
> enabled=1
> EOF
[root@26ai-single ~]# dnf clean all
0 files removed
[root@26ai-single ~]# dnf repolist
repo id                                 repo name
Local-AppStream                         Local AppStream
Local-BaseOS                            Local BaseOS
[root@26ai-single ~]#
    

Step 2: Installing the Preinstall Package

Install the “Preinstall RPM” which automatically configures the OS user (oracle), groups (oinstall, dba, etc.), and kernel parameters necessary for Oracle Database operation.

# Move to an arbitrary working directory (RPM location)
cd /tmp

# Install Preinstall RPM (dependencies are also installed automatically)
dnf -y install ./oracle-ai-database-preinstall-26ai-1.0-1.el8.x86_64.rpm

🖥️ Execution results using a real device

View execution results (click here)

[root@26ai-single ~]# cd /tmp
[root@26ai-single tmp]# ls -l
total 1398264
-rw-------. 1 root root       1487 Dec 13 20:38 anaconda.log
-rw-------. 1 root root       2286 Dec 13 20:37 dbus.log
-rw-------. 1 root root          0 Dec 13 21:44 dbus-session-monitor.F36wT0
-rw-------. 1 root root          0 Dec 13 20:37 dnf.librepo.log
-rwx------. 1 root root         86 Dec 13 20:33 ks-script-6xom972i
-rwx------. 1 root root        701 Dec 13 20:33 ks-script-lv0sbfwj
-rwx------. 1 root root        291 Dec 13 20:34 ks-script-mw31pdqr
-rw-r--r--. 1 root root 1431761556 Dec 13 10:32 oracle-ai-database-free-26ai-23.26.0-1.el8.x86_64.rpm
-rw-r--r--. 1 root root      30036 Dec 13 10:43 oracle-ai-database-preinstall-26ai-1.0-1.el8.x86_64.rpm
-rw-------. 1 root root          0 Dec 13 20:37 packaging.log
-rw-------. 1 root root        131 Dec 13 20:37 program.log
-rw-------. 1 root root          0 Dec 13 20:37 sensitive-info.log
drwx------. 3 root root         17 Dec 13 21:44 systemd-private-5fd77b05ef8844d4b34bee10e731e37a-chronyd.service-o8mnzy
drwx------. 3 root root         17 Dec 13 21:44 systemd-private-5fd77b05ef8844d4b34bee10e731e37a-colord.service-LnTlrI
drwx------. 3 root root         17 Dec 13 21:44 systemd-private-5fd77b05ef8844d4b34bee10e731e37a-ModemManager.service-siggl9
drwx------. 3 root root         17 Dec 13 21:44 systemd-private-5fd77b05ef8844d4b34bee10e731e37a-rtkit-daemon.service-4ClGqu
[root@26ai-single tmp]# dnf -y install ./oracle-ai-database-preinstall-26ai-1.0-11.el8.x86_64.rpm
Local BaseOS             [===                 ] ---  B/s |   0  B     --:-- ETALocal BaseOS                                     35 MB/s | 3.5 MB     00:00    
Local AppStream          [===                 ] ---  B/s |   0  B     --:-- ETALocal AppStream                                  35 MB/s | 8.7 MB     00:00    
Dependencies resolved.
================================================================================
 Package           Arch   Version                         Repository       Size
================================================================================
Installing:
 oracle-ai-database-preinstall-26ai
                   x86_64 1.0-1.el8                       @commandline     29 k
Installing dependencies:
 compat-openssl10  x86_64 1:1.0.2o-4.el8_6                Local-AppStream 1.1 M
 glibc-devel       x86_64 2.28-251.0.2.el8                Local-BaseOS     89 k
 ksh               x86_64 20120801-267.0.1.el8            Local-AppStream 923 k
 libxcrypt-devel   x86_64 4.1.1-6.el8                     Local-BaseOS     25 k
 lm_sensors-libs   x86_64 3.4.0-23.20180522git70f7e08.el8 Local-BaseOS     59 k
 make              x86_64 1:4.2.1-11.el8                  Local-BaseOS    498 k
 sysstat           x86_64 11.7.3-12.0.1.el8               Local-AppStream 426 k

Transaction Summary
================================================================================
Install  8 Packages

Total size: 3.1 M
Installed size: 9.3 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :  [======                                             ] 1/1  Preparing        :  [============                                       ] 1/1  Preparing        :  [==================                                 ] 1/1  Preparing        :  [=========================                          ] 1/1  Preparing        :  [===============================                    ] 1/1  Preparing        :  [======================================             ] 1/1  Preparing        :  [============================================       ] 1/1  Preparing        :                                                        1/1 
  Installing       : libxcrypt-devel-4.1.1-6.e [                          ] 1/8  Installing       : libxcrypt-devel-4.1.1-6.e [=========                 ] 1/8  Installing       : libxcrypt-devel-4.1.1-6.e [===============           ] 1/8  Installing       : libxcrypt-devel-4.1.1-6.e [==================        ] 1/8  Installing       : libxcrypt-devel-4.1.1-6.e [=====================     ] 1/8  Installing       : libxcrypt-devel-4.1.1-6.e [========================= ] 1/8  Installing       : libxcrypt-devel-4.1.1-6.el8.x86_64                     1/8 
  Installing       : glibc-devel-2.28-251.0.2. [                          ] 2/8  Installing       : glibc-devel-2.28-251.0.2. [=                         ] 2/8  Installing       : glibc-devel-2.28-251.0.2. [===                       ] 2/8  Installing       : glibc-devel-2.28-251.0.2. [=====                     ] 2/8  Installing       : glibc-devel-2.28-251.0.2. [=======                   ] 2/8  Installing       : glibc-devel-2.28-251.0.2. [===========               ] 2/8  Installing       : glibc-devel-2.28-251.0.2. [==============            ] 2/8  Installing       : glibc-devel-2.28-251.0.2. [==================        ] 2/8  Installing       : glibc-devel-2.28-251.0.2. [=====================     ] 2/8  Installing       : glibc-devel-2.28-251.0.2. [======================    ] 2/8  Installing       : glibc-devel-2.28-251.0.2. [========================  ] 2/8  Installing       : glibc-devel-2.28-251.0.2. [========================= ] 2/8  Installing       : glibc-devel-2.28-251.0.2.el8.x86_64                    2/8 
  Running scriptlet: glibc-devel-2.28-251.0.2.el8.x86_64                    2/8 
  Installing       : make-1:4.2.1-11.el8.x86_6 [                          ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [=                         ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [==                        ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [===                       ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [====                      ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [=====                     ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [======                    ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [=======                   ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [========                  ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [=========                 ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [==========                ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [===========               ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [============              ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [=============             ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [==============            ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [===============           ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [================          ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [=================         ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [==================        ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [===================       ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [====================      ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [=====================     ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [======================    ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [=======================   ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [========================  ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_6 [========================= ] 3/8  Installing       : make-1:4.2.1-11.el8.x86_64                             3/8 
  Running scriptlet: make-1:4.2.1-11.el8.x86_64                             3/8 
  Installing       : compat-openssl10-1:1.0.2o [                          ] 4/8  Installing       : compat-openssl10-1:1.0.2o [=                         ] 4/8  Installing       : compat-openssl10-1:1.0.2o [==                        ] 4/8  Installing       : compat-openssl10-1:1.0.2o [===                       ] 4/8  Installing       : compat-openssl10-1:1.0.2o [====                      ] 4/8  Installing       : compat-openssl10-1:1.0.2o [=====                     ] 4/8  Installing       : compat-openssl10-1:1.0.2o [======                    ] 4/8  Installing       : compat-openssl10-1:1.0.2o [=======                   ] 4/8  Installing       : compat-openssl10-1:1.0.2o [========                  ] 4/8  Installing       : compat-openssl10-1:1.0.2o [=========                 ] 4/8  Installing       : compat-openssl10-1:1.0.2o [==========                ] 4/8  Installing       : compat-openssl10-1:1.0.2o [===========               ] 4/8  Installing       : compat-openssl10-1:1.0.2o [============              ] 4/8  Installing       : compat-openssl10-1:1.0.2o [=============             ] 4/8  Installing       : compat-openssl10-1:1.0.2o [==============            ] 4/8  Installing       : compat-openssl10-1:1.0.2o [===============           ] 4/8  Installing       : compat-openssl10-1:1.0.2o [================          ] 4/8  Installing       : compat-openssl10-1:1.0.2o [=================         ] 4/8  Installing       : compat-openssl10-1:1.0.2o [==================        ] 4/8  Installing       : compat-openssl10-1:1.0.2o [===================       ] 4/8  Installing       : compat-openssl10-1:1.0.2o [====================      ] 4/8  Installing       : compat-openssl10-1:1.0.2o [=====================     ] 4/8  Installing       : compat-openssl10-1:1.0.2o [======================    ] 4/8  Installing       : compat-openssl10-1:1.0.2o [=======================   ] 4/8  Installing       : compat-openssl10-1:1.0.2o [========================  ] 4/8  Installing       : compat-openssl10-1:1.0.2o [========================= ] 4/8  Installing       : compat-openssl10-1:1.0.2o-4.el8_6.x86_64               4/8 
  Running scriptlet: compat-openssl10-1:1.0.2o-4.el8_6.x86_64               4/8 
  Installing       : ksh-20120801-267.0.1.el8. [                          ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [=                         ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [==                        ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [===                       ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [====                      ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [=====                     ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [======                    ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [=======                   ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [========                  ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [=========                 ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [==========                ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [===========               ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [============              ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [=============             ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [==============            ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [===============           ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [================          ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [=================         ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [==================        ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [===================       ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [====================      ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [=====================     ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [======================    ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [=======================   ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [========================  ] 5/8  Installing       : ksh-20120801-267.0.1.el8. [========================= ] 5/8  Installing       : ksh-20120801-267.0.1.el8.x86_64                        5/8 
  Running scriptlet: ksh-20120801-267.0.1.el8.x86_64                        5/8 
  Installing       : lm_sensors-libs-3.4.0-23. [                          ] 6/8  Installing       : lm_sensors-libs-3.4.0-23. [=========                 ] 6/8  Installing       : lm_sensors-libs-3.4.0-23. [==================        ] 6/8  Installing       : lm_sensors-libs-3.4.0-23. [========================= ] 6/8  Installing       : lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_   6/8 
  Running scriptlet: lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_   6/8 
  Installing       : sysstat-11.7.3-12.0.1.el8 [                          ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [=                         ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [==                        ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [===                       ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [====                      ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [=====                     ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [======                    ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [=======                   ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [========                  ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [=========                 ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [==========                ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [===========               ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [============              ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [=============             ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [==============            ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [===============           ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [================          ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [=================         ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [==================        ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [===================       ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [====================      ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [=====================     ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [======================    ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [=======================   ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [========================  ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8 [========================= ] 7/8  Installing       : sysstat-11.7.3-12.0.1.el8.x86_64                       7/8 
  Running scriptlet: sysstat-11.7.3-12.0.1.el8.x86_64                       7/8 
  Installing       : oracle-ai-database-preins [                          ] 8/8  Installing       : oracle-ai-database-preins [==========                ] 8/8  Installing       : oracle-ai-database-preins [==================        ] 8/8  Installing       : oracle-ai-database-preins [===================       ] 8/8  Installing       : oracle-ai-database-preins [====================      ] 8/8  Installing       : oracle-ai-database-preins [========================= ] 8/8  Installing       : oracle-ai-database-preinstall-26ai-1.0-1.el8.x86_64    8/8 
  Running scriptlet: oracle-ai-database-preinstall-26ai-1.0-1.el8.x86_64    8/8 
  Verifying        : glibc-devel-2.28-251.0.2.el8.x86_64                    1/8 
  Verifying        : libxcrypt-devel-4.1.1-6.el8.x86_64                     2/8 
  Verifying        : lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_   3/8 
  Verifying        : make-1:4.2.1-11.el8.x86_64                             4/8 
  Verifying        : compat-openssl10-1:1.0.2o-4.el8_6.x86_64               5/8 
  Verifying        : ksh-20120801-267.0.1.el8.x86_64                        6/8 
  Verifying        : sysstat-11.7.3-12.0.1.el8.x86_64                       7/8 
  Verifying        : oracle-ai-database-preinstall-26ai-1.0-1.el8.x86_64    8/8 

Installed:
  compat-openssl10-1:1.0.2o-4.el8_6.x86_64                                      
  glibc-devel-2.28-251.0.2.el8.x86_64                                           
  ksh-20120801-267.0.1.el8.x86_64                                               
  libxcrypt-devel-4.1.1-6.el8.x86_64                                            
  lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64                        
  make-1:4.2.1-11.el8.x86_64                                                    
  oracle-ai-database-preinstall-26ai-1.0-1.el8.x86_64                           
  sysstat-11.7.3-12.0.1.el8.x86_64                                              

Complete!
[root@26ai-single tmp]#
    

Note: Packages like compat-openssl10, ksh, and sysstat will be installed simultaneously. If there is an internet connection, it is also possible to install directly from Oracle Public Yum.

Step 3: Installing the Database Software

Next, install the Database Free software itself.

# Install the main RPM
dnf -y install ./oracle-ai-database-free-26ai-23.26.0-1.el8.x86_64.rpm

🖥️ Execution results using a real device

View execution results (click here)

[root@26ai-single tmp]# dnf -y install ./oracle-ai-database-free-26ai-23.26.0-1.eel8.x86_64.rpm
Last metadata expiration check: 0:00:31 ago on Sat 13 Dec 2025 09:47:01 PM EST.
Dependencies resolved.
================================================================================
 Package                         Arch      Version        Repository       Size
================================================================================
Installing:
 oracle-ai-database-free-26ai    x86_64    23.26.0-1      @commandline    1.3 G

Transaction Summary
================================================================================
Install  1 Package

Total size: 1.3 G
Installed size: 3.6 G
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Running scriptlet: oracle-ai-database-free-26ai-23.26.0-1.x86_64          1/1 
  Installing       : oracle-ai-database-free-2 [                          ] 1/1  Installing       : oracle-ai-database-free-2 [=                         ] 1/1  Installing       : oracle-ai-database-free-2 [==                        ] 1/1  Installing       : oracle-ai-database-free-2 [===                       ] 1/1  Installing       : oracle-ai-database-free-2 [====                      ] 1/1  Installing       : oracle-ai-database-free-2 [=====                     ] 1/1  Installing       : oracle-ai-database-free-2 [======                    ] 1/1  Installing       : oracle-ai-database-free-2 [=======                   ] 1/1  Installing       : oracle-ai-database-free-2 [========                  ] 1/1  Installing       : oracle-ai-database-free-2 [=========                 ] 1/1  Installing       : oracle-ai-database-free-2 [==========                ] 1/1  Installing       : oracle-ai-database-free-2 [===========               ] 1/1  Installing       : oracle-ai-database-free-2 [============              ] 1/1  Installing       : oracle-ai-database-free-2 [=============             ] 1/1  Installing       : oracle-ai-database-free-2 [==============            ] 1/1  Installing       : oracle-ai-database-free-2 [===============           ] 1/1  Installing       : oracle-ai-database-free-2 [================          ] 1/1  Installing       : oracle-ai-database-free-2 [=================         ] 1/1  Installing       : oracle-ai-database-free-2 [==================        ] 1/1  Installing       : oracle-ai-database-free-2 [===================       ] 1/1  Installing       : oracle-ai-database-free-2 [====================      ] 1/1  Installing       : oracle-ai-database-free-2 [=====================     ] 1/1  Installing       : oracle-ai-database-free-2 [======================    ] 1/1  Installing       : oracle-ai-database-free-2 [=======================   ] 1/1  Installing       : oracle-ai-database-free-2 [========================  ] 1/1  Installing       : oracle-ai-database-free-2 [========================= ] 1/1  Installing       : oracle-ai-database-free-26ai-23.26.0-1.x86_64          1/1 
  Running scriptlet: oracle-ai-database-free-26ai-23.26.0-1.x86_64          1/1 
[INFO] Executing post installation scripts...
[INFO] Oracle home installed successfully and ready to be configured.
To configure Oracle AI Database Free, optionally modify the parameters in '/etc/sysconfig/oracle-free-26ai.conf' and then run '/etc/init.d/oracle-free-26ai configure' as root.

  Verifying        : oracle-ai-database-free-26ai-23.26.0-1.x86_64          1/1 

Installed:
  oracle-ai-database-free-26ai-23.26.0-1.x86_64                                 

Complete!
[root@26ai-single tmp]#
    

Step 4: Creating and Configuring the Database

Since the binary placement is complete, execute the configuration script to create the database (CDB/PDB).

# Execute configuration script
/etc/init.d/oracle-free-26ai configure

You will be prompted to enter a password during execution.

  • Password Requirements: Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, and one number.
  • Scope: This becomes the common password for SYS, SYSTEM, and PDBADMIN.

🖥️ Execution results using a real device

View execution results (click here)

[root@26ai-single tmp]# /etc/init.d/oracle-free-26ai configure
Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:
Confirm the password:
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle AI Database FREE.
Enter SYS user password: 
********** ***
Enter SYSTEM user password: 
********** **
Enter PDBADMIN User Password: 
********** 
Prepare for db operation
7% complete
Copying database files
29% complete
Creating and starting Oracle instance
30% complete
33% complete
36% complete
39% complete
43% complete
Completing Database Creation
47% complete
49% complete
50% complete
Creating Pluggable Databases
54% complete
71% complete
Executing Post Configuration Actions
93% complete
Running Custom Scripts
100% complete
Database creation complete. For details check the logfiles at:
 /opt/oracle/cfgtoollogs/dbca/FREE.
Database Information:
Global Database Name:FREE
System Identifier(SID):FREE
Look at the log file "/opt/oracle/cfgtoollogs/dbca/FREE/FREE.log" for further details.

Connect to Oracle AI Database using one of the connect strings:
     Pluggable database: 26ai-single/FREEPDB1
     Multitenant container database: 26ai-single
[root@26ai-single tmp]#
    

Step 5: Setting Environment Variables

Set the environment variables to operate as the database administrator (oracle user).

# Switch to oracle user
su - oracle

# Append to .bash_profile (Permanent setting)
cat <<EOF >> ~/.bash_profile

# Oracle Settings
export ORACLE_SID=FREE
export ORACLE_BASE=/opt/oracle/
export ORACLE_HOME=/opt/oracle/product/26ai/dbhomeFree
export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH
EOF

# Reflect settings
source ~/.bash_profile

🖥️ Execution results using a real device

View execution results (click here)

[root@26ai-single tmp]# su - oracle
[oracle@26ai-single ~]$ export ORACLE_SID=FREE
[oracle@26ai-single ~]$ export ORACLE_BASE=/opt/oracle/
[oracle@26ai-single ~]$ export ORACLE_HOME=/opt/oracle/product/26ai/dbhomeFree
[oracle@26ai-single ~]$ export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
[oracle@26ai-single ~]$ export DISPLAY=192.168.56.1:0.0
[oracle@26ai-single ~]$ cat <> ~/.bash_profile
> 
> # Oracle Settings
> export ORACLE_SID=FREE
> export ORACLE_BASE=/opt/oracle/
> export ORACLE_HOME=/opt/oracle/product/26ai/dbhomeFree
> export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
> export DISPLAY=192.168.56.1:0.0
> EOF
[oracle@26ai-single ~]$
    

3. Execution Example & Connection Verification

Once the installation is complete, use SQL*Plus to verify the connection.

Checking Containers (CDB/PDB)

sqlplus / as sysdba
show con_name
show pdbs

26ai Free is installed in a Multitenant configuration.

  • FREE: SID of the Container Database (CDB)
  • FREEPDB1: Pluggable Database (PDB) created by default

Execution Result:

[oracle@26ai-single ~]$ sqlplus / as sysdba

SQL*Plus: Release 23.26.0.0.0 - Production on Sat Dec 13 22:04:20 2025
Version 23.26.0.0.0

Copyright (c) 1982, 2025, Oracle. All rights reserved.


Connected to:
Oracle AI Database 26ai Free Release 23.26.0.0.0 - Develop, Learn, and Run for Free
Version 23.26.0.0.0

SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT
SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 FREEPDB1 READ WRITE NO ★Started
SQL>

4. Troubleshooting

Here are common errors that occur during installation and their solutions.

Error / PhenomenonCauseCheck / Remedy
Dependencies resolution failedNecessary RPMs are not in the OS media/repository.Check if the ISO is recognized with the mount command, and if the repository is enabled with dnf repolist.
BAD PASSWORDPassword requirements not met.Set a complex password containing at least 8 characters, including uppercase, lowercase, and numbers.
ORA-12541: TNS:no listenerListener not started.Check with lsnrctl status. If not started, run lsnrctl start. Also check if port 1521 is not conflicting.
Configure script hangsInsufficient memory.If using a virtual machine, increase the memory allocation to at least 2GB (4GB or more is recommended).

Log File Location:

Detailed installation logs are output to /opt/oracle/cfgtoollogs/dbca/FREE/FREE.log. Check here first in case of errors.


5. Operations, Monitoring, and Security Notes

Firewall Settings (firewalld)

When connecting from an external terminal (such as SQL Developer), open the port in the OS firewall.

Bash

# Execute as root user
firewall-cmd --permanent --add-port=1521/tcp
firewall-cmd --reload

Auto-start Settings

Check if the DB is configured to start automatically when the server reboots. The RPM installation of Oracle Free usually registers a systemd service (oracle-free-26ai).

Bash

systemctl status oracle-free-26ai
systemctl enable oracle-free-26ai

Changing OS User Password

When changing the password for the oracle user from the root user, it may conflict with OS policies (pam_pwquality, etc.).

Bash

[root@26ai-single ~]# passwd oracle
# Even if a BAD PASSWORD warning appears, root privileges can force the setting,
# but for security, set a password that meets the recommended complexity.

FAQ

Q1: Can Oracle 26ai Free be used for commercial purposes?

A1: No, it is basically limited to development, testing, learning, and prototyping purposes. A Standard Edition 2 (SE2) or Enterprise Edition (EE) license is required for use in a production environment.

Q2: What are the main differences from 19c or 23ai?

A2: 26ai is the latest branch specialized for AI functions (acceleration and optimization of Vector Search). The feature set is based on 23ai but anticipates future functions.

Q3: How should I specify the Connect String?

A3: By default, specify localhost:1521/FREEPDB1 to connect to the PDB. Connection to the CDB (FREE) is used only during management operations.

Summary

The installation of Oracle Database 26ai Free can be performed very simply by utilizing RPM and dnf.

  • Dependencies: Create a local repository with OS media when offline.
  • Preinstall: Essential as it automates 90% of the environment setup.
  • Configure: Complete DB creation with a one-liner.

Please try out the new features such as vector search in the latest database environment adapted for the AI era.

コメント

Copied title and URL