Monday, February 17, 2025

Oracle 23ai Free Installation

  • Introduction:
    Oracle Database 23ai, released in May 2024, is Oracle's latest long-term support release, introducing over 300 new features designed to integrate artificial intelligence (AI) capabilities directly into enterprise data management.
    Oracle offers a free version of Oracle Database 23ai, known as Oracle Database 23ai Free, which allows users to explore and develop with the latest features without incurring any costs. This guide will walk you through the Oracle Database 23ai installation process step-by-step.

  • Prerequisites: Below are the minimum requirements for Linux environment.
    1. CPU - 2core
    2. RAM - 2GB
    3. Disk space - 12GB
    4. Swap - 1.5 time of RAM
    5. OS - Oracle Linux 8/9, Red Hat Enterprise Linux 8/9.

  • Software Download:
    1. oracle-database-preinstall-23ai : For Linux 8 and for For Linux 9
    2. Oracle Database 23ai: Download RPM

  • Environment Used:
    1. Hostname: oracle23ai
    2. OS: OL9

  • Note:  Keep enough space in / mount point as ORACLE_HOME will be created in  /opt. you can also create a separate mount point with name /opt.

  • Now start installation step by step:
1. Install oracle-database-preinstall-23ai

[root@oracle23ai ~]# yum install -y oracle-database-preinstall-23ai
Oracle Linux 9 BaseOS Latest (x86_64) 2.2 MB/s | 50 MB 00:22
Oracle Linux 9 Application Stream Packages (x86_64) 2.1 MB/s | 50 MB 00:23
Oracle Linux 9 UEK Release 7 (x86_64) 3.2 MB/s | 58 MB 00:17
Last metadata expiration check: 0:00:10 ago on Sat 15 Feb 2025 06:50:29 PM IST.
Dependencies resolved.
========================================================================
 Package                       Architecture  Version            Repository         Size
========================================================================
Installing:
 oracle-database-preinstall-23ai  x86_64    1.0-2.el9          ol9_appstream      35 k
Installing dependencies:
 initscripts                      x86_64    10.11.7-1.0.1.el9  ol9_baseos_latest  285 k
 ksh                              x86_64    3:1.0.6-4.el9_5    ol9_appstream      889 k
 libnsl                           x86_64    2.34-100.0.1.el9   ol9_baseos_latest   69 k
Transaction Summary
========================================================================
Install  4 Packages
Total download size: 1.2 M
Installed size: 4.2 M
Downloading Packages:
(1/4): libnsl-2.34-100.0.1.el9.x86_64.rpm         38 kB/s |  69 kB 00:01
(2/4): initscripts-10.11.7-1.0.1.el9.x86_64.rpm  149 kB/s | 285 kB 00:01
(3/4): ksh-1.0.6-4.el9_5.x86_64.rpm              339 kB/s | 889 kB 00:02
(4/4): oracle-database-preinstall-23ai-1.0-2.el9.x86_64.rpm 31 kB/s |  35 kB 00:01
-------------------------------------------------------------------------------------------------------
Total                                            434 kB/s | 1.2 MB 00:02
Oracle Linux 9 BaseOS Latest (x86_64)             6.1 MB/s | 6.2 kB 00:00
Importing GPG key 0x8D8B756F:
Userid     : "Oracle Linux (release key 1) "
Fingerprint: 3E6D 826D 3FBA B389 C2F3 8E34 BC4D 06A0 8D8B 756F
From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Key imported successfully
Importing GPG key 0x8B4EFBE6:
Userid     : "Oracle Linux (backup key 1) "
Fingerprint: 9822 3175 9C74 6706 5D0C E9B2 A7DD 0708 8B4E FBE6
From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        : 1/1
  Installing       : ksh-3:1.0.6-4.el9_5.x86_64                   1/4
  Running scriptlet: ksh-3:1.0.6-4.el9_5.x86_64                   1/4
  Installing       : libnsl-2.34-100.0.1.el9.x86_64               2/4
  Installing       : initscripts-10.11.7-1.0.1.el9.x86_64         3/4
  Running scriptlet: initscripts-10.11.7-1.0.1.el9.x86_64         3/4
