Oracle 26ai Free Installation and Config with True Cache

Oracle 26ai Free + True Cache Install and Config

4/9/26


This is the documentation of an RPM install and configuration of Oracle 26ai Database Free and True Cache node on 2 VirtualBox VM’s running Oracle Linux 9.7.

Steps

  • Downloaded and ran Pre-install package from Oracle
  • Downloaded and installed 26ai RPM dnf -y install oracle-ai-database-free-26ai-23.26.0-1.el9.x86_64.rpm
notion image
Next I ran the config script: sudo /etc/init.d/oracle-free-26ai configure
The configuration script creates a container database (FREE) with one pluggable database (FREEPDB1) and configures the listener at the default port (1521). It must be run as root to execute successfully.
Just set the password and let the script run.
notion image

Set Environment Variables

The following must be set:
export ORACLE_SID=FREE
export ORAENV_ASK=NO
. /opt/oracle/product/26ai/dbhomeFree/bin/oraenv
That concludes Primary Database configuration.

Configuring True Cache

True Cache is a read-only cache database on a separate node from the primary that offloads reads from the primary. It stays continually synchronized withe the database using redo apply.

True Cache Node

Download the same database software, but don’t create the full database.
I used SCP to copy the 26ai rpm to the True Cache node, rather than waiting on it to download again: scp ./oracle-ai-database-free-26ai-23.26.1-1.el9.x86_64.rpm oracle@xxx.xxx.xxx.xxx:~
To configure True Cache the Primary DB must be in ARCHIVELOG mode.
Check what mode you’re in: SELECT log_mode FROM v$database;
To switch modes run the following:
Log in as SYSDBA: sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
You run the same dnf install command used on the primary, but don’t configure the full database.
I used the DBCA client to configure the True Cache instance. I believe there are other ways to config manually, but this was decently fast for me.
Here’s the DBCA command I used:
./dbca -silent -createTrueCacheInstance -sourceDBConnectionString xxx.xxx.xxx.xxx:1521/FREE -passwordFileFromSourceDB /opt/oracle/tmp/orapwFREE -dbUniqueName TRUECACHE -sid FREE -gdbName FREE -pgaAggregateTargetInMB 1500 -sgaTargetInMB 500 -remoteDBSYSPassword xxxxxx
The password file orapwFREE has to be copied over from the primary DB under $ORACLE_HOME/dbs/orapwFREE.
Getting the config to work took a lot of trial and error (switching users, copying files, changing file permissions, etc.)

Primary Node

The final step is to run DBCA -configureDatabase on the primary database to configure the True Cache connection.
dbca -configureDatabase -configureTrueCacheInstanceService -sourceDB FREE -trueCacheConnectString xxx.xxx.xxx.xxx:1521/TRUECACHE -trueCacheServiceName TRUECACHE -serviceName app_ro -pdbName freepdb1 -silent
I ran into some issues getting True Cache connected with primary db. The VM restarted and changed IP addresses, forcing me to change a several parameters including REMOTE_LISTENER, and FAL_SERVER. It was a good experience though. I was able to practice creating a PFILE, making changes and using it to create a new SPFILE.
And that’s it!
Below SELECT * FROM V$TRUE_CACHE shows a healthy connection between the Primary FREE and True Cache TRUECACHE nodes.
notion image