- Introduction: Oracle Restart is a high-availability feature of Oracle Grid Infrastructure for standalone servers that automatically restarts Oracle Database components, such as the database instance, listener, and Oracle Automatic Storage Management, after hardware or software failures, or following a server reboot. In this article, we will see how to install the Oracle Restart 19c step by step.
- Prerequisites: Below are the minimum requirements for Linux environment.
- CPU - 2core
- RAM - 8GB
- Disk space - 45GB (/u01)
- Raw Disk storage - 50GB (For ASM disks)
- Grid and Databse binary. Download here.
- Must have root user or sudo access.
- Disable the firewall.
- Environment:
- Now let's proceed to install the Oracle Restart setup step by step:
| Hostname | orares.oraeasy.com |
|---|---|
| OS | OL 7.3 |
| Grid/Database Version | 19c (19.3) |
| Grid Home | /u01/app/grid/19c/grid_1 |
| Database Home | /u01/app/oracle/19c/db_1 |
| ASM SID | +ASM |
| Database SID | orcldb |
1. First we need to install required packages for Oracle installation. All the OS and ASM configuration will be done with root user.
[root@orares ~]# yum -y install oracle-database-preinstall-19c.x86_64
Loaded plugins: langpacks, ulninfo
Resolving Dependencies
--> Running transaction check
---> Package oracle-database-preinstall-19c.x86_64 0:1.0-3.el7 will be installed
--> Processing Dependency: compat-libcap1 for package: oracle-database-preinstall-19c-1.0-3.el7.x86_64
--> Processing Dependency: glibc-devel for package: oracle-database-preinstall-19c-1.0-3.el7.x86_64
--> Processing Dependency: ksh for package: oracle-database-preinstall-19c-1.0-3.el7.x86_64
--> Processing Dependency: libaio-devel for package: oracle-database-preinstall-19c-1.0-3.el7.x86_64
--> Processing Dependency: libstdc++-devel for package: oracle-database-preinstall-19c-1.0-3.el7.x86_64
--> Running transaction check
---> Package compat-libcap1.x86_64 0:1.10-7.el7 will be installed
---> Package glibc-devel.x86_64 0:2.17-326.0.9.el7_9.3 will be installed
--> Processing Dependency: glibc = 2.17-326.0.9.el7_9.3 for package: glibc-devel-2.17-326.0.9.el7_9.3.x86_64
--> Processing Dependency: glibc-headers = 2.17-326.0.9.el7_9.3 for package: glibc-devel-2.17-326.0.9.el7_9.3.x86_64
--> Processing Dependency: glibc-headers for package: glibc-devel-2.17-326.0.9.el7_9.3.x86_64
---> Package ksh.x86_64 0:20120801-144.0.1.el7_9 will be installed
---> Package libaio-devel.x86_64 0:0.3.109-13.el7 will be installed
---> Package libstdc++-devel.x86_64 0:4.8.5-44.0.3.el7 will be installed
--> Processing Dependency: libstdc++(x86-64) = 4.8.5-44.0.3.el7 for package: libstdc++-devel-4.8.5-44.0.3.el7.x86_64
--> Running transaction check
---> Package glibc.x86_64 0:2.17-157.el7 will be updated
--> Processing Dependency: glibc = 2.17-157.el7 for package: glibc-common-2.17-157.el7.x86_64
---> Package glibc.x86_64 0:2.17-326.0.9.el7_9.3 will be an update
---> Package glibc-headers.x86_64 0:2.17-326.0.9.el7_9.3 will be installed
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-326.0.9.el7_9.3.x86_64
--> Processing Dependency: kernel-headers for package: glibc-headers-2.17-326.0.9.el7_9.3.x86_64
---> Package libstdc++.x86_64 0:4.8.5-11.el7 will be updated
---> Package libstdc++.x86_64 0:4.8.5-44.0.3.el7 will be an update
--> Running transaction check
---> Package glibc-common.x86_64 0:2.17-157.el7 will be updated
---> Package glibc-common.x86_64 0:2.17-326.0.9.el7_9.3 will be an update
---> Package kernel-headers.x86_64 0:3.10.0-1160.119.1.0.5.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================================
Package Arch Version Repository Size
===============================================================================================================
Installing:
oracle-database-preinstall-19c x86_64 1.0-3.el7 ol7_latest 27 k
Installing for dependencies:
compat-libcap1 x86_64 1.10-7.el7 ol7_latest 17 k
glibc-devel x86_64 2.17-326.0.9.el7_9.3 ol7_latest 1.1 M
glibc-headers x86_64 2.17-326.0.9.el7_9.3 ol7_latest 695 k
kernel-headers x86_64 3.10.0-1160.119.1.0.5.el7 ol7_latest 9.1 M
ksh x86_64 20120801-144.0.1.el7_9 ol7_latest 882 k
libaio-devel x86_64 0.3.109-13.el7 ol7_latest 12 k
libstdc++-devel x86_64 4.8.5-44.0.3.el7 ol7_latest 1.5 M
Updating for dependencies:
glibc x86_64 2.17-326.0.9.el7_9.3 ol7_latest 3.6 M
glibc-common x86_64 2.17-326.0.9.el7_9.3 ol7_latest 12 M
libstdc++ x86_64 4.8.5-44.0.3.el7 ol7_latest 306 k
Transaction Summary
======================================================
Install 1 Package (+7 Dependent packages)
Upgrade ( 3 Dependent packages)
Total size: 29 M
Total download size: 13 M
Downloading packages:
warning: /var/cache/yum/x86_64/7Server/ol7_latest/packages/compat-libcap1-1.10-7.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY-:-- ETA
Public key for compat-libcap1-1.10-7.el7.x86_64.rpm is not installed
(1/8): compat-libcap1-1.10-7.el7.x86_64.rpm | 17 kB 00:00:00
(2/8): glibc-devel-2.17-326.0.9.el7_9.3.x86_64.rpm | 1.1 MB 00:00:00
(3/8): glibc-headers-2.17-326.0.9.el7_9.3.x86_64.rpm | 695 kB 00:00:00
(4/8): ksh-20120801-144.0.1.el7_9.x86_64.rpm | 882 kB 00:00:00
(5/8): libaio-devel-0.3.109-13.el7.x86_64.rpm | 12 kB 00:00:00
(6/8): kernel-headers-3.10.0-1160.119.1.0.5.el7.x86_64.rpm | 9.1 MB 00:00:02
(7/8): oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm | 27 kB 00:00:00
(8/8): libstdc++-devel-4.8.5-44.0.3.el7.x86_64.rpm | 1.5 MB 00:00:01
---------------------------------------------------------------------------------------------------------------
Total 4.4 MB/s | 13 MB 00:00:03
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Importing GPG key 0xEC551F03:
Userid : "Oracle OSS group (Open Source Software group) "
Fingerprint: 4214 4123 fecf c55b 9086 313d 72f9 7b74 ec55 1f03
Package : 7:oraclelinux-release-7.3-1.0.4.el7.x86_64 (@anaconda/7.3)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : glibc-common-2.17-326.0.9.el7_9.3.x86_64 1/14
Updating : glibc-2.17-326.0.9.el7_9.3.x86_64 2/14
warning: /etc/nsswitch.conf created as /etc/nsswitch.conf.rpmnew
Updating : libstdc++-4.8.5-44.0.3.el7.x86_64 3/14
Installing : libstdc++-devel-4.8.5-44.0.3.el7.x86_64 4/14
Installing : ksh-20120801-144.0.1.el7_9.x86_64 5/14
Installing : compat-libcap1-1.10-7.el7.x86_64 6/14
Installing : libaio-devel-0.3.109-13.el7.x86_64 7/14
Installing : kernel-headers-3.10.0-1160.119.1.0.5.el7.x86_64 8/14
Installing : glibc-headers-2.17-326.0.9.el7_9.3.x86_64 9/14
Installing : glibc-devel-2.17-326.0.9.el7_9.3.x86_64 10/14
Installing : oracle-database-preinstall-19c-1.0-3.el7.x86_64 11/14
Cleanup : libstdc++-4.8.5-11.el7.x86_64 12/14
Cleanup : glibc-common-2.17-157.el7.x86_64 13/14
Cleanup : glibc-2.17-157.el7.x86_64 14/14
Verifying : kernel-headers-3.10.0-1160.119.1.0.5.el7.x86_64 1/14
Verifying : glibc-2.17-326.0.9.el7_9.3.x86_64 2/14
Verifying : glibc-devel-2.17-326.0.9.el7_9.3.x86_64 3/14
Verifying : glibc-headers-2.17-326.0.9.el7_9.3.x86_64 4/14
Verifying : ksh-20120801-144.0.1.el7_9.x86_64 5/14
Verifying : oracle-database-preinstall-19c-1.0-3.el7.x86_64 6/14
Verifying : compat-libcap1-1.10-7.el7.x86_64 7/14
Verifying : glibc-common-2.17-326.0.9.el7_9.3.x86_64 8/14
Verifying : libaio-devel-0.3.109-13.el7.x86_64 9/14
Verifying : libstdc++-devel-4.8.5-44.0.3.el7.x86_64 10/14
Verifying : libstdc++-4.8.5-44.0.3.el7.x86_64 11/14
Verifying : glibc-2.17-157.el7.x86_64 12/14
Verifying : glibc-common-2.17-157.el7.x86_64 13/14
Verifying : libstdc++-4.8.5-11.el7.x86_64 14/14
Installed:
oracle-database-preinstall-19c.x86_64 0:1.0-3.el7
Dependency Installed:
compat-libcap1.x86_64 0:1.10-7.el7 glibc-devel.x86_64 0:2.17-326.0.9.el7_9.3 glibc-headers.x86_64 0:2.17-326.0.9.el7_9.3
kernel-headers.x86_64 0:3.10.0-1160.119.1.0.5.el7 ksh.x86_64 0:20120801-144.0.1.el7_9 libaio-devel.x86_64 0:0.3.109-13.el7
libstdc++-devel.x86_64 0:4.8.5-44.0.3.el7
Dependency Updated:
glibc.x86_64 0:2.17-326.0.9.el7_9.3 glibc-common.x86_64 0:2.17-326.0.9.el7_9.3 libstdc++.x86_64 0:4.8.5-44.0.3.el7
Complete!
[root@orares ~]#
Install ASM Package.
[root@orares ~]# yum -y install oracleasm kmod-oracleasm oracleasm-support
Loaded plugins: langpacks, ulninfo
Resolving Dependencies
--> Running transaction check
---> Package kernel-uek.x86_64 0:4.1.12-124.93.1.el7uek will be installed
--> Processing Dependency: kernel-firmware = 4.1.12-124.93.1.el7uek for package: kernel-uek-4.1.12-124.93.1.el7uek.x86_64
--> Processing Dependency: linux-firmware >= 20171128-57.git17e62881.0.2 for package: kernel-uek-4.1.12-124.93.1.el7uek.x86_64
---> Package kmod-oracleasm.x86_64 0:2.0.8-28.0.1.el7 will be installed
--> Processing Dependency: kernel(__check_object_size) = 0x88db9f48 for package: kmod-oracleasm-2.0.8-28.0.1.el7.x86_64
--> Processing Dependency: kernel(d_alloc) = 0x6fd8a0cd for package: kmod-oracleasm-2.0.8-28.0.1.el7.x86_64
--> Processing Dependency: kernel(d_genocide) = 0xb7073a6a for package: kmod-oracleasm-2.0.8-28.0.1.el7.x86_64
--> Processing Dependency: kernel(d_instantiate) = 0xa1501aec for package: kmod-oracleasm-2.0.8-28.0.1.el7.x86_64
--> Processing Dependency: kernel(d_make_root) = 0x46af2b76 for package: kmod-oracleasm-2.0.8-28.0.1.el7.x86_64
--> Processing Dependency: kernel(dput) = 0xa3a1832f for package: kmod-oracleasm-2.0.8-28.0.1.el7.x86_64
--> Processing Dependency: kernel(d_rehash) = 0x4dca5a4f for package: kmod-oracleasm-2.0.8-28.0.1.el7.x86_64
--> Processing Dependency: kernel(kern_mount_data) = 0xf482d525 for package: kmod-oracleasm-2.0.8-28.0.1.el7.x86_64
--> Processing Dependency: kernel(kern_unmount) = 0xbc42731d for package: kmod-oracleasm-2.0.8-28.0.1.el7.x86_64
--> Processing Dependency: kernel(_raw_qspin_lock_irq) = 0x3588d8ba for package: kmod-oracleasm-2.0.8-28.0.1.el7.x86_64
--> Processing Dependency: kernel >= 3.10.0-1133.el7 for package: kmod-oracleasm-2.0.8-28.0.1.el7.x86_64
---> Package oracleasm-support.x86_64 0:2.1.11-2.el7 will be installed
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-1160.119.1.0.5.el7 will be installed
--> Processing Dependency: dracut >= 033-502 for package: kernel-3.10.0-1160.119.1.0.5.el7.x86_64
---> Package kernel-uek-firmware.noarch 0:4.1.12-124.93.1.el7uek will be installed
---> Package linux-firmware.noarch 0:20160909-50.gitc883a6b6.0.1.el7 will be updated
---> Package linux-firmware.noarch 999:20241003-999.35.git95bfe086.el7 will be an update
--> Running transaction check
---> Package dracut.x86_64 0:033-463.0.1.el7 will be updated
--> Processing Dependency: dracut = 033-463.0.1.el7 for package: dracut-config-rescue-033-463.0.1.el7.x86_64
--> Processing Dependency: dracut = 033-463.0.1.el7 for package: dracut-network-033-463.0.1.el7.x86_64
---> Package dracut.x86_64 0:033-572.0.13.el7 will be an update
--> Running transaction check
---> Package dracut-config-rescue.x86_64 0:033-463.0.1.el7 will be updated
---> Package dracut-config-rescue.x86_64 0:033-572.0.13.el7 will be an update
---> Package dracut-network.x86_64 0:033-463.0.1.el7 will be updated
---> Package dracut-network.x86_64 0:033-572.0.13.el7 will be an update
--> Processing Conflict: kernel-3.10.0-1160.119.1.0.5.el7.x86_64 conflicts selinux-policy-targeted < 3.13.1-201
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package selinux-policy-targeted.noarch 0:3.13.1-102.0.2.el7 will be updated
---> Package selinux-policy-targeted.noarch 0:3.13.1-268.0.25.el7_9.2 will be an update
--> Processing Dependency: selinux-policy = 3.13.1-268.0.25.el7_9.2 for package: selinux-policy-targeted-3.13.1-268.0.25.el7_9.2.noarch
--> Processing Dependency: selinux-policy = 3.13.1-268.0.25.el7_9.2 for package: selinux-policy-targeted-3.13.1-268.0.25.el7_9.2.noarch
--> Processing Dependency: policycoreutils >= 2.5-24 for package: selinux-policy-targeted-3.13.1-268.0.25.el7_9.2.noarch
--> Running transaction check
---> Package policycoreutils.x86_64 0:2.5-8.0.1.el7 will be updated
--> Processing Dependency: policycoreutils = 2.5-8.0.1.el7 for package: policycoreutils-python-2.5-8.0.1.el7.x86_64
---> Package policycoreutils.x86_64 0:2.5-34.0.1.el7 will be an update
--> Processing Dependency: libselinux-utils >= 2.5-14 for package: policycoreutils-2.5-34.0.1.el7.x86_64
--> Processing Dependency: libsemanage >= 2.5-14 for package: policycoreutils-2.5-34.0.1.el7.x86_64
--> Processing Dependency: libsepol >= 2.5-10 for package: policycoreutils-2.5-34.0.1.el7.x86_64
---> Package selinux-policy.noarch 0:3.13.1-102.0.2.el7 will be updated
---> Package selinux-policy.noarch 0:3.13.1-268.0.25.el7_9.2 will be an update
--> Running transaction check
---> Package libselinux-utils.x86_64 0:2.5-6.el7 will be updated
---> Package libselinux-utils.x86_64 0:2.5-15.el7 will be an update
--> Processing Dependency: libselinux(x86-64) = 2.5-15.el7 for package: libselinux-utils-2.5-15.el7.x86_64
---> Package libsemanage.x86_64 0:2.5-4.el7 will be updated
--> Processing Dependency: libsemanage = 2.5-4.el7 for package: libsemanage-python-2.5-4.el7.x86_64
---> Package libsemanage.x86_64 0:2.5-14.el7 will be an update
---> Package libsepol.x86_64 0:2.5-6.el7 will be updated
---> Package libsepol.x86_64 0:2.5-10.el7 will be an update
---> Package policycoreutils-python.x86_64 0:2.5-8.0.1.el7 will be updated
---> Package policycoreutils-python.x86_64 0:2.5-34.0.1.el7 will be an update
--> Processing Dependency: setools-libs >= 3.3.8-4 for package: policycoreutils-python-2.5-34.0.1.el7.x86_64
--> Running transaction check
---> Package libselinux.x86_64 0:2.5-6.el7 will be updated
--> Processing Dependency: libselinux(x86-64) = 2.5-6.el7 for package: libselinux-python-2.5-6.el7.x86_64
---> Package libselinux.x86_64 0:2.5-15.el7 will be an update
---> Package libsemanage-python.x86_64 0:2.5-4.el7 will be updated
---> Package libsemanage-python.x86_64 0:2.5-14.el7 will be an update
---> Package setools-libs.x86_64 0:3.3.8-1.1.el7 will be updated
---> Package setools-libs.x86_64 0:3.3.8-4.el7 will be an update
--> Running transaction check
---> Package libselinux-python.x86_64 0:2.5-6.el7 will be updated
---> Package libselinux-python.x86_64 0:2.5-15.el7 will be an update
--> Processing Conflict: kernel-3.10.0-1160.119.1.0.5.el7.x86_64 conflicts kexec-tools < 2.0.14-3
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package kexec-tools.x86_64 0:2.0.7-50.0.1.el7 will be updated
---> Package kexec-tools.x86_64 0:2.0.15-51.0.5.el7_9.3 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
=====================================================================================================
Package Arch Version Repository Size
=====================================================================================================
Installing:
kernel x86_64 3.10.0-1160.119.1.0.5.el7 ol7_latest 52 M
kernel-uek x86_64 4.1.12-124.93.1.el7uek ol7_UEKR4 45 M
kernel-uek-firmware noarch 4.1.12-124.93.1.el7uek ol7_UEKR4 2.7 M
kmod-oracleasm x86_64 2.0.8-28.0.1.el7 ol7_latest 298 k
oracleasm-support x86_64 2.1.11-2.el7 ol7_latest 85 k
Updating:
kexec-tools x86_64 2.0.15-51.0.5.el7_9.3 ol7_latest 356 k
selinux-policy-targeted noarch 3.13.1-268.0.25.el7_9.2 ol7_latest 7.2 M
Updating for dependencies:
dracut x86_64 033-572.0.13.el7 ol7_latest 331 k
dracut-config-rescue x86_64 033-572.0.13.el7 ol7_latest 63 k
dracut-network x86_64 033-572.0.13.el7 ol7_latest 107 k
libselinux x86_64 2.5-15.el7 ol7_latest 162 k
libselinux-python x86_64 2.5-15.el7 ol7_latest 235 k
libselinux-utils x86_64 2.5-15.el7 ol7_latest 151 k
libsemanage x86_64 2.5-14.el7 ol7_latest 150 k
libsemanage-python x86_64 2.5-14.el7 ol7_latest 112 k
libsepol x86_64 2.5-10.el7 ol7_latest 297 k
linux-firmware noarch 999:20241003-999.35.git95bfe086.el7 ol7_latest 382 M
policycoreutils x86_64 2.5-34.0.1.el7 ol7_latest 916 k
policycoreutils-python x86_64 2.5-34.0.1.el7 ol7_latest 457 k
selinux-policy noarch 3.13.1-268.0.25.el7_9.2 ol7_latest 500 k
setools-libs x86_64 3.3.8-4.el7 ol7_latest 620 k
Transaction Summary
==============================================================
Install 5 Packages
Upgrade 2 Packages (+14 Dependent packages)
Total size: 493 M
Total download size: 383 k
Downloading packages:
(1/2): oracleasm-support-2.1.11-2.el7.x86_64.rpm | 85 kB 00:00:00
(2/2): kmod-oracleasm-2.0.8-28.0.1.el7.x86_64.rpm | 298 kB 00:00:01
--------------------------------------------------------------------------------------
Total 240 kB/s | 383 kB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : libsepol-2.5-10.el7.x86_64 1/37
Updating : libselinux-2.5-15.el7.x86_64 2/37
Updating : dracut-033-572.0.13.el7.x86_64 3/37
Updating : libsemanage-2.5-14.el7.x86_64 4/37
Updating : 999:linux-firmware-20241003-999.35.git95bfe086.el7.noarch 5/37
Installing : kernel-3.10.0-1160.119.1.0.5.el7.x86_64 6/37
Updating : libsemanage-python-2.5-14.el7.x86_64 7/37
Updating : dracut-network-033-572.0.13.el7.x86_64 8/37
Updating : libselinux-utils-2.5-15.el7.x86_64 9/37
Updating : policycoreutils-2.5-34.0.1.el7.x86_64 10/37
Updating : selinux-policy-3.13.1-268.0.25.el7_9.2.noarch 11/37
Updating : setools-libs-3.3.8-4.el7.x86_64 12/37
Updating : libselinux-python-2.5-15.el7.x86_64 13/37
Installing : kernel-uek-firmware-4.1.12-124.93.1.el7uek.noarch 14/37
Installing : kernel-uek-4.1.12-124.93.1.el7uek.x86_64 15/37
Updating : policycoreutils-python-2.5-34.0.1.el7.x86_64 16/37
Updating : selinux-policy-targeted-3.13.1-268.0.25.el7_9.2.noarch 17/37
Updating : kexec-tools-2.0.15-51.0.5.el7_9.3.x86_64 18/37
Installing : kmod-oracleasm-2.0.8-28.0.1.el7.x86_64 19/37
Updating : dracut-config-rescue-033-572.0.13.el7.x86_64 20/37
Installing : oracleasm-support-2.1.11-2.el7.x86_64 21/37
Note: Forwarding request to 'systemctl enable oracleasm.service'.
Created symlink from /etc/systemd/system/multi-user.target.wants/oracleasm.service to /usr/lib/systemd/system/oracleasm.service.
Cleanup : selinux-policy-targeted-3.13.1-102.0.2.el7.noarch 22/37
Cleanup : selinux-policy-3.13.1-102.0.2.el7.noarch 23/37
Cleanup : dracut-config-rescue-033-463.0.1.el7.x86_64 24/37
Cleanup : linux-firmware-20160909-50.gitc883a6b6.0.1.el7.noarch 25/37
Cleanup : policycoreutils-python-2.5-8.0.1.el7.x86_64 26/37
Cleanup : policycoreutils-2.5-8.0.1.el7.x86_64 27/37
Cleanup : libselinux-utils-2.5-6.el7.x86_64 28/37
Cleanup : setools-libs-3.3.8-1.1.el7.x86_64 29/37
Cleanup : kexec-tools-2.0.7-50.0.1.el7.x86_64 30/37
Cleanup : dracut-network-033-463.0.1.el7.x86_64 31/37
Cleanup : libselinux-python-2.5-6.el7.x86_64 32/37
Cleanup : libsemanage-python-2.5-4.el7.x86_64 33/37
Cleanup : libsemanage-2.5-4.el7.x86_64 34/37
Cleanup : libselinux-2.5-6.el7.x86_64 35/37
Cleanup : libsepol-2.5-6.el7.x86_64 36/37
Cleanup : dracut-033-463.0.1.el7.x86_64 37/37
Verifying : 999:linux-firmware-20241003-999.35.git95bfe086.el7.noarch 1/37
Verifying : libselinux-2.5-15.el7.x86_64 2/37
Verifying : dracut-033-572.0.13.el7.x86_64 3/37
Verifying : policycoreutils-2.5-34.0.1.el7.x86_64 4/37
Verifying : policycoreutils-python-2.5-34.0.1.el7.x86_64 5/37
Verifying : selinux-policy-3.13.1-268.0.25.el7_9.2.noarch 6/37
Verifying : dracut-network-033-572.0.13.el7.x86_64 7/37
Verifying : libselinux-utils-2.5-15.el7.x86_64 8/37
Verifying : kernel-3.10.0-1160.119.1.0.5.el7.x86_64 9/37
Verifying : oracleasm-support-2.1.11-2.el7.x86_64 10/37
Verifying : setools-libs-3.3.8-4.el7.x86_64 11/37
Verifying : libsemanage-python-2.5-14.el7.x86_64 12/37
Verifying : libsemanage-2.5-14.el7.x86_64 13/37
Verifying : libsepol-2.5-10.el7.x86_64 14/37
Verifying : libselinux-python-2.5-15.el7.x86_64 15/37
Verifying : dracut-config-rescue-033-572.0.13.el7.x86_64 16/37
Verifying : kernel-uek-firmware-4.1.12-124.93.1.el7uek.noarch 17/37
Verifying : kernel-uek-4.1.12-124.93.1.el7uek.x86_64 18/37
Verifying : selinux-policy-targeted-3.13.1-268.0.25.el7_9.2.noarch 19/37
Verifying : kmod-oracleasm-2.0.8-28.0.1.el7.x86_64 20/37
Verifying : kexec-tools-2.0.15-51.0.5.el7_9.3.x86_64 21/37
Verifying : libsepol-2.5-6.el7.x86_64 22/37
Verifying : selinux-policy-3.13.1-102.0.2.el7.noarch 23/37
Verifying : libselinux-python-2.5-6.el7.x86_64 24/37
Verifying : libselinux-utils-2.5-6.el7.x86_64 25/37
Verifying : libsemanage-python-2.5-4.el7.x86_64 26/37
Verifying : kexec-tools-2.0.7-50.0.1.el7.x86_64 27/37
Verifying : dracut-network-033-463.0.1.el7.x86_64 28/37
Verifying : dracut-033-463.0.1.el7.x86_64 29/37
Verifying : dracut-config-rescue-033-463.0.1.el7.x86_64 30/37
Verifying : selinux-policy-targeted-3.13.1-102.0.2.el7.noarch 31/37
Verifying : policycoreutils-python-2.5-8.0.1.el7.x86_64 32/37
Verifying : libselinux-2.5-6.el7.x86_64 33/37
Verifying : policycoreutils-2.5-8.0.1.el7.x86_64 34/37
Verifying : libsemanage-2.5-4.el7.x86_64 35/37
Verifying : linux-firmware-20160909-50.gitc883a6b6.0.1.el7.noarch 36/37
Verifying : setools-libs-3.3.8-1.1.el7.x86_64 37/37
Installed:
kernel.x86_64 0:3.10.0-1160.119.1.0.5.el7 kernel-uek.x86_64 0:4.1.12-124.93.1.el7uek kernel-uek-firmware.noarch 0:4.1.12-124.93.1.el7uek
kmod-oracleasm.x86_64 0:2.0.8-28.0.1.el7 oracleasm-support.x86_64 0:2.1.11-2.el7
Updated:
kexec-tools.x86_64 0:2.0.15-51.0.5.el7_9.3 selinux-policy-targeted.noarch 0:3.13.1-268.0.25.el7_9.2
Dependency Updated:
dracut.x86_64 0:033-572.0.13.el7 dracut-config-rescue.x86_64 0:033-572.0.13.el7 dracut-network.x86_64 0:033-572.0.13.el7
libselinux.x86_64 0:2.5-15.el7 libselinux-python.x86_64 0:2.5-15.el7 libselinux-utils.x86_64 0:2.5-15.el7
libsemanage.x86_64 0:2.5-14.el7 libsemanage-python.x86_64 0:2.5-14.el7 libsepol.x86_64 0:2.5-10.el7
linux-firmware.noarch 999:20241003-999.35.git95bfe086.el7 policycoreutils.x86_64 0:2.5-34.0.1.el7
policycoreutils-python.x86_64 0:2.5-34.0.1.el7 selinux-policy.noarch 0:3.13.1-268.0.25.el7_9.2
setools-libs.x86_64 0:3.3.8-4.el7
Complete!
2. Now configure the additional groups for "Oracle" user and change its password.
[root@orares ~]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
[root@orares ~]#
[root@orares ~]# groupadd -g 54327 asmdba
[root@orares ~]# groupadd -g 54328 asmoper
[root@orares ~]# groupadd -g 54329 asmadmin
[root@orares ~]#
[root@orares ~]# usermod -a -G asmadmin,asmdba,asmoper oracle
[root@orares ~]#
[root@orares ~]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba),54327(asmdba),54328(asmoper),54329(asmadmin)
[root@orares ~]#
[root@orares ~]# 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.
[root@orares ~]#
3. Now create directories for Grid & Database home.
[root@orares ~]# mkdir -p /u01/app/grid/19c/grid_1
[root@orares ~]# mkdir -p /u01/app/oracle/19c/db_1
[root@orares ~]# mkdir -p /u01/app/oraInventory
[root@orares ~]# chown -R oracle:oinstall /u01
[root@orares ~]# chmod -R 775 /u01
4. Now configure SELINUX & Disable Firewall.
[root@orares ~]# cat /etc/selinux/config | grep SELINUX
# SELINUX= can take one of these three values:
SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
SELINUXTYPE=targeted
[root@orares ~]# vi /etc/selinux/config
[root@orares ~]# cat /etc/selinux/config | grep SELINUX
# SELINUX= can take one of these three values:
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
SELINUXTYPE=targeted
[root@orares ~]#
[root@orares ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2025-12-22 23:54:13 IST; 15min ago
Docs: man:firewalld(1)
Main PID: 788 (firewalld)
CGroup: /system.slice/firewalld.service
└─788 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
Dec 22 23:54:07 orares.oraeasy.com systemd[1]: Starting firewalld - dynamic firewall daemon...
Dec 22 23:54:13 orares.oraeasy.com systemd[1]: Started firewalld - dynamic firewall daemon.
Dec 22 23:54:14 orares.oraeasy.com firewalld[788]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It wil... it now.
Hint: Some lines were ellipsized, use -l to show in full.
[root@orares ~]#
[root@orares ~]# systemctl stop firewalld
[root@orares ~]#
[root@orares ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@orares ~]#
[root@orares ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
Dec 22 23:54:07 orares.oraeasy.com systemd[1]: Starting firewalld - dynamic firewall daemon...
Dec 22 23:54:13 orares.oraeasy.com systemd[1]: Started firewalld - dynamic firewall daemon.
Dec 22 23:54:14 orares.oraeasy.com firewalld[788]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It wil... it now.
Dec 23 00:09:48 orares.oraeasy.com systemd[1]: Stopping firewalld - dynamic firewall daemon...
Dec 23 00:09:50 orares.oraeasy.com systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.
[root@orares ~]#
5. Now configure the oracleasm.
[root@orares ~]# oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Configuring "oracleasm" to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm
[root@orares ~]#
[root@orares ~]# oracleasm configure -i
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: oinstall
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
[root@orares ~]#
6. Now we need to add a raw disk to machine.View the current attached hard disk.
[root@orares ~]# fdisk -l
Disk /dev/sda: 75.2 GB, 75161927680 bytes, 146800640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000bf650
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 27265023 12582912 83 Linux
/dev/sda3 27265024 37750783 5242880 82 Linux swap / Solaris
/dev/sda4 37750784 146800639 54524928 5 Extended
/dev/sda5 37752832 46141439 4194304 83 Linux
/dev/sda6 46143488 146800639 50328576 83 Linux
[root@orares ~]#
Now shutdown the machine and follow below steps:Select the machine and click on Tools.
In Hard disk section, click on Create.
Select the Hard disk type: VDI. Click Next.
Select Pre-Allocate, as it will be used as ASM storage. Click Next
Select name for disk, its location and size. Then click Finish.
Monitor the Progess.
Once completed, Hard disk can be viewed.
Now select the machine and then click on Storage.
In controller SATA section, click on Add Hard disk.
Select the disk name and click Choose.
Last click Ok.
Now in Storage, you can see the added hard disk.
Now start the machine and view the new attached hard disk.
[root@orares ~]# fdisk -l
Disk /dev/sda: 75.2 GB, 75161927680 bytes, 146800640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000bf650
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 27265023 12582912 83 Linux
/dev/sda3 27265024 37750783 5242880 82 Linux swap / Solaris
/dev/sda4 37750784 146800639 54524928 5 Extended
/dev/sda5 37752832 46141439 4194304 83 Linux
/dev/sda6 46143488 146800639 50328576 83 Linux
Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
[root@orares ~]#
7. Now need to make the partition for new hard disk.
[root@orares ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
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
Building a new DOS disklabel with disk identifier 0xea9db3d7.
Command (m for help): n ==> Press "n" for new partition.
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): ==> Press Enter for default.
Using default response p
Partition number (1-4, default 1): ==> Press Enter for default.
First sector (2048-104857599, default 2048):
Using default value 2048
==> Provide size.
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): +25G
Partition 1 of type Linux and of size 25 GiB is set
==> Do same for next two partition.
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
Partition number (2-4, default 2):
First sector (52430848-104857599, default 52430848):
Using default value 52430848
Last sector, +sectors or +size{K,M,G} (52430848-104857599, default 104857599): +15G
Partition 2 of type Linux and of size 15 GiB is set
Command (m for help):
Command (m for help): n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p):
Using default response p
Partition number (3,4, default 3):
First sector (83888128-104857599, default 83888128):
Using default value 83888128
Last sector, +sectors or +size{K,M,G} (83888128-104857599, default 104857599):
Using default value 104857599
Partition 3 of type Linux and of size 10 GiB is set
Command (m for help): w ==> Press "w" to save the changes.
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@orares ~]#
==> View the partitions.
[root@orares ~]# fdisk -l
Disk /dev/sda: 75.2 GB, 75161927680 bytes, 146800640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000bf650
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 27265023 12582912 83 Linux
/dev/sda3 27265024 37750783 5242880 82 Linux swap / Solaris
/dev/sda4 37750784 146800639 54524928 5 Extended
/dev/sda5 37752832 46141439 4194304 83 Linux
/dev/sda6 46143488 146800639 50328576 83 Linux
Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xea9db3d7
Device Boot Start End Blocks Id System
/dev/sdb1 2048 52430847 26214400 83 Linux
/dev/sdb2 52430848 83888127 15728640 83 Linux
/dev/sdb3 83888128 104857599 10484736 83 Linux
[root@orares ~]#
[root@orares ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xea9db3d7
Device Boot Start End Blocks Id System
/dev/sdb1 2048 52430847 26214400 83 Linux
/dev/sdb2 52430848 83888127 15728640 83 Linux
/dev/sdb3 83888128 104857599 10484736 83 Linux
8. Now create ASM disks.
[root@orares ~]# oracleasm createdisk DATA1 /dev/sdb1
Writing disk header: done
Instantiating disk: done
[root@orares ~]#
[root@orares ~]# oracleasm createdisk FRA1 /dev/sdb2
Writing disk header: done
Instantiating disk: done
[root@orares ~]#
[root@orares ~]# oracleasm createdisk CRS1 /dev/sdb3
Writing disk header: done
Instantiating disk: done
[root@orares ~]#
[root@orares ~]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
[root@orares ~]#
[root@orares ~]# oracleasm listdisks
CRS1
DATA1
FRA1
[root@orares ~]#
9. Now login with oracle user. Place the Grid software and unzip it.
[oracle@orares software]$ pwd
/u01/software
[oracle@orares software]$
[oracle@orares software]$ ls -lrth
total 2.7G
-rw-r--r--. 1 oracle oinstall 2.7G Dec 23 02:05 LINUX.X64_193000_grid_home.zip
[oracle@orares software]$
[oracle@orares software]$ unzip LINUX.X64_193000_grid_home.zip -d /u01/app/grid/19c/grid_1
10. Now create an environment file for ASM & Grid Home.
[oracle@orares ~]$ cat .grid_env
# Environment variables for ASM - Grid Home
ORACLE_SID=+ASM; export ORACLE_SID
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/grid/19c/grid_1; export ORACLE_HOME
JAVA_HOME=/usr/bin/java; export JAVA_HOME
PATH=$ORACLE_HOME/bin:$JAVA_HOME/bin:$PATH:.
export PATH
[oracle@orares ~]$
[oracle@orares ~]$ chmod 775 .grid_env
[oracle@orares ~]$ ls -larth .grid_env
-rwxrwxr-x. 1 oracle oinstall 286 Dec 23 20:07 .grid_env
[oracle@orares ~]$
[oracle@orares ~]$ . .grid_env
[oracle@orares ~]$ env|grep ORA
ORACLE_SID=+ASM
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/grid/19c/grid_1
11. Now start the Grid installation.
[oracle@orares ~]$ cd /u01/app/grid/19c/grid_1
[oracle@orares grid_1]$
[oracle@orares grid_1]$ ls
addnode crs deinstall evm install jdk network ord perl racg root.sh.old slax tomcat wlm
assistants css demo gpnp instantclient jlib nls ords plsql rdbms root.sh.old.1 sqlpatch ucp wwg
bin cv diagnostics gridSetup.sh inventory ldap OPatch oss precomp relnotes rootupgrade.sh sqlplus usm xag
cha dbjava dmu has javavm lib opmn oui QOpatch rhp runcluvfy.sh srvm utl xdk
clone dbs env.ora hs jdbc md oracore owm qos root.sh sdk suptools welcome.html
[oracle@orares grid_1]$
[oracle@orares grid_1]$ ./gridSetup.sh
Launching Oracle Grid Infrastructure Setup Wizard...
The response file for this session can be found at:
/u01/app/grid/19c/grid_1/install/response/grid_2025-12-23_09-13-25PM.rsp
You can find the log of this install session at:
/tmp/GridSetupActions2025-12-23_09-13-25PM/gridSetupActions2025-12-23_09-13-25PM.log
You can find the log of this install session at:
/u01/app/oraInventory/logs/UpdateNodeList2025-12-23_09-13-25PM.log
Moved the install session logs to:
/u01/app/oraInventory/logs/GridSetupActions2025-12-23_09-13-25PM
[oracle@orares grid_1]$
Now GUI installer window will open. Follow the below steps.
Select Oracle Restart and click Next.
Provide the diskgroup name as CRS, select Redundancy as External. Then click on Change Discovery Path
Provide the ASM disk path.
Select the disk name for CRS. Click Next.
(Note: We will create other diskgroups later.)
Provide the password of SYS user for ASM instance and click Next.
Click Next.
Provide the OS user group and click Next.
Provide Grid base and click Next.
Provide Inventrory location and click Next.
Will execute script manually so click Next.
It will check for Prerequisities.
Click on Fix and Check.
Run the provided script with root user. Then click OK.
[root@orares ~]# /tmp/GridSetupActions2025-12-23_09-13-25PM/CVU_19.0.0.0.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.
[root@orares ~]#
Check Ignore All and click Next.
Review and click Install.
Monitor the progress.
Run the provided scripts with root user. Then click OK.
[root@orares ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@orares ~]#
[root@orares ~]# /u01/app/grid/19c/grid_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/grid/19c/grid_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
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.
Using configuration parameter file: /u01/app/grid/19c/grid_1/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/orares/crsconfig/roothas_2025-12-23_09-30-57PM.log
2025/12/23 21:31:09 CLSRSC-363: User ignored prerequisites during installation
LOCAL ADD MODE
Creating OCR keys for user 'oracle', privgrp 'oinstall'..
Operation successful.
LOCAL ONLY MODE
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4664: Node orares successfully pinned.
2025/12/23 21:31:22 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
orares 2025/12/23 21:34:36 /u01/app/grid/crsdata/orares/olr/backup_20251223_213436.olr 724960844
2025/12/23 21:34:37 CLSRSC-327: Successfully configured Oracle Restart for a standalone server
[root@orares ~]#
Monitor the progress.
Installation has been completed. Click Close.
12. Now verify the Grid installation.
[oracle@orares grid_1]$ ps -ef|grep pmon
oracle 16922 1 0 21:40 ? 00:00:00 asm_pmon_+ASM
oracle 26980 3614 0 21:56 pts/1 00:00:00 grep --color=auto pmon
[oracle@orares grid_1]$
[oracle@orares grid_1]$ ps -ef|grep tns
root 22 2 0 19:45 ? 00:00:00 [netns]
oracle 10663 1 0 21:38 ? 00:00:00 /u01/app/grid/19c/grid_1/bin/tnslsnr LISTENER -no_crs_notify -inherit
oracle 26994 3614 0 21:56 pts/1 00:00:00 grep --color=auto tns
[oracle@orares grid_1]$ cd bin
[oracle@orares bin]$
[oracle@orares bin]$ ./crsctl check has
CRS-4638: Oracle High Availability Services is online
[oracle@orares bin]$
[oracle@orares bin]$ ./crsctl query has releaseversion
Oracle High Availability Services release version on the local node is [19.0.0.0.0]
[oracle@orares bin]$ ./crsctl check css
CRS-4529: Cluster Synchronization Services is online
[oracle@orares bin]$
13. Now let's create the remaining ASM diskgroups using ASMCA.
[oracle@orares grid_1]$ asmca
Now GUI window will open. Follow the below steps.
Click on Disk Groups.
Click on Create from bottom section.
Provide the Disk Group name, its path and other options. Click OK.
DATA Disk Group has been created. Click on Create again to create FRA Disk Group.
Provide the details and click OK.
Now required Disk Groups have been created.
14. Now let's verify the Disk Groups via SQLPLUS.
[oracle@orares grid_1]$ sqlplus / as sysasm
SQL*Plus: Release 19.0.0.0.0 - Production on Tue Dec 23 22:27:20 2025
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> select NAME,TOTAL_MB/(1024) TOTAL_GB,FREE_MB/1024 FREE_GB,(TOTAL_MB-FREE_MB)/1024 USED_GB,(FREE_MB/TOTAL_MB)*100 FREE_PER
from v$asm_diskgroup;
NAME TOTAL_GB FREE_GB USED_GB FREE_PER
------------------------------ ---------- ---------- ---------- ----------
CRS 9.99609375 9.8984375 .09765625 99.0230559
DATA 25 24.9140625 .0859375 99.65625
FRA 15 14.9140625 .0859375 99.4270833
15. Now we will install the Database Home software. So first unzip the software.
[oracle@orares software]$ pwd
/u01/software
[oracle@orares software]$ ls -lrth
total 5.6G
-rw-r--r--. 1 oracle oinstall 2.9G Dec 23 02:03 LINUX.X64_193000_db_home.zip
-rw-r--r--. 1 oracle oinstall 2.7G Dec 23 02:05 LINUX.X64_193000_grid_home.zip
[oracle@orares software]$ unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/19c/db_1
[oracle@orares software]$
16. Now create an environment file for Database & its Home.
[oracle@orares ~]$ cat .db_env
# Environment variables for Database - DB Home
ORACLE_SID=orcldb; export ORACLE_SID
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/19c/db_1; export ORACLE_HOME
JAVA_HOME=/usr/bin/java; export JAVA_HOME
PATH=$ORACLE_HOME/bin:$JAVA_HOME/bin:$PATH:.
export PATH
[oracle@orares ~]$ . .db_env
[oracle@orares ~]$ env|grep ORA
ORACLE_SID=orcldb
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/19c/db_1
[oracle@orares ~]$
17. Now start the Database Home installation.
[oracle@orares ~]$ cd /u01/app/oracle/19c/db_1
[oracle@orares db_1]$ ls
addnode crs dbjava dmu hs jdbc md olap ords plsql rdbms runInstaller sqlj ucp
apex css dbs drdaas install jdk mgw OPatch oss precomp relnotes schagent.conf sqlpatch usm
assistants ctx deinstall dv instantclient jlib network opmn oui QOpatch root.sh sdk sqlplus utl
bin cv demo env.ora inventory ldap nls oracore owm R root.sh.old slax srvm wwg
clone data diagnostics has javavm lib odbc ord perl racg root.sh.old.1 sqldeveloper suptools xdk
[oracle@orares db_1]$ ./runInstaller
Launching Oracle Database Setup Wizard...
The response file for this session can be found at:
/u01/app/oracle/19c/db_1/install/response/db_2025-12-23_10-36-19PM.rsp
You can find the log of this install session at:
/u01/app/oraInventory/logs/InstallActions2025-12-23_10-36-19PM/installActions2025-12-23_10-36-19PM.log
[oracle@orares db_1]$
Now GUI installer window will open. Follow the below steps.
Select Software only and click Next.
Select Single Instance and click Next.
Select the Edition and click Next.
Provide Oracle Base and click Next.
Provide OS group and click Next.
We will run root script manually, so click Next.
Check on Ignore All and click Next.
Verify the details and click Install.
Monitor the progress.
Run the script with root user and click OK.
[root@orares ~]# /u01/app/oracle/19c/db_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/19c/db_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 contents of "coraenv" have not changed. No need to overwrite.
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.
Oracle Trace File Analyzer (TFA - Standalone Mode) is available at :
/u01/app/oracle/19c/db_1/bin/tfactl
Note :
1. tfactl will use TFA Service if that service is running and user has been granted access
2. tfactl will configure TFA Standalone Mode only if user has no access to TFA Service or TFA is not installed
[root@orares ~]#
Now installation has been completed. Click Close.
18. Now let's create the database with DBCA.
[oracle@orares db_1]$ dbca
Select Create Database and click Next.
Select Advanced and click Next.
Select General Purpose and click Next.
Provide Database, SID and PDB name. Click Next.
Select Storage option as ASM. Click Next.
Provide FRA options and click Next.
Check Listener and click Next.
Provide SGA & PGA value. Click Next.
Click Next.
Provide sys/system user password. Click Next.
Click Next.
Review the details and click Finish.
Monitor the progress.
Now Database has been created. Click Close.
19. Now verify the database.
[oracle@orares ~]$ ps -ef|grep pmon
oracle 5757 1 0 Dec23 ? 00:00:00 ora_pmon_orcldb
oracle 16922 1 0 Dec23 ? 00:00:00 asm_pmon_+ASM
oracle 20747 3614 0 00:32 pts/1 00:00:00 grep --color=auto pmon
[oracle@orares ~]$
[oracle@orares ~]$ ps -ef|grep tns
root 22 2 0 Dec23 ? 00:00:00 [netns]
oracle 10663 1 0 Dec23 ? 00:00:00 /u01/app/grid/19c/grid_1/bin/tnslsnr LISTENER -no_crs_notify -inherit
oracle 20761 3614 0 00:32 pts/1 00:00:00 grep --color=auto tns
[oracle@orares ~]$
[oracle@orares ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 24-DEC-2025 00:32:30
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 23-DEC-2025 21:38:01
Uptime 0 days 2 hr. 54 min. 29 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/grid/19c/grid_1/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/orares/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=orares.oraeasy.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "+ASM_CRS" has 1 instance(s).
Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA" has 1 instance(s).
Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "+ASM_FRA" has 1 instance(s).
Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "46a3632ba42417ede0651fe43e14032c" has 1 instance(s).
Instance "orcldb", status READY, has 1 handler(s) for this service...
Service "86b637b62fdf7a65e053f706e80a27ca" has 1 instance(s).
Instance "orcldb", status READY, has 1 handler(s) for this service...
Service "orcldb" has 1 instance(s).
Instance "orcldb", status READY, has 1 handler(s) for this service...
Service "orcldbXDB" has 1 instance(s).
Instance "orcldb", status READY, has 1 handler(s) for this service...
Service "orclpdb" has 1 instance(s).
Instance "orcldb", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@orares ~]$
[oracle@orares ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Dec 24 00:29:17 2025
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL>
SQL> def
DEFINE _DATE = "24-DEC-25" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "orcldb" (CHAR)
DEFINE _USER = "SYS" (CHAR)
DEFINE _PRIVILEGE = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1903000000" (CHAR)
DEFINE _EDITOR = "vi" (CHAR)
DEFINE _O_VERSION = "Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0" (CHAR)
DEFINE _O_RELEASE = "1903000000" (CHAR)
SQL>
SQL> select name,open_mode,cdb,version,status from v$database, v$instance;
NAME OPEN_MODE CDB VERSION STATUS
--------- -------------------- --- ----------------- ------------
ORCLDB READ WRITE YES 19.0.0.0.0 OPEN
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
SQL>
20. Now check the Oracle restart configuration using srvctl.
[oracle@orares ~]$ srvctl config
orcldb
[oracle@orares ~]$
[oracle@orares ~]$ srvctl status database -d orcldb
Database is running.
[oracle@orares ~]$ srvctl config database -d orcldb
Database unique name: orcldb
Database name: orcldb
Oracle home: /u01/app/oracle/19c/db_1
Oracle user: oracle
Spfile: +DATA/ORCLDB/PARAMETERFILE/spfile.269.1220657139
Password file:
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Disk Groups: DATA,FRA
Services:
OSDBA group:
OSOPER group:
Database instance: orcldb
21. Now we need to ensure that CRS service for DB instances set for auto restart whenever server reboots.
Check current setting.
[root@orares ~]# ps -ef|grep d.bin
root 1010 946 0 15:20 pts/0 00:00:00 grep --color=auto d.bin
oracle 1981 1 8 13:20 ? 00:09:53 /u01/app/grid/19c/grid_1/bin/ohasd.bin reboot
oracle 2271 1 0 13:20 ? 00:00:20 /u01/app/grid/19c/grid_1/bin/evmd.bin
oracle 2369 1 0 13:20 ? 00:00:24 /u01/app/grid/19c/grid_1/bin/ocssd.bin
[root@orares ~]#
[root@orares ~]# cd /u01/app/grid/19c/grid_1/bin
[root@orares bin]# ./crsctl stat res ora.orcldb.db -p | grep AUTO_START
AUTO_START=restore
[root@orares bin]# ./crsctl stat res ora.DATA.dg -p | grep AUTO_START
AUTO_START=never
[root@orares bin]# ./crsctl stat res ora.FRA.dg -p | grep AUTO_START
AUTO_START=never
[root@orares bin]#
As its not set up for Auto start, so let's modify that.
[root@orares bin]# ./crsctl modify resource "ora.DATA.dg" -attr "AUTO_START=always"
CRS-4995: The command 'Modify resource' is invalid in crsctl. Use srvctl for this command.
[root@orares bin]#x
[root@orares bin]# ./crsctl modify resource "ora.DATA.dg" -attr "AUTO_START=always" -unsupported
[root@orares bin]# ./crsctl modify resource "ora.FRA.dg" -attr "AUTO_START=always" -unsupported
[root@orares bin]# ./crsctl modify resource "ora.orcldb.db" -attr "AUTO_START=always" -unsupported
Now verify.
[root@orares bin]# ./crsctl stat res ora.orcldb.db -p | grep AUTO_START
AUTO_START=always
[root@orares bin]# ./crsctl stat res ora.DATA.dg -p | grep AUTO_START
AUTO_START=always
[root@orares bin]# ./crsctl stat res ora.FRA.dg -p | grep AUTO_START
AUTO_START=always
22. Now reboot the server and verify the DB services.
[oracle@orares bin]$ su -
Password:
Last login: Thu Dec 25 13:10:43 IST 2025 on pts/0
[root@orares ~]#
[root@orares bin]# init 6
Remote side unexpectedly closed network connection
─────────────────────────────────────────────────────────────────────────────────────
Session stopped
- Press to exit tab
- Press R to restart session
- Press S to save terminal output to file
┌──────────────────────────────────────────────────────────────────────┐
│ • MobaXterm Personal Edition v23.2 • │
│ (SSH client, X server and network tools) │
│ │
│ ⮞ SSH session to oracle@192.168.1.45 │
│ • Direct SSH : ✓ │
│ • SSH compression : ✓ │
│ • SSH-browser : ✓ │
│ • X11-forwarding : ✓ (remote display is forwarded through SSH) │
│ │
│ ⮞ For more info, ctrl+click on help or visit our website. │
└──────────────────────────────────────────────────────────────────────┘
Last login: Thu Dec 25 15:26:49 2025
[oracle@orares ~]$ ps -ef|grep pmon
oracle 2732 1 0 15:27 ? 00:00:00 asm_pmon_+ASM
oracle 2814 2689 0 15:27 pts/0 00:00:00 grep --color=auto pmon
[oracle@orares ~]$
[oracle@orares ~]$
[oracle@orares ~]$ ps -ef|grep pmon
oracle 2732 1 0 15:27 ? 00:00:00 asm_pmon_+ASM
oracle 2818 2689 0 15:27 pts/0 00:00:00 grep --color=auto pmon
[oracle@orares ~]$
[oracle@orares ~]$
[oracle@orares ~]$ uptime -p
up 2 minutes
[oracle@orares ~]$
[oracle@orares ~]$ ps -ef|grep pmon
oracle 2732 1 0 15:27 ? 00:00:00 asm_pmon_+ASM
oracle 2892 1 0 15:27 ? 00:00:00 ora_pmon_orcldb
oracle 3021 2689 0 15:28 pts/0 00:00:00 grep --color=auto pmon
[oracle@orares ~]$
Thank you for reading!
I hope this content has been helpful to you. Your feedback and suggestions are always welcome — feel free to leave a comment or reach out with any queries.
Abhishek Shrivastava































































Comments
Post a Comment