After a very, very long wait, finally onpremisses has been released.
As a starting point, we are on a Oracle Linux 8.10 (x86_64) server on kernel 5.15.0-316.196*, with at least 16G of swap.

[root@ol826ai ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.9 (Ootpa)
[root@ol826ai ~]# uname -a
Linux ol826ai 5.15.0-205.149.5.1.el8uek.x86_64 #2 SMP Fri Apr 5 12:44:45 PDT 2024 x86_64 x86_64 x86_64 GNU/Linux
[root@ol826ai ~]#

Lets install few bits and reboot:

[root@olinux8 ~]# yum install policycoreutils-python-utils
[root@olinux8 ~]# dnf install perl
[root@olinux8 ~]# yum install chkconfig
[root@olinux8 ~]# dnf -y install oracle-ai-database-preinstall-26ai
[root@olinux8 ~]# yum update -y

[root@olinux8 ~]# reboot


[root@olinux8 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.10 (Ootpa)
[root@olinux8 ~]# uname -a
Linux olinux8 5.15.0-316.196.4.2.el8uek.x86_64 #2 SMP Thu Feb 5 10:42:53 PST 2026 x86_64 x86_64 x86_64 GNU/Linux
[root@olinux8 ~]#

Make sure oinstall has assigned oracle in /etc/group file. This might not give you any issues on this example, but on a system with role separation (GRID and RDBMS having different users) can cause trouble… :

[root@olinux8 ~]# groups oracle
oracle : oinstall dba oper backupdba dgdba kmdba racdba
[root@olinux8 ~]# grep -i oinstall /etc/group
oinstall:x:54321:oracle
[root@olinux8 ~]#

Add oracle groups:

[root@olinux8 ~]# groups oracle
oracle : oinstall dba oper backupdba dgdba kmdba racdba
[root@olinux8 ~]# groupadd -g 54327 asmdba
[root@olinux8 ~]# groupadd -g 54328 asmoper
[root@olinux8 ~]# groupadd -g 54329 asmadmin
[root@olinux8 ~]# usermod -g oinstall oracle
usermod: no changes
[root@olinux8 ~]# usermod -G wheel,dba,oper,backupdba,dgdba,kmdba,racdba,asmdba,asmoper,asmadmin oracle

[root@olinux8 ~]# groups oracle
oracle : oinstall wheel dba oper backupdba dgdba kmdba racdba asmdba asmoper asmadmin
[root@olinux8 ~]#


** make sure this is still ok:
[root@olinux8 ~]#  grep -i oinstall /etc/group
oinstall:x:54321:oracle
[root@olinux8 ~]#

Lets format the disks we want to use:

[root@olinux8 ~]# lsblk --list | egrep "sda|sdc"
sda               8:0    0   100G  0 disk.  <-- DATA
sdc               8:32   0    50G  0 disk   <-- FRA
[root@olinux8 ~]# ls -tlr /dev/sd[a,c]
brw-rw----. 1 root disk 8,  0 Feb  9 01:52 /dev/sda
brw-rw----. 1 root disk 8, 32 Feb  9 01:53 /dev/sdc
[root@olinux8 ~]#


[root@olinux8 ~]# fdisk /dev/sda

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x4a652cbb.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-209715199, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199):

Created a new partition 1 of type 'Linux' and of size 100 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

[root@olinux8 ~]#

**do the same for the second disk


[root@olinux8 ~]# lsblk --list | egrep "sda|sdc"
sda               8:0    0   100G  0 disk
sda1              8:1    0   100G  0 part
sdc               8:32   0    50G  0 disk
sdc1              8:33   0    50G  0 part
[root@olinux8 ~]#

Prepare Native ASM:

cat > /etc/udev/rules.d/99-oracle-asm.rules <<'EOF'
# ASM disks
KERNEL=="sda1", OWNER="oracle", GROUP="oinstall", MODE="0660", SYMLINK+="asm/DATA01"
KERNEL=="sdc1", OWNER="oracle", GROUP="oinstall", MODE="0660", SYMLINK+="asm/FRA01"
EOF


[root@olinux8 ~]# cat > /etc/udev/rules.d/99-oracle-asm.rules <<'EOF'
> # ASM disks
> KERNEL=="sda1", OWNER="oracle", GROUP="oinstall", MODE="0660", SYMLINK+="asm/DATA01"
> KERNEL=="sdc1", OWNER="oracle", GROUP="oinstall", MODE="0660", SYMLINK+="asm/FRA01"
> EOF
[root@olinux8 ~]#


[root@olinux8 ~]# udevadm control --reload-rules
[root@olinux8 ~]# udevadm trigger


Confirm right permits:

[root@olinux8 ~]# ls -l /dev/asm
total 0
lrwxrwxrwx. 1 root root 7 Feb 9 02:56 DATA01 -> ../sda1
lrwxrwxrwx. 1 root root 7 Feb 9 02:56 FRA01 -> ../sdc1
[root@olinux8 ~]# ls -tlr /dev/sd[a,c]1
brw-rw----. 1 oracle oinstall 8, 33 Feb 9 02:56 /dev/sdc1
brw-rw----. 1 oracle oinstall 8, 1 Feb 9 02:56 /dev/sda1
[root@olinux8 ~]#

Now, lets proceed with the INSTALL

Create direcories and unzip software

[oracle@olinux8 ~]$ mkdir -p /u01/app/oracle/product/26ai/grid
[oracle@olinux8 ~]$ mkdir /u01/app/grid
[oracle@olinux8 ~]$ mkdir /u01/app/oraInventory
[oracle@olinux8 ~]$

[oracle@ol826ai ~]$ cp /u01/installs/LINUX.X64_2326100_grid_home.zip /u01/app/oracle/product/26ai/grid

[oracle@olinux8 ~]$ cd /u01/app/oracle/product/26ai/grid
[oracle@olinux8 grid]$ unzip -q LINUX.X64_2326100_grid_home.zip
[oracle@olinux8 grid]$ rm -f LINUX.X64_2326100_grid_home.zip

Create .ssh structure by ssh:

[oracle@olinux8 ~]$ ssh olinux8
The authenticity of host 'olinux8 (192.168.56.125)' can't be established.
ECDSA key fingerprint is SHA256:sVDbzUlD3hi43Z8Y7iShp3x+0iKRw/400pOeaqmpJuk.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

*** just ssh to itself, no need to enter password, this automatically creates files needed

Stop / Disable services, create link and remove file:

[root@olinux8 ~]# systemctl stop firewalld.service
[root@olinux8 ~]# systemctl disable firewalld.service

[root@olinux8 ~]# systemctl disable avahi-daemon.service
[root@olinux8 ~]# systemctl stop avahi-daemon.service

[root@olinux8 ~]# systemctl stop chronyd.service
[root@olinux8 ~]# systemctl disable chronyd.service
[root@olinux8 ~]# mv /etc/chrony.conf /etc/chrony.conf.old

[root@olinux8 ~]# ln -s /usr/bin/sudo /usr/local/bin/sudo
[root@olinux8 ~]# mv /etc/resolv.conf /etc/resolv.conf.bck

Run prechecks:

[oracle@olinux8 grid]$ pwd
/u01/app/oracle/product/26ai/grid
[oracle@olinux8 grid]$  ./runcluvfy.sh stage -pre crsinst -n olinux8 -verbose -method sudo -user oracle
....
  Daemon "proxyt" not configured and running ...PASSED
  Domain Sockets ...PASSED
  User Equivalence ...PASSED
  RPM Package Manager database ...PASSED
  Maximum locked memory check ...PASSED
  /dev/shm mounted as temporary file system ...PASSED
  File system mount option hidepid for proc filesystem ...PASSED
  SCP binary check ...PASSED
  Systemd login manager IPC parameter ...PASSED
  cgroup OS compatibility ...PASSED
  ORAchk health score ...INFORMATION (PRVH-1507)

Pre-check for cluster services setup was successful.
ORAchk health score ...INFORMATION
PRVH-1507 : ORAchk/EXAchk checks are skipped.


CVU operation performed:      stage -pre crsinst
Date:                         9 Feb 2026, 02:21:55
CVU version:                  23.26.1.0.0 (010926x8664)
CVU home:                     /u01/app/oracle/product/26ai/grid
User:                         oracle
Operating system:             Linux5.15.0-316.196.4.2.el8uek.x86_64
[oracle@olinux8 grid]$

We are going to use this response file:

[oracle@olinux8 grid]$ cat /u01/app/oracle/product/26ai/grid/install/response/gridINSTALL.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v23.0.0
INVENTORY_LOCATION=/u01/app/oraInventory
installOption=HA_CONFIG
ORACLE_BASE=/u01/app/grid
clusterUsage=GENERAL_PURPOSE
OSDBA=oinstall
OSOPER=oinstall
OSASM=oinstall
sysasmPassword=SuperS3cretPassword
diskGroupName=DATA
redundancy=EXTERNAL
auSize=4
diskList=/dev/sda1
disksWithFailureGroupNames=/dev/sda1
quorumFailureGroupNames=
diskString=/dev/sd*
asmsnmpPassword=SuperS3cretPassword
executeRootScript=false
[oracle@olinux8 grid]$

Run Install:

[oracle@olinux8 ~]$ cd /u01/app/oracle/product/26ai/grid
oracle@olinux8 grid]$ ./gridSetup.sh -silent -responseFile /u01/app/oracle/product/26ai/grid/install/response/gridINSTALL.rsp -ignorePrereqFailure
Launching Oracle Grid Infrastructure Setup Wizard...

