Install and Configure Oracle-11g on Ubuntu-14.10
26 Sep 2015 #sql #oracle11gIntro :
Well as luck would have it, we were having our Database labs in ORACLE 11g
as part of the coursework. And I must admit, I still have my love for mysql
.
I installed it on my system(after a lot of trials!) this way.
Pre-requisites:
JAVA should be installed and the environment variable for it should be set. Check it by doing
If not you can set it by placing the installed jvm
to /etc/environment
Mine looks like this
1
2
3
4
5
6
7
8
tasdik@Acer:~$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
http_proxy="http://172.16.0.16:8080/"
https_proxy="https://172.16.0.16:8080/"
ftp_proxy="ftp://172.16.0.16:8080/"
socks_proxy="socks://172.16.0.16:8080/"
JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
tasdik@Acer:~$
Installing Oracle 11g R2 Express Edition
A couple of extra things are needed
Download Oracle 11g, you need to make an account for that(Yeah, I know!)
Place annd Unzip the zip
file to the Directory of your choice. I did mine to ‘Documents’
Now we need to convert the rpm (A red hat package to .deb) package
This will take a while, so open another terminal
window
And then add the following to it
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/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
#EOF
Save it and give the required execution privileges
After this, we have to create the file /etc/sysctl.d/60-oracle.conf
to set the additional kernel parameters. Open the file by executing the following statement.
Copy and paste the following into the file. Kernel.shmmax is the maximum possible value of physical RAM in bytes. 536870912 / 1024 /1024 = 512 MB.
1
2
3
4
5
# 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
Load the kernel parameters:
The changes may be verified again by executing:
After this, execute the following statements to make some more required changes:
Install the .deb file
After that, Execute the following to avoid getting a ORA-00845: MEMORY_TARGET error. Note: replace “size=3804m” with the size of your (virtual) machine’s RAM in MBs.
Note : Close Chrome before executing the following three lines as it crashes when doing so
To check your system RAM (allated), do a
My RAM is 3804
here
Then do the following
Create the file /etc/rc2.d/S01shm_load.
And then add the following
1
2
3
4
5
6
7
8
9
10
#!/bin/sh
case "$1" in
start) mkdir /var/lock/subsys 2>/dev/null
touch /var/lock/subsys/listener
rm /dev/shm 2>/dev/null
mkdir /dev/shm 2>/dev/null
mount -t tmpfs shmfs -o size=3804m /dev/shm ;;
*) echo error
exit 1 ;;
esac
Give permissions to it
Configuring Oracle 11g R2 Express Edition
Go on choosing the defaults. I chose, not to start Oracle on startup
. So do accordingly.
Setting the environment vars
And add the following
1
2
3
4
5
6
7
#### for oracle 11g
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
Save it and source
it
I recommend rebooting the system at this point of time
After a System Reboot
A file named oraclexe-gettingstarted.desktop is placed on your desktop. To make this file executable, navigate to you desktop.
Running SQlplus
You have to Unset http_proxy
and no_proxy
.
To do that
There you go!
Ending notes:
Remember to do a
at startup, if you chose not to Start Oracle 11 g
at system startup