Installing Oracle Database 18.0.0.0.0 binaries on Oracle Linux 7

This post is also available in: Português

In this article I will describe how to install the very first available release of Oracle Database 18c (18.0.0.0.0) binaries on Oracle Linux 7.2. Even though it's not officially released for on-premises yet (only Oracle Cloud), in edelivery it is available an Exadata DB version that is compatible with your local machine running OL.

Please note that this article just covers the binary installation. To create a DB instance, check the second part here.

Use it for test purposes only and to see what is coming in this new release.

First of all open https://edelivery.oracle.com/ and Sign In.

Search for "Oracle Database" and click on the option with "Exadata Only" in the end.

Add the REL: Oracle Database (Exadata Only) 18.0.0.0.0 to your cart and proceed.

Now you can either download the file to your machine or generate the WGET script to download it directly to your linux server. In my case I will use the wget script.

Keep this file for later usage. Now let's start preparing our VM.

I've deployed a brand new Oracle Linux 7.2 with minimal install and 16G RAM.

So the first step is to add the hostname of your machine to /etc/hosts with it's own IP:

[opc@ora18cserver ~]$ hostname
ora18cserver.localdomain
[root@ora18cserver ~]# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9000
        inet 10.22.32.50  netmask 255.255.255.252  broadcast 10.22.32.51
        inet6 fe80::c4b0:f5ff:fe7f:c969  prefixlen 64  scopeid 0x20<link>
        ether c6:b0:f5:7f:c9:69  txqueuelen 1000  (Ethernet)
        RX packets 3261  bytes 3349548 (3.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2949  bytes 256261 (250.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@ora18cserver ~]# vi /etc/hosts
[root@ora18cserver ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.22.32.50 ora18cserver ora18cserver.localdomain
[root@ora18cserver ~]#

Next, let's speed up the things downloading all the pre-reqs with yum. Note that the 12cR2 preinstall works well for 18c DB:

[root@ora18cserver ~]# yum install -y oracle-database-server-12cR2-preinstall.x86_64
Loaded plugins: ulninfo
ksplice-uptrack                                                                                                                               |  951 B  00:00:00     
ol7_UEKR4                                                                                                                                     | 1.2 kB  00:00:00     
ol7_latest                                                                                                                                    | 1.4 kB  00:00:00     
(1/6): ksplice-uptrack/7Server/x86_64/primary                                                                                                 | 2.3 kB  00:00:00     
(2/6): ol7_UEKR4/x86_64/updateinfo                                                                                                            | 163 kB  00:00:00     
(3/6): ol7_latest/x86_64/group                                                                                                                | 659 kB  00:00:00     
(4/6): ol7_latest/x86_64/updateinfo                                                                                                           | 1.7 MB  00:00:00     
(5/6): ol7_UEKR4/x86_64/primary                                                                                                               |  31 MB  00:00:16     
(6/6): ol7_latest/x86_64/primary                                                                                                              |  32 MB  00:00:23     
ksplice-uptrack                                                                                                                                                  9/9
ol7_UEKR4                                                                                                                                                    588/588
ol7_latest                                                                                                                                               23885/23885
Resolving Dependencies
--> Running transaction check
---> Package oracle-database-server-12cR2-preinstall.x86_64 0:1.0-3.el7 will be installed

( many more lines suppressed )

Installed:
  oracle-database-server-12cR2-preinstall.x86_64 0:1.0-3.el7                                                                                                         

Dependency Installed:
  bind-libs.x86_64 32:9.9.4-51.el7_4.2                 bind-utils.x86_64 32:9.9.4-51.el7_4.2                          compat-libcap1.x86_64 0:1.10-7.el7            
  compat-libstdc++-33.x86_64 0:3.2.3-72.el7            glibc-devel.x86_64 0:2.17-196.el7_4.2                          glibc-headers.x86_64 0:2.17-196.el7_4.2       
  gssproxy.x86_64 0:0.7.0-4.el7                        kernel-headers.x86_64 0:3.10.0-693.17.1.el7                    keyutils.x86_64 0:1.5.8-3.el7                 
  ksh.x86_64 0:20120801-34.el7                         libICE.x86_64 0:1.0.9-9.el7                                    libSM.x86_64 0:1.2.2-2.el7                    
  libX11.x86_64 0:1.6.5-1.el7                          libX11-common.noarch 0:1.6.5-1.el7                             libXau.x86_64 0:1.0.8-2.1.el7                 
  libXext.x86_64 0:1.3.3-3.el7                         libXi.x86_64 0:1.7.9-1.el7                                     libXinerama.x86_64 0:1.1.3-2.1.el7            
  libXmu.x86_64 0:1.1.2-2.el7                          libXrandr.x86_64 0:1.5.1-2.el7                                 libXrender.x86_64 0:0.9.10-1.el7              
  libXt.x86_64 0:1.1.5-3.el7                           libXtst.x86_64 0:1.2.3-1.el7                                   libXv.x86_64 0:1.0.11-1.el7                   
  libXxf86dga.x86_64 0:1.1.4-2.1.el7                   libXxf86misc.x86_64 0:1.0.3-7.1.el7                            libXxf86vm.x86_64 0:1.1.4-1.el7               
  libaio-devel.x86_64 0:0.3.109-13.el7                 libbasicobjects.x86_64 0:0.1.1-27.el7                          libcollection.x86_64 0:0.6.2-27.el7           
  libdmx.x86_64 0:1.1.3-3.el7                          libevent.x86_64 0:2.0.21-4.el7                                 libini_config.x86_64 0:1.3.0-27.el7           
  libnfsidmap.x86_64 0:0.25-17.el7                     libpath_utils.x86_64 0:0.2.1-27.el7                            libref_array.x86_64 0:0.1.5-27.el7            
  libstdc++-devel.x86_64 0:4.8.5-16.0.1.el7_4.1        libtirpc.x86_64 0:0.2.4-0.10.el7                               libverto-libevent.x86_64 0:0.2.5-4.el7        
  libxcb.x86_64 0:1.12-1.el7                           lm_sensors-libs.x86_64 0:3.4.0-4.20160601gitf9185e5.el7        mailx.x86_64 0:12.5-16.el7                    
  nfs-utils.x86_64 1:1.3.0-0.48.0.5.el7_4.1            quota.x86_64 1:4.01-14.el7                                     quota-nls.noarch 1:4.01-14.el7                
  rpcbind.x86_64 0:0.2.0-42.el7                        smartmontools.x86_64 1:6.2-8.el7                               sysstat.x86_64 0:10.1.5-12.el7                
  tcp_wrappers.x86_64 0:7.6-77.el7                     xorg-x11-utils.x86_64 0:7.5-22.el7                             xorg-x11-xauth.x86_64 1:1.0.9-1.el7           

Dependency Updated:
  bind-libs-lite.x86_64 32:9.9.4-51.el7_4.2               bind-license.noarch 32:9.9.4-51.el7_4.2               libstdc++.x86_64 0:4.8.5-16.0.1.el7_4.1              

Complete!
[root@ora18cserver ~]# 

Cool. Now I got all the pre-reqs installed. Next step is to download the installation files:

P.S: When you call wget.sh, it does not show any output while the file is being download. Do not abort it. You can check if the download is working by opening another terminal and checking the ZIP size. You can also tail the wgetlog file to check the remaining time.

[oracle@ora18cserver ~]$ vi wget.sh
[oracle@ora18cserver ~]$ chmod +x wget.sh 
[oracle@ora18cserver ~]$ ./wget.sh 
SSO User Name:rodrigoaraujorge@hotmail.com
SSO Password:
[oracle@ora18cserver ~]$ ls -lh
total 3.6G
-rw-r--r-- 1 oracle oinstall 3.9K Feb 22 15:00 SoftwareDelivery
-rw-r--r-- 1 oracle oinstall 3.6G Feb 12 19:15 V974953-01.zip
-rw-r--r-- 1 oracle oinstall 5.6M Feb 22 15:18 wgetlog-02-22-18-15:00.log
-rwxr-xr-x 1 oracle oinstall 2.3K Feb 22 15:00 wget.sh
[oracle@ora18cserver ~]$

Fine, now this part is important. Different from common Oracle Database installation binaries, this one is the ORACLE_HOME ready to be deployed. You will still need to call the ./runInstaller, but the zip itself is already the ORACLE_HOME. So you will need to extract it directly to the place we want your binaries to be placed:

[root@ora18cserver ~]# mkdir -p /u01/app/oraInventory
[root@ora18cserver ~]# mkdir -p /u01/app/oracle/product/18.0.0/dbhome_1
[root@ora18cserver ~]# chown -R oracle: /u01/app/oraInventory
[root@ora18cserver ~]# chown -R oracle: /u01/app/oracle
[root@ora18cserver ~]# su - oracle
[oracle@ora18cserver ~]$ unzip -q V974953-01.zip -d /u01/app/oracle/product/18.0.0/dbhome_1/

Now we are ready to install it.

[oracle@ora18cserver ~]$ export ORACLE_HOME=/u01/app/oracle/product/18.0.0/dbhome_1
[oracle@ora18cserver ~]$ /u01/app/oracle/product/18.0.0/dbhome_1/runInstaller
Launching Oracle Database Setup Wizard...

And here we go. Choose "Set Up Software Only":

In next screen select "Single Instance database installation":

Let's go with "Enterprise Edition":

In next screen where we choose the Oracle base folder:

Note: You can put your ORACLE_BASE folder in a different path prefix from your ORACLE_HOME, like /u00.

Set the inventory directory:

Check the OS groups:

In next screen database will performe the prereq checks:

Ignore the swap size problem.

Check the Summary.

Press Install and installation will start.

Wait for installation to complete.

Time to run root scripts:

[root@ora18cserver ~]# /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@ora18cserver ~]#
[root@ora18cserver ~]# /u01/app/oracle/product/18.0.0/dbhome_1/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/18.0.0/dbhome_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.
Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] : 

Oracle Trace File Analyzer (TFA - Non Daemon Mode) is available at :
    /u01/app/oracle/product/18.0.0/dbhome_1/suptools/tfa/release/tfa_home/bin/tfactl

Note :
1. tfactl will use TFA Daemon Mode if TFA already running in Daemon Mode and user has access to TFA
2. tfactl will configure TFA Non Daemon Mode only if user has no access to TFA Daemon mode or TFA Daemon mode is not installed

OR

Oracle Trace File Analyzer (TFA - Daemon Mode) can be installed by running this script :
    /u01/app/oracle/product/18.0.0/dbhome_1/suptools/tfa/release/tfa_home/install/roottfa.sh

[root@ora18cserver ~]#

Press OK and:

The generated install RSP file can be found here: db_install.rsp

Everything worked like almost like a charm. And finally time to test:

[oracle@ora18cserver ~]$ export PATH=$PATH:$ORACLE_HOME/bin
[oracle@ora18cserver ~]$ sqlplus /nolog

SQL*Plus: Release 18.0.0.0.0 Production on Thu Feb 22 15:32:41 2018
Version 18.1.0.0.0

Copyright (c) 1982, 2017, Oracle.  All rights reserved.

SQL> exit
[oracle@ora18cserver ~]$

Now that you have the binaries installed, check this article of how to create a database instance.

 

Have you enjoyed? Please leave a comment or give a 👍!

21 comments

Skip to comment form

  1. Could you make the binaries available so I can study? I do not have access to the download.

    1. Hi César,
      Just create an Oracle Account and access edelivery.oracle.com. It's easy to create an account and faster to download from there.

    • Kevin Martin on March 1, 2018 at 19:10
    • Reply

    Can you make the resultant .rsp available?

    1. Hi Kevin,
      Just uploaded to the article.
      Enjoy,
      RJ

    • mazen on March 12, 2018 at 13:06
    • Reply

    did you try to install grid for 18c on linux ?
    did it work?

    1. Hi Mazen, not yet. It's in my todo list =]

        • mazen on March 12, 2018 at 15:06
        • Reply

        thanks Rodrigo.
        good luck.

    • salmoj on March 22, 2018 at 23:23
    • Reply

    I had to set "_exadata_feature_on"=true to start.create a db (using exadata binaries on vm)

      • Roua Fouad on March 23, 2018 at 12:25
      • Reply

      where did you set it please ? and what I should run because dbca didnot work

    • tijmen on April 22, 2018 at 18:26
    • Reply

    Regarding the error you had with the ORACLE_BASE directory, isn't that just (looking at your sample commands to create the installation directories) you haven't chown'ed /u01/app/oracle to the oracle user? Which means /u01/app/oracle is still owned by root, and hence the installer running under the oracle user cannot write into it?
    In any case, I was able to put ORACLE_BASE in /u01/app/oracle (owned by the oracle user) without issues.

    1. True! Thanks for notifying! I will correct it.

    • Luis Santos on May 10, 2018 at 15:01
    • Reply

    Rodrigo, is it possible to perform this on RHEL 7.2?

    1. Hi Luis. Yes, it should work with RHEL 7.2.

    • WuYi on May 23, 2018 at 02:58
    • Reply

    This one is really great, I like it. I follow the steps and works very well. Thanks very much!!!

    • Karthi on June 11, 2018 at 01:56
    • Reply

    Hi,

    After launching runinstaller it just kept loading for long time without giving up the next page to proceed? Can you please help.

    Thanks in advance.

      • santhosh on June 11, 2018 at 02:15
      • Reply

      Hi Karthi,

      Are you trying to install only binaries or Database.

      What is your linux version ?

    • santhosh on June 11, 2018 at 02:08
    • Reply

    Hi DBA RJ,

    I have prepared Exadata 18.1.4 simulation in Virtual Box with the below specification.

    1. Two storage node (12 * 2GB Hard disk & 4 * 2GB Flash disks) are running successfully , I have created Grid disks also.

    2. One DB server, Here i had installed successfully 18c Grid software in standalone mode with two disk groups "DATA, FRA".

    In that same DB server i had installed 18c Database binaries also. But trying to create 18c database using DBCA method its showing below error, Could you please help me to solve this issue.

    Error:
    ORA-27528: Transport: RDS required by Engineered System is not available

    Regards,

    Santhosh

      • Rui Rodrigues on March 22, 2022 at 14:27
      • Reply

      Hello Santosh, I now it's a very old topic, but have you had success instaling the database.
      Howdo you solve the ora-27528 error?

      thanks

    • Ajoy Thapa on January 22, 2019 at 20:29
    • Reply

    Hi Santhosh,

    did you find the solution for ORA-27528: Transport: RDS required by Engineered System is not available

    • Chris on February 1, 2019 at 10:09
    • Reply

    In my case such error was related to cluster_interconnects being set (dnca with createDuplicateDB on exadata)

    Refer to Doc ID : DBCA errors when cluster_interconnects is set (Doc ID 1373591.1)

    Apply option 2 : Or on DBCA, don't specify cluster_interconnects at creation time. Let the database be created, then modify the spfile afterwards. This is the preferred method.

    • kishan on December 6, 2019 at 23:11
    • Reply

    Hi Rodrigo,

    I am not finding the 18c exadata software(can see only upto 12c exadata) as you mentioned in the post in edelivery software downloads.Need help!!

    Thanks,
    kishan

Leave a Reply

Your email address will not be published.