Last Modified 2022.2.8

Java Development Environment on Ubutnu 18.04

How to install Oracle 11g XE on Ubuntu

Ubuntu is not a Linux distribution officially supported by Oracle.

Oracle Database XE Requirements: Operating system
  • Oracle Enterprise Linux 4 Update 7
  • Oracle Enterprise Linux 5 Update 2
  • Red Hat Enterprise Linux 4 Update 7
  • Red Hat Enterprise Linux 5 Update 2
  • SUSE Linux Enterprise Server 10 SP2
  • SUSE Linux Enterprise Server 11
https://docs.oracle.com/cd/E17781_01/install.112/e18802/toc.htm#XEINL103

You can install Oracle 11g XE on Ubuntu with a few tricks.
Origin: http://meandmyubuntulinux.blogspot.kr/2012/05/installing-oracle-11g-r2-express.html

Visit https://www.oracle.com/database/technologies/xe-prior-release-downloads.html. For 64-bit systems, choose Oracle Database Express Edition 11g Release 2 for Linux x64. You need to log in to download the file. --Sign up if you are not a member of the Oracle website-- When you log in to the site, the download begins. After downloading, go to the directory where the file exists and execute the following command.

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
sudo apt install alien libaio1 unixodbc
cd Disk1
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

Create a /sbin/chkconfig file.

sudo nano /sbin/chkconfig

Copy and Paste the following into the file.

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01

Save the above file and provide appropriate execute privilege.

sudo chmod 755 /sbin/chkconfig

Set the Kernel parameters.

sudo nano /etc/sysctl.d/60-oracle.conf

Copy the following. Paste it into the file.

# Oracle 11g XE kernel parameters  
fs.file-max=6815744  
net.ipv4.ip_local_port_range=9000 65000  
kernel.sem=250 32000 100 128 
kernel.shmmax=536870912

Check the swap memory.

free -m
total       used       free     shared    buffers     cached
Mem:          3942       3809        133        947         50       1571
-/+ buffers/cache:       2186       1756
Swap:         4083        378       3705

Unlike the above, if Swap doesn't exceed 4000, do the following.

sudo ln -s /usr/bin/awk /bin/awk
sudo mkdir /var/lock/subsys
sudo touch /var/lock/subsys/listener

Verify the kernel parameters.

sudo cat /etc/sysctl.d/60-oracle.conf

Load kernel parameters.

sudo service procps restart

Verify.
(In my case, it came out differently from the set value, but I was able to complete the installation)

sudo sysctl -q fs.file-max

Go to the Disk1 directory and run the following commands:

sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
sudo /etc/init.d/oracle-xe configure
  • Specify the HTTP port that will be used for Oracle Application Express: Set a value other than 8080, like 9090
  • Specify a port the database listener: (just hit Enter)
  • Set passwords for administrator accounts SYS and SYSTEM: Password for Oracle administrators, you specified
  • Do you want Oracle Database 11g Express Edition to be started on boot: (just hit Enter)
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]:9090

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]:

Starting Oracle Net Listener...Done
Configuring database...Done
Starting Oracle Database 11g Express Edition instance...Done
Installation completed successfully.

Set up the environmental variables.

nano ~/.bashrc

Add the following lines to your .bashrc:

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

Execute the following command to load the changes:

source ~/.bashrc

Start the Oracle.

sudo service oracle-xe start

SCOTT Account

Log in as an SYS account and run the SCOTT account schema script.

sqlplus sys as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on 월 6월 29 12:04:33 2015

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

Enter password: **********

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

SQL> @/u01/app/oracle/product/11.2.0/xe/rdbms/admin/utlsampl.sql

MariaDB Install

sudo apt update
sudo apt install mariadb-server

If the installation is completed without errors, run the following command to set the root password. (Press the Enter key for the current password)

sudo mysql_secure_installation

Set the root user to use the mysql_native_password plugin.

sudo mysql

use mysql

update user set plugin='mysql_native_password' where user='root';
flush privileges;
exit

Restart MariaDB.

sudo service mariadb restart

Java Install

sudo apt install default-jdk

Maven Install

sudo apt install maven

Installing the Oracle JDBC driver in local repository

The Maven repository does not provide the Oracle JDBC driver. Therefore, you need to install the Oracle JDBC driver in your local repository and set the dependency on pom.xml.

Run the following.

cd /u01/app/oracle/product/11.2.0/xe/jdbc/lib

mvn install:install-file \
-Dfile=ojdbc6.jar \
-DgroupId=com.oracle \
-DartifactId=ojdbc6 \
-Dversion=11.2.0.2.0 \
-Dpackaging=jar

The following shows how to add Oracle JDBC driver to pom.xml according to the information stored in the local repository.

<dependency>
  <groupId>com.oracle</groupId>
  <artifactId>ojdbc6</artifactId>
  <version>11.2.0.2.0</version>
</dependency>

Git Install

sudo apt install git
git config --global user.name "John Doe"
git config --global user.email johndoe@gmail.org
git config --global --list

Tomcat Install

sudo apt install tomcat9

Tomcat Restart

sudo service tomcat9 restart

Changing the Tomcat Root Application

Log in to the root account and run the following.

sudo nano /etc/tomcat9/Catalina/localhost/ROOT.xml

If your project is a maven project and /home/kim/javaschool is the root directory, edit ROOT.xml as shown below.

<?xml version="1.0" encoding="UTF-8"?>
<Context
  docBase="/home/kim/javaschool/src/main/webapp"
  reloadable="true">
</Context>

After installing Ubuntu 18.04, specify the root account password with the following command.

sudo passwd

Run su and enter the root account password.

su
Password:

Tomcat logs

Log in to the root account and run the following command:

tail -f /var/lib/tomcat9/logs/localhost.2019-10-05.log
tail -f /var/lib/tomcat9/logs/catalina.2019-10-05.log

Eclipse Install

Download the installer from https://www.eclipse.org/downloads/ and run the following commands in sequence.

cd Downloads
tar -xvf eclipse-inst-linux64.tar.gz
cd eclipse-installer/
./eclipse-inst

In the installation selection screen, select Eclipse IDE for Enterprise Java Developers.

Eclipse IDE for Enterprise Java Developers

Create eclipse.desktop

cd /usr/share/applications
sudo nano eclipse.desktop

Edit eclipse.desktop file as follows.

[Desktop Entry]
Name=Eclipse
Type=Application
Exec=/home/kim/eclipse/jee-2019-12/eclipse/eclipse
Terminal=false
Icon=/home/kim/eclipse/jee-2019-12/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE
Name[en]=eclipse.desktop

Customize the paths for Exec and Icon.

Search for eclipse, run it, and pin it to the launcher.

Related Articles