This post is also available in: English
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 👍!