[WARNING] [INS-41813] OSDBA for ASM, OSOPER for ASM, and OSASM are the same OS group.
CAUSE: The group you selected for granting the OSDBA for ASM group for database access, and the OSOPER for ASM group for startup and shutdown of Oracle ASM, is the same group as the OSASM group, whose members have SYSASM privileges on Oracle ASM.
ACTION: Choose different groups as the OSASM, OSDBA for ASM, and OSOPER for ASM groups.
[WARNING] [INS-41875] Oracle ASM Administrator (OSASM) Group specified is same as the users primary group.
CAUSE: Operating system group oinstall specified for OSASM Group is same as the users primary group.
ACTION: It is not recommended to have OSASM group same as primary group of user as it becomes the inventory group. Select any of the group other than the primary group to avoid misconfiguration.
The response file for this session can be found at:
/u01/app/oracle/product/26ai/grid/install/response/grid_2026-02-09_02-58-38AM.rsp

You can find the log of this install session at:
/tmp/GridSetupActions2026-02-09_02-58-38AM/gridSetupActions2026-02-09_02-58-38AM.log

As a root user, run the following script(s):
1. /u01/app/oraInventory/orainstRoot.sh
2. /u01/app/oracle/product/26ai/grid/root.sh

Run /u01/app/oracle/product/26ai/grid/root.sh on the following nodes:
[olinux8]