Created symlink /etc/systemd/system/sysinit.target.wants/import-state.service → /usr/lib/systemd/system/import-state.service.
Created symlink /etc/systemd/system/sysinit.target.wants/loadmodules.service → /usr/lib/systemd/system/loadmodules.service.
  Installing       : oracle-database-preinstall-23ai-1.0-2.el9.x86_64 4/4
  Running scriptlet: oracle-database-preinstall-23ai-1.0-2.el9.x86_64 4/4
  Verifying        : initscripts-10.11.7-1.0.1.el9.x86_64         1/4
  Verifying        : libnsl-2.34-100.0.1.el9.x86_64               2/4
  Verifying        : ksh-3:1.0.6-4.el9_5.x86_64                   3/4
  Verifying        : oracle-database-preinstall-23ai-1.0-2.el9.x86_64 4/4

Installed:
  initscripts-10.11.7-1.0.1.el9.x86_64
  ksh-3:1.0.6-4.el9_5.x86_64
  libnsl-2.34-100.0.1.el9.x86_64
  oracle-database-preinstall-23ai-1.0-2.el9.x86_64

Complete!
[root@oracle23ai ~]#

If you want to install preinstall-23ai rpm manually then run below command post downloading the rpm.
rpm -ivh oracle-database-preinstall-23ai-1.0-2.el9.x86_64.rpm
2. Now download the Oracle 23 ai RPM and keep it in /u01. Then start installing it.

[root@oracle23ai ~]# yum -y localinstall /u01/oracle-database-free-23ai-1.0-1.el9.x86_64.rpm
Last metadata expiration check: 0:08:51 ago on Sat 15 Feb 2025 06:50:43 PM IST.
Dependencies resolved.
========================================================================
Package                  Architecture  Version       Repository    Size
========================================================================
Installing:
oracle-database-free-23ai x86_64      1.0-1         @commandline  1.3 G
Transaction Summary
========================================================================
Install  1 Package
Total size: 1.3 G
Installed size: 3.5 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_64

Complete!

3. Change password of oracle user.

[root@oracle23ai ~]# passwd oracle
Changing password for user oracle.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

4. Now locate ORACLE_HOME directory.

