Overview
Oracle Database 19c is a multi-model database means it provides full support for relational and non-relational data, such as JSON, XML, text, spatial and graph data. There are lots of new features available in this new release like partitioned hybrid tables, encryption capabilities in the built-in data dictionary, statistics-only queries and many more. It also enables Oracle’s Autonomous Database Cloud Services. This article describes the installation of Oracle Database 19c (19.3) 64-bit on Red Hat 8 64-bit.
Lab Environment
Server Machine | Work Station or Client Machine | |
OS Release | Red Hat Enterprise Linux release 8.4 (Ootpa) | Red Hat Enterprise Linux release 8.4 (Ootpa) |
Kernel | 4.18.0-305.3.1.el8_4.x86_64 | 4.18.0-305.7.1.el8_4.x86_64 |
Oracle Release | 19.3 | Oracle SQL Developer Version 19.2.1.247 |
IP Address | 200.200.200.200 | 100.100.100.100 |
Host Name | Server | Client |
User Name | Admin | User |
Step 1: Download Software
Go to the below office site.
https://www.oracle.com/bd/database/technologies/oracle19c-linux-downloads.html
And Download the following version. As of date Tue Aug 3 13:01:35 +06 2021, the latest version of Oracle Database for Red Hat is:
Oracle Database 19c (19.3) for Linux x86-64
Step 2: Edit Server Host File
Add the hostname and IP address in the last line of “/etc/hosts” file in the following format.
Server_IP_address fully_qualified_host_name host_name
[Admin@Server ~]$ sudo sed -i '$ a 200.200.200.200 Server.localdomain Server' /etc/hostsAfter that, the file will be like that:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
200.200.200.200 Server.localdomain Server
Here, Server is the hostname and the IP address of the server is 200.200.200.200.
Step 3: Basic Prerequisites for Oracle Installation
We divided this step into three sections (1) the Automatic Setup or (2) the Manual Setup and (3) the Additional Setup. The Additional Setup is mandatory for both processes. In this tutorial, we follow the Automatic Setup that will complete all of our manual tasks, and then we go Additional Setup. If you want to go with the Manual Setup checkout here.
3.1. The Automatic Setup:
In this process, the Oracle Database Preinstallation RPM package will complete most of your prerequisites system setup tasks like:
Automatically downloads and installs any additional RPM packages and dependencies
As needed, sets sysctl.conf settings and recommendations values for system startup parameters, and driver parameters
Sets hard and soft resource limits, and kernel parameter
The following example shows how to create the user oracle with the user ID 54321; with the primary group oinstall; and with secondary groups dba, asmdba, backupdba, dgdba, kmdba, and racdba:
Creates an oracle user and the oraInventory (oinstall) and OSDBA (dba) groups
For Linux x86_64 machines, Sets numa=off in the kernel.
This configuration file '/etc/security/limits.conf' may be distribution specific. Contact your system administrator for distribution specific configuration file information. memlock soft and hard limit: unlimited
3.1.1. Install Dependent Package
At first, manually install some basic prerequisite rpm that will suppress future conflicts:
[Admin@Server ~]$ sudo dnf install -y unixODBC unixODBC-devel libnsl libnsl.i686 libnsl2 libnsl2.i686May you not find the following RPM packages in the local repository.
compat-libcap1
compat-libstdc++-33
So, download these RPMs from the rpm finder:
[Admin@Server ~]$ sudo wget https://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/compat-libcap1-1.10-7.el7.x86_64.rpm[Admin@Server ~]$ sudo wget https://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
And then install:
[Admin@Server ~]$ sudo dnf -y localinstall compat-libcap1-1.10-7.el7.x86_64.rpm[Admin@Server ~]$ sudo dnf -y localinstall compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
3.1.2. Install Oracle 19c Prerequisite Package
To perform all our prerequisite setup automatically, we need to install the oracle-provided “oracle-database-preinstall-19c” package. By default, this package is not present in the Red Hat repository list.
To download this rpm, run the following command:
And then install as follows:
[Admin@Server ~]$ sudo dnf -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm3.3. The Additional Setup
In this section, we can do some configurations such as the password set for oracle user, change the SELinux tag to permissive, stop the firewall, create installation directories etc. These steps are described in the following section:
3.3.1. Set the password for oracle user:
[Admin@Server ~]$ sudo passwd oracleProvide your super-secret password for oracle user.
3.3.2. Set SELinux flag:
Change the SELinux flag to permissive in the”/etc/selinux/config” file.
[Admin@Server ~]$ sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config3.3.3. Stop and disable the firewall service:
[Admin@Server ~]$ sudo systemctl stop firewalls[Admin@Server ~]$ sudo systemctl disable firewalld
To configure the firewall please follow the link.
3.3.4. Create database installation directory:
In this tutorial, we will use different directories for each type of database file.
Note:Do not put the oraInventory directory under the Oracle base directory for a new installation, because that can result in user permission errors for other installations.
[Admin@Server ~]$ sudo mkdir -p /u01/app/oracle/product/19c/db_1[Admin@Server ~]$ sudo mkdir -p /u02/oradata
[Admin@Server ~]$ sudo mkdir -p /u03/recovery_area
Change the permission of these directories to oracle user.
[Admin@Server ~]$ sudo chown -R oracle:oinstall /u01 /u02 /u03[Admin@Server ~]$ sudo chmod -R 775 /u01 /u02 /u03
Step 4. Configure Environment Variable
This step creates a script file for the environment variable and then assigns it (the script file) to the “/home/oracle/.bash_profile” file. To complete this task, Log in to the oracle user.
[Admin@Server ~]$ su - oracleCreate a directory to keep the scripts:
[oracle@Server ~]$ mkdir /home/oracle/scriptsCreate a script file named “Oracle19cEnvVar.sh” in that directory. And put the following content to that file:
Now add this file to the end of the”/home/oracle/.bash_profile” file.
[oracle@Server ~]$ echo ". /home/oracle/scripts/Oracle19cEnvVar.sh" >> /home/oracle/.bash_profileTo start and stop the database using Linux Service with the help of dbstart and dbshut utility respectively. Please check the link.
Step 5: Exporting Graphical User Interface
For exporting GUI display, install these following packages in the server from root or sudo user. Log in to Admin user and run the following command:
[oracle@Server ~]$ su - Admin[Admin@Server ~]$ sudo yum install -y xdpyinfo xorg-x11-xauth
And change the value of “ForwardX11” from “no” to “yes” in the following file:
[Admin@Server ~]$ sudo sed -i -E 's/#\s+ForwardX11 no/ForwardX11 yes/' /etc/ssh/ssh_configStep 6: Upload Oracle Database software to Server
In this case, we already download the oracle software on our client machine‘s “/tmp” directory. So, at first, we need to log in to the client machine and then upload the zip file of Oracle software to the “/tmp” directory of the server.
[Admin@Server ~]$ ssh -X User@100.100.100.100[User@Client ~]$ sudo scp -v /tmp/LINUX.X64_193000_db_home.zip oracle@200.200.200.200:/tmp/
Log in to the server with the oracle user and unzip the software file into the ORACLE_HOME directory.
[User@Client ~]$ ssh -X oracle@200.200.200.200[oracle@Server ~]$ unzip /tmp/LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19c/db_1
Now reboot (from root or sudo user in this case Admin) the server:
[oracle@Server ~]$ su - Admin[Admin@Server ~]$ sudo reboot
After rebooting log into the server using oracle user with graphical user interface feature.
[User@Client ~]$ ssh -X oracle@200.200.200.200Step 7: Suppress the OS Version Error
We may receive the following error when installing Oracle database 19c Installer on Red Hat 8 (64-bit) platform:
[INS-13001] Oracle Database is not supported on this operating system. The installer will not perform prerequisite checks on the system.
To suppress this error change the distribution id to OLE8 in “cvu_config” file as:
[oracle@Server ~]$ sed -i 's/#CV_ASSUME_DISTID=OEL5/CV_ASSUME_DISTID=OEL8/' /u01/app/oracle/product/19c/db_1/cv/admin/cvu_configStep 8: Installation Oracle Database On Red Hat
Go to the ORACLE_HOME directory and start the Oracle Universal Install (OUI) interactively by issuing the following command. If you want to run this installer silently then check this link.
[oracle@Server ~]$ bash /u01/app/oracle/product/19c/db_1/runInstallerIn this installation process, we will create and configure an Oracle Database Enterprise Edition Server. For RAC and Upgrade installation choose ‘Set UP Software Only’. The Server Class option for a production data center allows for more advanced configuration options such as Oracle RAC, ASM, RMAN, integration with OEM, etc.
Choose the following option for this installation process:
Configure Option: Create and configure a single instance database
System Class: Server class
Database Edition: Enterprise Edition
Installation Location: /u01/app/oracle
Create Inventory: /u01/app/oraInventory
oraInventory Group Name: oinstall
Configuration Type: General Purpose / Transaction Processing
Database Identificaton:
Global database name: oracledbdc
Oracle system identifier (SID): oracledb
Pluggable database name: hrpdb
Configuration Options:
Memory: Uncheck ‘Enable Automatic Memory Management’
Character sets: use Unicode (AL32UTF8)
Simple schemas: Uncheck ‘Install sample schemas in the database’
Database Storage:
File system: /u02/oradata
Management Options: Uncheck ‘Register with Enterprise Manager (EM) Cloud Control’
Recovery Optionsa: Check ‘Enable Recovery’
File system: /u03/recovery_area
Schema Passwords: Check ‘use the same password for all accounts’ and set same password for SYS, SYSTEM, PDBADMIN USER
Operating System Groups:
Database Administrator (OSDBA) group: dba
Database Operator (OSOPER) group (Optional): oper
Database Backup and Recovery (OSBACKUPDBA) group: backupdba
Data Guard administrative (OSDGDBA) group: dgdba
Encryption Key Management administrative (OSKMDBA) group: kmdba
Real Application Cluster administrative (OSRACDBA) group: racdba
Root script execution: Uncheck ‘Automatically run configuration scripts’
Prerequisite Checks: will run automatically
Summary: Save the summaruy description
Install Product: This section take sometimes. When prompted these following scripts run these from root or sudo user as follows
Finish: If we see the installation process is complete then we see ‘Oracle Enterprise Manager Database Express URL: https://Server.localdomain:5500/em’ this type of popup message and then close the installation window
If the installation is failed due to Run Level error please check this link.
[Admin@Server ~]$ sudo bash /u01/app/oraInventory/orainstRoot.sh[Admin@Server ~]$ sudo bash /u01/app/oracle/product/19c/db_1/root.sh
Close the installation window when we see the above screen.
Step 9: Post Installation
Set the restart flag to ‘Y‘ in the “/etc/oratab” file:
[oracle@Server ~]$ su - Admin[Admin@Server ~]$ sudo sed -i -e 's/oracledb:\/u01\/app\/oracle\/product\/19c\/db_1:N/oracledb:\/u01\/app\/oracle\/product\/19c\/db_1:Y/' /etc/oratab
Local Connectivity
Log in to the server using oracle user and connect:
[oracle@Server ~]$ sqlplus / as sysdbaRemote Connectivity
Now we connect the database from our remote client machine. To do this we use Oracle SQL Developer as a client application. If you are new to Oracle SQL Developer please visit here.
Open Oracle SQL Developer and provide the following connection parameter:
Name: Test_DB_Connection_from_Client_Machine
Username: sys
Role: SYSDBA
Password: <Password of SYS user>
Hostname: 200.200.200.200
Port: 1521
Service name: oracledbdc
Connectivity from Oracle SQL Developer:
Click on the Test button it will show the Status is Success then Save and Connect.
Conclusion
This will help you to install Oracle Database 19c on Red Hat Linux 8 step by step. If you have any queries please comment to us.
References
This tutorial follows the official docs as reference Database Installation Guide for Linux.
Comments
Post a Comment