Successfully Setup Software.
As install user, run the following command to complete the configuration.
/u01/app/oracle/product/26ai/grid/gridSetup.sh -executeConfigTools -responseFile /u01/app/oracle/product/26ai/grid/install/response/gridINSTALL.rsp


Moved the install session logs to:
/u01/app/oraInventory/logs/GridSetupActions2026-02-09_02-58-38AM
[oracle@olinux8 grid]$

ROOT SCRIPTS:

[root@olinux8 ~]# /u01/app/oraInventory/orainstRoot.sh
[root@olinux8 ~]# /u01/app/oracle/product/26ai/grid/root.sh
Check /u01/app/oracle/product/26ai/grid/install/root_olinux8_2026-02-09_03-06-34-352927991.log for the output of root script
[root@olinux8 ~]#

** check logs for successfull execution.

executeConfigTools:
** Note on the previous output, it asks you to run WITHOUT -silent, but we are going to use it.

[oracle@olinux8 grid]$ /u01/app/oracle/product/26ai/grid/gridSetup.sh -executeConfigTools -responseFile /u01/app/oracle/product/26ai/grid/install/response/gridINSTALL.rsp -silent
....
ASM has been created and started successfully.

[DBT-30001] Disk groups created successfully. Check /u01/app/grid/cfgtoollogs/asmca/asmca-260209am031557.log for details.

[ Exit Code ] 0
[ End ] ASMCA - 2026-02-09 03:26:20.444

[ Start ] CVU - 2026-02-09 03:26:20.556
Command: /bin/sh -c /u01/app/oracle/product/26ai/grid/bin/cluvfy  stage -post hacfg

Performing following verification checks ...

  Oracle Restart Integrity ...PASSED
  OLR Integrity ...PASSED

Post-check for Oracle Restart configuration was successful.

CVU operation performed:      stage -post hacfg
Date:                         9 Feb 2026, 03:26:21
CVU version:                  23.26.1.0.0 (010926x8664)
CVU home:                     /u01/app/oracle/product/26ai/grid
Grid home:                    /u01/app/oracle/product/26ai/grid
User:                         oracle
Operating system:             Linux5.15.0-316.196.4.2.el8uek.x86_64
Successfully Configured Software.
[ Exit Code ] 0
[ End ] CVU - 2026-02-09 03:26:30.042