[root@oracle23ai ~]# cd /opt/oracle/product/23ai/dbhomeFree
[root@oracle23ai dbhomeFree]# pwd
/opt/oracle/product/23ai/dbhomeFree
[root@oracle23ai dbhomeFree]# ll
total 80
drwxr-xr-x.  2 oracle oinstall   102 Feb 15 19:05 addnode
drwxr-xr-x.  9 oracle oinstall    93 Feb 15 19:02 assistants
drwxr-xr-x.  2 oracle oinstall  8192 Feb 15 19:05 bin
drwxrwx---.  3 oracle oinstall    17 Feb 15 19:06 cfgtoollogs
drwxr-xr-x.  4 oracle oinstall    87 Feb 15 19:05 clone
drwxr-xr-x.  6 oracle oinstall    55 Feb 15 19:02 crs
drwxr-xr-x.  4 oracle oinstall    31 Feb 15 19:02 crypto
drwxr-xr-x.  3 oracle oinstall    18 Feb 15 19:02 css
drwxr-xr-x. 11 oracle oinstall   119 Feb 15 19:03 ctx
drwxr-xr-x.  7 oracle oinstall    71 Feb 15 19:03 cv
drwxr-xr-x.  3 oracle oinstall    20 Feb 15 19:03 data
drwxr-xr-x.  2 oracle oinstall    22 Feb 15 19:05 dbs
drwxr-xr-x.  5 oracle oinstall   173 Feb 15 19:05 deinstall
drwxr-xr-x.  3 oracle oinstall    20 Feb 15 19:03 demo
drwxr-xr-x.  3 oracle oinstall    20 Feb 15 19:03 diagnostics
drwxr-xr-x.  3 oracle oinstall    19 Feb 15 19:03 dv
-rw-r--r--.  1 oracle oinstall   852 Aug 18  2015 env.ora
drwxr-xr-x.  3 oracle oinstall    18 Feb 15 19:03 has
drwxr-xr-x.  5 oracle oinstall    41 Feb 15 19:03 hs
drwxrwx---. 11 oracle oinstall  4096 Feb 15 19:06 install
drwxr-xr-x.  2 oracle oinstall    29 Feb 15 19:05 instantclient
drwxr-x---. 12 oracle oinstall  4096 Feb 15 19:05 inventory
drwxr-xr-x.  9 oracle oinstall    94 Feb 15 19:03 javavm
drwxr-xr-x.  3 oracle oinstall    17 Feb 15 19:03 jdbc
drwxr-xr-x.  6 oracle oinstall    68 Feb 15 19:05 jdk
drwxr-xr-x.  2 oracle oinstall  4096 Feb 15 19:05 jlib
drwxr-xr-x. 10 oracle oinstall   112 Feb 15 19:04 ldap
drwxr-xr-x.  3 oracle oinstall 12288 Feb 15 19:05 lib
-rwxrwxr-x.  1 oracle oinstall  5780 Jan 31 07:30 LICENSE
drwxrwxr-x.  2 oracle oinstall     6 Jan 31 07:29 log
drwxr-xr-x.  5 oracle oinstall    42 Feb 15 19:04 md
drwxr-xr-x.  4 oracle oinstall    31 Feb 15 19:04 mgw
drwxr-xr-x. 11 oracle oinstall   118 Feb 15 19:04 network
drwxr-xr-x.  5 oracle oinstall    46 Feb 15 19:04 nls
drwxr-xr-x.  8 oracle oinstall   133 Feb 15 19:05 odbc
drwxr-xr-x.  5 oracle oinstall    42 Feb 15 19:04 olap
drwxr-xr-x.  4 oracle oinstall    35 Feb 15 19:04 oml4py
drwxr-xr-x. 13 oracle oinstall  4096 Feb 15 19:05 OPatch
drwxr-xr-x.  7 oracle oinstall    65 Feb 15 19:04 opmn
drwxr-xr-x.  5 oracle oinstall    45 Feb 15 19:05 oracore
-rw-r-----.  1 oracle oinstall   130 Feb 15 19:06 oraInst.loc
drwxr-xr-x.  4 oracle oinstall    29 Feb 15 19:05 ord
drwxr-xr-x.  3 oracle oinstall    19 Feb 15 19:05 oss
drwxr-xr-x.  8 oracle oinstall  4096 Feb 15 19:05 oui
drwxr-xr-x.  4 oracle oinstall    28 Feb 15 19:05 perl
drwxr-xr-x.  6 oracle oinstall   106 Feb 15 19:05 plsql
drwxr-xr-x.  7 oracle oinstall    88 Feb 15 19:05 precomp
drwxr-xr-x.  5 oracle oinstall    39 Feb 15 19:05 python
drwxr-xr-x.  2 oracle oinstall    26 Feb 15 19:05 QOpatch
drwxr-xr-x.  5 oracle oinstall    52 Feb 15 19:01 R
drwxr-xr-x.  4 oracle oinstall    29 Feb 15 19:05 racg
drwxr-xr-x. 13 oracle oinstall   140 Feb 15 19:05 rdbms
drwxr-xr-x.  3 oracle oinstall    21 Feb 15 19:05 relnotes
-rwx------.  1 oracle oinstall   525 Jan 31 07:29 root.sh
-rwxr-x---.  1 oracle oinstall  2957 Jun  7  2024 runInstaller
-rw-r--r--.  1 oracle oinstall  2927 Jul 20  2020 schagent.conf
drwxr-xr-x.  5 oracle oinstall   119 Feb 15 19:05 sdk
drwxr-xr-x.  3 oracle oinstall    18 Feb 15 19:05 slax
drwxr-xr-x.  4 oracle oinstall    28 Feb 15 19:05 sqlcl
drwxr-xr-x.  3 oracle oinstall    17 Feb 15 19:05 sqlj
drwxr-xr-x.  3 oracle oinstall  4096 Feb 15 19:05 sqlpatch
drwxr-xr-x.  6 oracle oinstall    53 Feb 15 19:05 sqlplus
drwxr-xr-x.  6 oracle oinstall    54 Feb 15 19:05 srvm
drwxr-xr-x.  3 oracle oinstall    17 Feb 15 19:05 ucp
drwxr-xr-x.  4 oracle oinstall    31 Feb 15 19:05 usm
drwxr-xr-x.  2 oracle oinstall    33 Feb 15 19:05 utl
drwxr-x---.  7 oracle oinstall    69 Feb 15 19:05 xdk

