Install & Configure Oracle XE on Linux/CentOS in less than a minute.

This is a quick note on how to install Oracle XE on Linux/CentOS env.

This article assumes that you have downloaded the Oracle Database Express Edition setup binaries from here.

Also you would require a minimum of 256MB RAM dedicated to oracle and 1.5 GB disk space.

So if you have all the resources mentioned above proceed as follows:-

Before starting with the steps, if you don’t have time to go into the step details, just download the script xeinstall.sh and execute as:-

sh xeINSTALL.sh

where :-

xeINSTALL.sh is the name of the script.
is the argument to the script that you want set as SYS & SYSTEM password.
is the second argument to the script which is the path where you have downloaded the zipped file.

Step:1- Install necessary RPMs by executing below command as root user, you can check the minimum RPMs with their versions here :-

yum install glibc make binutils bc flex gcc libaio -y

Step:2- Unzip the downloaded zipped setup file as root user.

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

This would create a new directory named Disk1, change directory to Disk1.

cd Disk1

Step:3- Install the extracted rpm as root user:-

[root@test01 Disk1]# rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
Preparing...                ########################################### [100%]
   1:oracle-xe              ########################################### [100%]
Executing post-install steps...
You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.

Step:4- Run ‘/etc/init.d/oracle-xe configure’ as root user to configure XE:-

Hit enter to accept the default or specify the ports as per requirement.

[root@test01 Disk1]# /etc/init.d/oracle-xe configure

Oracle Database 11g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 11g Express
Edition.  The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts.  Press <Enter> to accept the defaults.
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:

Specify a port that will be used for the database listener [1521]:

Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of
different passwords for each database account.  This can be done after
initial configuration:
Confirm the password:

Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:y

Starting Oracle Net Listener...Done
Configuring database...Done
Starting Oracle Database 11g Express Edition instance...Done
Installation completed successfully.
[root@IONDELVM105 Disk1]#

Note the password you specified above as that is the password for the SYS/SYSTEM users.

The Oracle XE with default instance has been installed, configured and started at the end of this script.

[root@test01 Disk1]# ps -ef | grep pmon | grep -v grep
oracle    9476     1  0 00:45 ?        00:00:00 xe_pmon_XE

Step:5- Setting env. variables to access Oracle XE binaries:-

Since XE configuration scripts install the binaries in Oracle Home – /u01/app/oracle/product/11.2.0/xe/, before accessing the binaries you can set the env. variables by running the below command from oracle user:-

[root@test01 Disk1]# su - oracle
oracle > . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
oracle > sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Tue Sep 13 02:17:52 2016

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

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL>

That’s it, you have successfully installed Oracle XE with default configuration, now you can make changes to your XE configuration as per your requirement (Check limitations of XE here.)

Please comment below in case you get into any issues.

3 thoughts on “Install & Configure Oracle XE on Linux/CentOS in less than a minute.

  1. Pingback: Siya hamba phambile | Arlett Industries

  2. I’ve done all step, it’s working localy!
    Remote connection is not working!

    netstat result is on server:
    [root@ip-250 Disk1]# netstat -plnt
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 958/sshd
    tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1055/master
    tcp6 0 0 :::8080 :::* LISTEN 1335/tnslsnr
    tcp6 0 0 :::1521 :::* LISTEN 1335/tnslsnr
    tcp6 0 0 :::22 :::* LISTEN 958/sshd
    tcp6 0 0 :::38551 :::* LISTEN 1873/xe_d000_XE
    tcp6 0 0 ::1:25 :::* LISTEN 1055/master

    tnsping result is on remote client:

    tnsping ip-250

    TNS Ping Utility for Linux: Version 11.2.0.2.0 – Production on 16-FEBR. -2018 10:58:32

    Copyright (c) 1997, 2011, Oracle. All rights reserved.

    Used parameter files:

    Used HOSTNAME adapter to resolve the alias
    Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.250)(PORT=1521)))
    TNS-12543: TNS:destination host unreachable

    Telnet result is on remote client:

    telnet ip-250 1521

    Trying 192.168.1.250…
    telnet: connect to address 192.168.1.250: No route to host

    If I disable ipv6, the result is same!!!!

    What is the problem?

    Like

  3. 12543, 00000, “TNS:destination host unreachable”
    // *Cause: Contact can not be made with remote party.
    // *Action: Make sure the network driver is functioning and the network is up.

    Looks like network issue to me, No route to host.
    If ping works then please check if firewall is blocking, try adding inbound rule for 1521 on DB server or by disabling firewall.

    If you can confirm that both issues are not prevalent then send me your sqlnet.ora and output of strace tnsping ip-250 from remote client.

    Regards
    Nitish

    Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.