[oracle@olinux8 grid]$[oracle@ol826ai grid]$ /u01/app/oracle/product/26ai/grid/gridSetup.sh -executeConfigTools -responseFile /u01/app/oracle/product/26ai/grid/install/response/gridINSTALL.rsp -silent
....
ASM has been created and started successfully.

[DBT-30001] Disk groups created successfully. Check /u01/app/grid/cfgtoollogs/asmca/asmca-260208pm061516.log for details.

[ Exit Code ] 0
[ End ] ASMCA - 2026-02-08 18:19:56.343

[ Start ] CVU - 2026-02-08 18:19:56.54
Command: /bin/sh -c /u01/app/oracle/product/26ai/grid/bin/cluvfy  stage -post hacfg

Performing following verification checks ...

  Oracle Restart Integrity ...PASSED
  OLR Integrity ...PASSED

Post-check for Oracle Restart configuration was successful.

CVU operation performed:      stage -post hacfg
Date:                         8 Feb 2026, 18:19:57
CVU version:                  23.26.1.0.0 (010926x8664)
CVU home:                     /u01/app/oracle/product/26ai/grid
Grid home:                    /u01/app/oracle/product/26ai/grid
User:                         oracle
Operating system:             Linux5.15.0-205.149.5.1.el8uek.x86_64
Successfully Configured Software.
[ Exit Code ] 0
[ End ] CVU - 2026-02-08 18:20:05.835

[oracle@ol826ai grid]$

QUICK POST-CRESTION CHECKS:

[oracle@olinux8 ~]$ . oraenv
ORACLE_SID = [oracle] ? +ASM
The Oracle base has been set to /u01/app/grid
[oracle@olinux8 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       olinux8                  STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       olinux8                  STABLE
ora.asm
               ONLINE  ONLINE       olinux8                  Started,STABLE
ora.ons
               OFFLINE OFFLINE      olinux8                  STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       olinux8                  STABLE
ora.diskmon
      1        OFFLINE OFFLINE                               STABLE
ora.evmd
      1        ONLINE  ONLINE       olinux8                  STABLE
--------------------------------------------------------------------------------
[oracle@olinux8 ~]$

Create second diskgroup FRA:

col name format a20
col path format a20
col library format a50
set linesize 190
select group_number, name, path, library from v$asm_disk order by 1;

GROUP_NUMBER NAME		  PATH		       LIBRARY
------------ -------------------- -------------------- --------------------------------------------------
	   0			  /dev/sdc1	       System
	   1 DATA_0000		  /dev/sda1	       System

[oracle@olinux8 ~]$ asmca -silent -createDiskGroup -diskGroupname FRA -disk '/dev/sdc1' -redundancy EXTERNAL
[DBT-30001] Disk groups created successfully. Check /u01/app/grid/cfgtoollogs/asmca/asmca-260209am032912.log for details.

SQL> /

GROUP_NUMBER NAME		  PATH		       LIBRARY
------------ -------------------- -------------------- --------------------------------------------------
	   1 DATA_0000		  /dev/sda1	       System
	   2 FRA_0000		  /dev/sdc1	       System

SQL>  select name,total_mb from v$asm_diskgroup;

NAME		       TOTAL_MB
-------------------- ----------
DATA			 102396
FRA			  51199

[oracle@olinux8 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
38743682;MICRONAUT RELEASE UPDATE 23.26.1.0.0 (GOLD IMAGE) (38743682) Gold Image
38743695;RHP RELEASE UPDATE 23.26.1.0.0 (GOLD IMAGE) (38743695) Gold Image
38743706;ACFS RELEASE UPDATE 23.26.1.0.0 (GOLD IMAGE) (38743706) Gold Image
38743688;OCW RELEASE UPDATE 23.26.1.0.0 (GOLD IMAGE) (38743688) Gold Image
38743669;Database Release Update : 23.26.1.0.0 (38743669) Gold Image

OPatch succeeded.
[oracle@olinux8 ~]$

That’s it! Need to create a guide for RAC and also for RDBMS.

This is going to be a series of posts all gathered HERE.

Last modified: 9 February 2026

Author

Comments

Write a Reply or Comment

Your email address will not be published.