[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

Oracle Database 12c Installation on CentOS 7

<<TableOfContents: execution failed [Too many arguments] (see also the log)>>

1. Introduction

This guide presents how to deploy Oracle Database 12c ( on CentOS 7.1 (64-bit) using quick installation features.

Reference System:

[root@centos7 ~]# hostnamectl
   Static hostname: centos7.example.com
         Icon name: computer
           Chassis: n/a
        Machine ID: 583b4d69eaea465ea4bb96ac3b891e15
           Boot ID: 931ed1af622046ebbde071a87844a7d5
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-229.11.1.el7.x86_64
      Architecture: x86_64

2. Prerequisites

After a successful OS installation, verify the hostname and register it in your DNS. Alternatively add your hostname/IP to the /etc/hosts.

[root@centos7 ~]# cat /etc/hostname

Leave the SELinux in enforcing mode as well as the firewall enabled

[root@centos7 ~]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

[root@centos7 ~]# firewall-cmd --state

Update the CentOS system with the latest packages

[root@centos7 ~]# yum update -y

Download the Oracle Database 12c for Linux x86-64 software:


3. Installation Steps

Create required OS users and groups for Oracle Database.

[root@centos7 ~]# groupadd oinstall
[root@centos7 ~]# groupadd dba
[root@centos7 ~]# useradd -g oinstall -G dba oracle
[root@centos7 ~]# passwd oracle

Add the following kernel parameters to the /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1987162112
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

Check and apply the new values.

[root@centos7 ~]# sysctl -p
[root@centos7 ~]# sysctl -a

Specify limits for oracle user in the /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

Extract the zipped Oracle Database Software archives (linuxamd64_12102_database_1of2.zip, linuxamd64_12102_database_2of2.zip) to the /stage folder.

[root@centos7 ~]# yum install -y zip unzip
[root@centos7 ~]# unzip linuxamd64_12102_database_1of2.zip -d /stage/
[root@centos7 ~]# unzip linuxamd64_12102_database_2of2.zip -d /stage/

Modify permissions on /stage

[root@centos7 ~]# chown -R oracle:oinstall /stage/

Create /u01 directory for Oracle software and /u02 for database files.

[root@centos7 ~]# mkdir /u01
[root@centos7 ~]# mkdir /u02
[root@centos7 ~]# chown -R oracle:oinstall /u01
[root@centos7 ~]# chown -R oracle:oinstall /u02
[root@centos7 ~]# chmod -R 775 /u01
[root@centos7 ~]# chmod -R 775 /u02
[root@centos7 ~]# chmod g+s /u01
[root@centos7 ~]# chmod g+s /u02

Install required packages:

[root@centos7 ~]# yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 \
glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 \
libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 \
libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64

Also install the "X Window System" package group.

[root@centos7 ~]# yum groupinstall -y "X Window System"

Because the Oracle installation requires GUI, there are two simple ways how to provide it.

Solution 1.

Login remotely from a graphical Linux machine via SSH.

ssh -X oracle@centos7.example.com

Solution 2.

Use a Microsoft Windows desktop with an SSH Client (PuTTY) and an X-Windows terminal emulator (Xming).

The following article describes how to install Xming on Windows systems.

* Xming X-Windows terminal emulator for Microsoft Windows computers

Use a solution above to login as "oracle" user and run the Oracle Installer:

[oracle@centos7 ~]$ /stage/database/runInstaller
Starting Oracle Universal Installer...

4. Oracle Installer Screens

STEP 1 - Security Updates

If you don't wish to receive emails from Oracle Support then deselect the check box and click Next.

Another window opens click YES on it.

STEP 2 - Installation Option

Select Create and configure a database and click Next

STEP 3 - System Class

Select Desktop Class for a simple default installation of the Oracle Database.

STEP 4 - Typical Installation

On the Typical Install Configuration screen, specify the key features.

Oracle base


Software location


Database file location


Global database name


Also specify the suitable Database edition as well as the Character set. Provide a strong password for database administration and finally deselect the Create as Container database option.

STEP 5 - Create Inventory

Accept the default /u01/app/oraInventory and click Next.

STEP 6 - Prerequisite Checks

The Installer automatically verifies all required OS packages and OS kernel settings.

STEP 7 - Summary

Final chance to edit any installation features. Click Install.

STEP 8 - Execute Configuration Scripts

When a request window appears, login as root and execute two scripts:

[root@centos7 ~]# /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@centos7 ~]# /u01/app/oracle/product/12.1.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/12.1.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: <PRESS ENTER>
   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.
You can follow the installation in a separated window.

Both scripts must run as root.

STEP 9 - Installation progress

Another window opens to show you the installation progress. Do not close this window.

STEP 10 - Installation completed successfully

The last screen inform that the installation is done and displays the Oracle Enterprise Manager URL.


Click OK to close the Installer.

5. Post Installation Tasks

5.1. Firewall

Login as root and verify the active zones

[root@centos7 ~]# firewall-cmd --get-active-zones
  interfaces: eth0

Open the related ports

[root@centos7 ~]# firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp \ 

[root@centos7 ~]# firewall-cmd --reload

[root@centos7 ~]# firewall-cmd --list-ports
1521/tcp 3938/tcp 5500/tcp 5520/tcp

5.2. Oracle Environment

Login as oracle user and add the following values to the /home/oracle/.bash_profile

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH

Reload the bash_profile to apply the new settings:

[oracle@centos7 ~]$ . .bash_profile

5.3. Login to the database

Finally login to the database:

[oracle@centos7 ~]$ sqlplus system@orcl
... output omitted ...
Oracle Database 12c Enterprise Edition Release - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

Manage database with Oracle Enterprise Manager:


2023-09-11 07:22