5. Now login with Oracle user and set .bash_profile.

[oracle@oracle23ai ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs
ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
export ORACLE_HOME

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:.
export LD_LIBRARY_PATH

LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:/usr/lib:/lib
export LIBPATH

TNS_ADMIN=${ORACLE_HOME}/network/admin
export TNS_ADMIN

PATH=$ORACLE_HOME/bin:$PATH:.
export PATH

6. Now run the DBCA and start DB installation.

[oracle@oracle23ai ~]$ dbca
Now you can create the database as you are doing for other Oracle DB version.



ORACLE SID will be always FREE as its Oracle 23ai Free. Global DB name and PDB can be modified as per need.
Customize the location of data files as per your setup and need.
Specify FRA location










7. Now set environment and do the login..

[oracle@oracle23ai ~]$ . oraenv
ORACLE_SID = [oracle] ? FREE
The Oracle base has been set to /opt/oracle
[oracle@oracle23ai ~]$
[oracle@oracle23ai ~]$ sqlplus / as sysdba
SQL*Plus: Release 23.0.0.0.0 - Production on Sat Feb 15 20:25:04 2025
Version 23.7.0.25.01
Copyright (c) 1982, 2025, Oracle.  All rights reserved.
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.7.0.25.01
SQL>
SQL>
SQL>
SQL> set lines 200 pages 1000
col open_mode for a15
col HOST_NAME for a15
select NAME,DATABASE_ROLE,OPEN_MODE,INSTANCE_NUMBER,INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME,STATUS from gv$database,gv$instance;

SQL>
NAME      DATABASE_ROLE    OPEN_MODE       INSTANCE_NUMBER INSTANCE_NAME    HOST_NAME       VERSION           STARTUP_T STATUS
--------- ---------------- --------------- --------------- ---------------- --------------- ----------------- --------- ------------
APEXDB    PRIMARY          READ WRITE                    1 FREE             oracle23ai      23.0.0.0.0        15-FEB-25 OPEN
SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 APEXPDB1                       READ WRITE NO
SQL> !lsnrctl status
LSNRCTL for Linux: Version 23.0.0.0.0 - Production on 15-FEB-2025 20:28:17
Copyright (c) 1991, 2025, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=laptop-fhsjip9c)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 23.0.0.0.0 - Production
Start Date                15-FEB-2025 19:45:57
Uptime                    0 days 0 hr. 42 min. 22 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
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 "2cf5fcb8b4ef1dc4e0631fc45e647325" has 1 instance(s).
  Instance "FREE", status READY, has 1 handler(s) for this service...
Service "2e302888a2dbd35ee0630a65a8c0ae25" has 1 instance(s).
  Instance "FREE", status READY, has 1 handler(s) for this service...
Service "FREEXDB" has 1 instance(s).
  Instance "FREE", status READY, has 1 handler(s) for this service...
Service "apexdb" has 1 instance(s).
  Instance "FREE", status READY, has 1 handler(s) for this service...
Service "apexpdb1" has 1 instance(s).
  Instance "FREE", status READY, has 1 handler(s) for this service...
The command completed successfully

Thanks for visiting!!

0 comments:

Post a Comment