🖥️Environment Configuration Details: Operating System: Oracle Linux 8.10 64 Bit Oracle Single Instance DB : 26ai High Level Steps to configure Oracle 26ai on Virtual Box Linux: 1) Virtual Box Configuration Step by Step 2) Linux Operating System RHEL Installation Step by Step 3) Oracle 26ai Database Software Installation and DB Creation.
Note: Please note that the above requirements are for my testing environment only. You can refer below requirement for your actual production server. DATA and ARCH disk group space requirement is based on your production requirements. Step 1: Downloading Software - VirtualBox - Linux Operating System - Oracle 26ai RDBMS Software 1) Downloading Virtual Box Refer link : Downloading Virtual Box 2) Downloading Linux Operating System Refer link : Downloading Linux OS 3) Downloading Oracle 26ai Setup Refer link : Oracle 26ai Database Step 2: Virtual Box Configuration Step by Step Refer link : Setting up Virtual Box Step by Step Step 4: Operating System Configuration Here, the installed operating system is OEL 8.10 64 Bit Operating system minimum OS requirements: 1) Oracle Linux 9.2 with the Unbreakable Enterprise Kernel 7: 5.15.0-201.135.6.el9uek.x86_64 or later Oracle Linux 9.2 with the Red Hat Compatible Kernel: 5.14.0-284.30.1.el9_2.x86_64 or later 2) Oracle Linux 8.8 with the Unbreakable Enterprise Kernel 7: 5.15.0-202.135.2.el8uek.x86_64 or later 3) Oracle Linux 8.6 with the Unbreakable Enterprise Kernel 6: 5.4.17-2136.312.3.4.el8uek.x86_64 or later Oracle Linux 8.6 with the Red Hat Compatible Kernel: 4.18.0-372.26.1.0.1.el8_6.x86_64 or later 4) Red Hat Enterprise Linux 9.2: 5.14.0-284.30.1.el9_2.x86_64 or later 5) Red Hat Enterprise Linux 8.6: 4.18.0-372.26.1.0.1.el8_6.x86_64 or later 6) SUSE Linux Enterprise Server 15 SP5 (x86_64): 5.14.21-150500.53-default or later Now its time to make changes in OS. Perform below changes in OS after installation. - Update /etc/hosts file - Stop and disable Firewall - Disable SELINUX - Create directory structure - User and group creation with permissions - Add limits and kernel parameters in configuration files - Make above changes on server and then clone the machine otherwise you have to make changes on cloned server as well. - Install required RPM packages. Please make the above changes on the server before cloning the machine; otherwise, you will need to apply the same changes again on the cloned server. 1) Updating /etc/hosts. [root@dbnode1 ~]# vi /etc/hosts #Public IP 10.20.30.101 dbnode1.localdomain dbnode1 2) Commands to view/stop/disable firewall. [root@dbnode1 ~]# systemctl status firewalld [root@dbnode1 ~]# systemctl stop firewalld [root@dbnode1 ~]# systemctl disable firewalld [root@dbnode1 ~]# systemctl status firewalld 3) Disable SELINUX configuration. [root@dbnode1 ~]# cat /etc/selinux/config Check the value "SELINUX=disabled" [root@dbnode1 ~]# cat /etc/selinux/config 4) User and group creation with permissions. #Create groups with customized group ID. [root@dbnode1 ~]# groupadd -g 2000 oinstall [root@dbnode1 ~]# groupadd -g 2200 dba [root@dbnode1 ~]# groupadd -g 2300 oper #Create oracle user for RDBMS owner and change password. [root@dbnode1 ~]# useradd oracle [root@dbnode1 ~]# passwd oracle #Assigning primary and secondary groups to user. [root@dbnode1 ~]# usermod -g oinstall -G dba,oper oracle #Verify group ownership for the user. [root@dbnode1 ~]# id oracle 5) Create directory structure. oracle: ORACLE_BASE : /u01/app/oracle ORACLE_HOME : /u01/app/oracle/product/26ai/dbhome_1 Note: Please note that ORACLE_HOME for the oracle user is not needed to create since it will be automatically created under ORACLE_BASE as ORACLE_HOME always locates under the ORACLE_BASE for rdbms user(oracle). #Create GRID_BASE,GRID_HOME,ORACLE_BASE,ORACLE_HOME directories. [root@dbnode1 ~]# id uid=0(root) gid=0(root) groups=0(root) [root@dbnode1 ~]# mkdir -p /u01/app/oracle [root@dbnode1 ~]# mkdir -p /u01/app/oraInventory #Grant user and group permissions on above directories. [root@dbnode1 ~]# chown -R oracle:oinstall /u01 #Grant read,write,execute permissions to the above directories. [root@dbnode1 ~]# chmod -R 755 /u01 #Verify the directory permissions. [root@dbnode1 ~]# ls -ld /u01/app/oracle drwxr-xr-x 2 oracle oinstall 6 Feb 16 19:58 /u01/app/oracle 6) Adding kernel and limits configuration parameters. [root@dbnode1 ~]# cat /etc/sysctl.conf | grep -v "#" [root@dbnode1 ~]# vi /etc/sysctl.conf fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.panic_on_oops = 1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.rp_filter = 2 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 [root@dbnode1 ~]# sysctl -p [root@dbnode1 ~]# cat /etc/security/limits.conf | grep -v "#" [root@dbnode1 ~]# vi /etc/security/limits.conf oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768 oracle hard memlock 134217728 oracle soft memlock 134217728 oracle soft data unlimited oracle hard data unlimited 7) Install required RPM packages. bc binutils compat-openssl10 elfutils-libelf fontconfig glibc glibc-devel ksh libaio libXrender libX11 libXau libXi libXtst libgcc libstdc++ libxcb libibverbs libasan liblsan librdmacm make policycoreutils policycoreutils-python-utils smartmontools sysstat Download required RPM packages for Oracle Linux 8: 1) ksh - This will be part of your Yum Repository. 2) sysstat - This will be part of your Yum Repository. 3) libnsl-2.28-211.0.1.el8.x86_64.rpm - This will be part of your Yum Repository. (To avoid installation error "error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory" Copy and unzip Oracle DB setup by oracle user. [root@dbnode1 ~]# cd /setup/Oracle_26ai_RAC [root@dbnode1 Oracle_26ai_RAC]# ll -rwxrwx--- 1 root vboxsf 2406058543 Feb 11 19:30 LINUX.X64_2326100_db_home.zip [root@dbnode1 Oracle_26ai_RAC]# cp LINUX.X64_2326100_db_home.zip /u01/app/oracle/product/26ai/dbhome_1/ root@dbnode1 Oracle_26ai_RAC]# cd /u01/app/oracle/product/26ai/dbhome_1/ [root@dbnode1 dbhome_1]# ll -rwxr-x--- 1 root root 2406058543 Mar 5 19:35 LINUX.X64_2326100_db_home.zip [root@dbnode1 dbhome_1]# chmod 777 LINUX.X64_2326100_db_home.zip [oracle@dbnode1 ~]$ id uid=1002(oracle) gid=2000(oinstall) groups=2000(oinstall),2100(asmadmin),2200(dba),2300(oper),2400(asmdba),2500(asmoper) [oracle@dbnode1 ~]$ cd /u01/app/oracle/product/26ai/dbhome_1/ [oracle@dbnode1 dbhome_1]$ ll -rwxrwxrwx 1 root root 2406058543 Mar 5 19:35 LINUX.X64_2326100_db_home.zip [oracle@dbnode1 dbhome_1]$ unzip LINUX.X64_2326100_db_home.zip Archive: LINUX.X64_2326100_db_home.zip inflating: META-INF/MANIFEST.MF inflating: META-INF/ORACLE_C.SF inflating: META-INF/ORACLE_C.RSA creating: OPatch/ inflating: OPatch/README.txt ..... rdbms/mesg/ocisk.msb -> orask.msb rdbms/mesg/ocith.msb -> orath.msb rdbms/mesg/ocitr.msb -> oratr.msb rdbms/mesg/ocius.msb -> oraus.msb rdbms/mesg/ocius.msg -> ./oraus.msg rdbms/mesg/ocizhs.msb -> orazhs.msb rdbms/mesg/ocizht.msb -> orazht.msb [oracle@dbnode1 dbhome_1]$ Step 5: Invoke runInstaller and start the installation. Login as oracle user and start runInstaller to initiate GUI console. [oracle@dbnode1 dbhome_1]$ ll runInstaller -rwxr-x--- 1 oracle oinstall 2957 Jun 7 2024 runInstaller [oracle@dbnode1 dbhome_1]$./runInstaller Open a new terminal window by root user and run root.sh script. [root@dbnode1 ~]# id uid=0(root) gid=0(root) groups=0(root) [root@dbnode1 ~]# /u01/app/oracle/product/26ai/dbhome_1/root.sh Performing root user operation. The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/26ai/dbhome_1 Enter the full pathname of the local bin directory: [/usr/local/bin]: The contents of "dbhome" have not changed. No need to overwrite. The contents of "oraenv" have not changed. No need to overwrite. The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: n Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. [root@dbnode1 ~]# 📝 Stay tuned for a detailed blog post on this case !!! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
🙏 Thanks for reading this post!
👍 If you found this article helpful, please leave a comment and share your feedback.
🔔 Don’t forget to click FOLLOW to stay updated with my future blog posts and Oracle DBA tips. 🚀













Thank you for visiting my blog ! Thanks for your comment !