Oracle Database 23ai is the next long-term support release of Oracle Database. It includes over 300 new features with a focus on artificial intelligence (AI) and developer productivity. Features such as AI Vector Search enable you to leverage a new generation of AI models to generate and store vectors of documents, images, sound, and so on; index them and quickly look for similarity while leveraging the existing analytical capabilities of Oracle Database. This combined with the already extensive set of Machine Learning algorithms enables you to quickly create sophisticated AI-enabled applications. Oracle Database 23ai also uses AI to optimize many of the key database functions to make more accurate estimates on timings and resource costings.
New developer-focused features now make it simpler to build next-generation applications that use JSON or relational development approaches or both interchangeably. New microservice and messaging functionality improves upon Oracle Database’s extensive support for this key design methodology. If you need to distribute or shard your database because of regulatory or performance requirements, Oracle Database 23ai adds new RAFT protocol support to make it easier than ever before.

Oracle Database 23ai also includes significant improvements to SQL and PL/SQL, introducing new data types and language enhancements to create new or improve existing OLTP or analytical applications. While Oracle Database is widely regarded as the most secure database in the industry, many new capabilities such as SQL Firewall enable you to control exactly what SQL is executed against your database.
To help DBAs, Oracle Database 23ai further refines many of the key management tasks, reducing their complexity and improving their performance as well as introducing new functionality to simplify tasks, such as reclaiming free space in tablespaces. Oracle Database also adds new performance improvements both at an infrastructural level (with technologies like True Cache) and at the SQL level, ensuring some statements will execute many times faster.
I am using VMware virtualization to infrastructure. Operating system is Oracle Linux 9.
You can download Oracle Database 23ai from https://www.oracle.com/database/free/get-started/
First Step : Configure Operation System For Oracle Database 23ai
1. Upgrade All Packages
dnf -y upgrade
2. Selinux Disable or Permissive
You can do disabled or permissive
vi /etc/selinux/config
SELINUX=permissive
setenforce Permissive
3. Firewall Stop and Disable
You can open firewall after installation, but you have to give permission to necessary ports and services.
systemctl stop firewalld.service
systemctl disable firewalld.service
4. Chrony NTP Configuration
You can write your ntp server information in /etc/chrony.conf file to time sync.
vi /etc/chrony.conf
server yourntpaddress iburst
systemctl restart chronyd.service
systemctl enable chronyd.service
5. Package Installation
dnf -y install oracle-database-preinstall-23ai
reboot
6. Change oracle User Password
When you run “dnf -y install oracle-database-preinstall-23ai”, oracle user created. You can give a password for using ssh connection.
passwd oracle
7. Create Directory For Data
mkdir /data
chown -R oracle.oinstall /data
chmod -R 775 /data
8. Configure Bash Profile of oracle user.
Add below parameters to bash_profiles.
Oracle user bash_profile
su – oracle
vi .bash_profile
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=oracle23ai.fatihacar.com
export ORACLE_UNQNAME=FREE
export ORACLE_SID=FREE
export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
export PATH=$ORACLE_HOME/bin:$PATH
export CV_ASSUME_DISTID=OL9
alias sql=’sqlplus / as sysdba’
alias home=’cd /opt/oracle/product/23ai/dbhomeFree/’
Second Step : Install Oracle Database 23ai
1. Configure Oracle Database Parameters
vi /etc/sysconfig/oracle-free-23ai.conf
#This is a configuration file to setup the Oracle Database.
#It is used when running ‘/etc/init.d/oracle-free-23ai configure’.# LISTENER PORT used Database listener, Leave empty for automatic port assignment
LISTENER_PORT=1521# Character set of the database
CHARSET=WE8ISO8859P9# Database file directory
# If not specified, database files are stored under Oracle base/oradata
DBFILE_DEST=/data# DB Domain name
DB_DOMAIN=oracle23ai.fatihacar.com# Configure TDE
CONFIGURE_TDE=false# Encrypt Tablespaces list, Leave empty for user tablespace alone or provide ALL for encrypting all tablespaces
# For specific tablespaces use SYSTEM:true,SYSAUX:false
ENCRYPT_TABLESPACES=# SKIP Validations, memory, space
SKIP_VALIDATIONS=false
2. Install Database
[root@oracle23ai tmp]# dnf -y localinstall oracle-database-free-23ai-1.0-1.el9.x86_64.rpm
Last metadata expiration check: 0:11:25 ago on Tue 14 May 2024 10:22:48 PM +03.
Dependencies resolved.
===========================================================================================================================================================================================================================
Package Architecture Version Repository Size
===========================================================================================================================================================================================================================
Installing:
oracle-database-free-23ai x86_64 1.0-1 @commandline 1.3 GTransaction Summary
===========================================================================================================================================================================================================================
Install 1 PackageTotal 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-database-free-23ai-1.0-1.x86_64 1/1
Installing : oracle-database-free-23ai-1.0-1.x86_64 1/1
Running scriptlet: oracle-database-free-23ai-1.0-1.x86_64 1/1
[INFO] Executing post installation scripts…
[INFO] Oracle home installed successfully and ready to be configured.
To configure Oracle Database Free, optionally modify the parameters in ‘/etc/sysconfig/oracle-free-23ai.conf’ and then run ‘/etc/init.d/oracle-free-23ai configure’ as root.Verifying : oracle-database-free-23ai-1.0-1.x86_64 1/1
Installed:
oracle-database-free-23ai-1.0-1.x86_64Complete!
Third Step : Check Connection of Oracle Database 23ai
1. Listener
[oracle@oracle23ai ~]$ lsnrctl status
LSNRCTL for Linux: Version 23.0.0.0.0 – Production on 15-MAY-2024 20:27:12
Copyright (c) 1991, 2024, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle23ai)(PORT=1521)))
STATUS of the LISTENER
————————
Alias LISTENER
Version TNSLSNR for Linux: Version 23.0.0.0.0 – Production
Start Date 14-MAY-2024 22:47:54
Uptime 0 days 21 hr. 39 min. 18 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service FREE
Listener Parameter File /opt/oracle/product/23ai/dbhomeFree/network/admin/listener.ora
Listener Log File /opt/oracle/diag/tnslsnr/oracle23ai/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle23ai)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary…
Service “1870584eb173d4b8e0630801a8c008b2.oracle23ai.fatihacar.com” has 1 instance(s).
Instance “FREE”, status READY, has 1 handler(s) for this service…
Service “FREE.oracle23ai.fatihacar.com” has 1 instance(s).
Instance “FREE”, status READY, has 1 handler(s) for this service…
Service “FREEXDB.oracle23ai.fatihacar.com” has 1 instance(s).
Instance “FREE”, status READY, has 1 handler(s) for this service…
Service “freepdb1.oracle23ai.fatihacar.com” has 1 instance(s).
Instance “FREE”, status READY, has 1 handler(s) for this service…
The command completed successfully
2. Database
[oracle@oracle23ai ~]$ sqlplus / as sysdba
SQL*Plus: Release 23.0.0.0.0 – Production on Wed May 15 20:23:34 2024
Version 23.4.0.24.05Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 – Develop, Learn, and Run for Free
Version 23.4.0.24.05SQL> SELECT name, open_mode FROM v$pdbs;
NAME OPEN_MODE
———————————
PDB$SEED READ ONLY
FREEPDB1 READ WRITE
3. Management
CDB STARTUP [NOMOUNT | MOUNT | RESTRICT | UPGRADE | FORCE | READ ONLY] SHUTDOWN [IMMEDIATE | ABORT] PDB (when connect to pdb) STARTUP FORCE; STARTUP OPEN READ WRITE [RESTRICT]; STARTUP OPEN READ ONLY [RESTRICT]; STARTUP UPGRADE; SHUTDOWN [IMMEDIATE]; Alter PDB (when connect to pdb) ALTER PLUGGABLE DATABASE OPEN READ WRITE [RESTRICTED] [FORCE]; ALTER PLUGGABLE DATABASE OPEN READ ONLY [RESTRICTED] [FORCE]; ALTER PLUGGABLE DATABASE OPEN UPGRADE [RESTRICTED]; ALTER PLUGGABLE DATABASE CLOSE [IMMEDIATE];Alter PDB (when connect to cdb) ALTER PLUGGABLE DATABASE <pdb-name-clause> OPEN READ WRITE [RESTRICTED] [FORCE]; ALTER PLUGGABLE DATABASE <pdb-name-clause> OPEN READ ONLY [RESTRICTED] [FORCE]; ALTER PLUGGABLE DATABASE <pdb-name-clause> OPEN UPGRADE [RESTRICTED]; ALTER PLUGGABLE DATABASE <pdb-name-clause> CLOSE [IMMEDIATE];ALTER PLUGGABLE DATABASE pdb1, pdb2 OPEN READ ONLY FORCE; ALTER PLUGGABLE DATABASE pdb1, pdb2 CLOSE IMMEDIATE; ALTER PLUGGABLE DATABASE ALL OPEN; ALTER PLUGGABLE DATABASE ALL CLOSE IMMEDIATE; ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 OPEN; ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 CLOSE IMMEDIATE;
Source : Oracle , Oracle Base