Please provide me with the guidance to install oracle 11gr2 on Ubuntu 14.04.
2 Answers
1. Download Oracle Database Express Edition.
2. Instructions before installing Oracle database
Copy the downloaded file and paste it in home directory.
Unzip using the downloaded .zip file:
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
Install required packages:
sudo apt-get install alien libaio1 unixodbc # still works in 22.04
Change directories to the Disk1 directory:
cd Disk1/
Convert .rpm package format to .deb package format (that is used by Ubuntu):
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
Create the required chkconfig script:
sudo nano /sbin/chkconfig
The nano text editor is started and the commands are shown at the bottom of the screen. Now copy and paste the following into the file and save:
#!/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
Change the permission of the chkconfig file:
sudo chmod 755 /sbin/chkconfig
Set kernel parameters. Oracle 11gR2 XE requires additional kernel parameters which you need to set using the command:
sudo nano /etc/sysctl.d/60-oracle.conf
Copy the following into the file and save:
# 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
Verify the changes:
sudo cat /etc/sysctl.d/60-oracle.conf
You should see what you entered earlier. Now load the kernel parameters:
sudo service procps start # If this doesn't work try sudo systemctl start procps
Verify the new parameters are loaded:
sudo sysctl -q fs.file-max
You should see the file-max value that you entered earlier.
Set up
/dev/shm
mount point for Oracle. Create the following file:sudo nano /etc/rc2.d/S01shm_load
Copy the following into the file and save.
#!/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 *) echo error exit 1 ;; esac
Change the permissions of the file:
sudo chmod 755 /etc/rc2.d/S01shm_load
Run the following commands:
sudo ln -s /usr/bin/awk /bin/awk sudo mkdir /var/lock/subsys sudo touch /var/lock/subsys/listener sudo reboot
3. Install Oracle database
Install Oracle DBMS:
sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
Configure Oracle:
sudo /etc/init.d/oracle-xe configure
Setup environment variables by editing your .bashrc file:
nano ~/.bashrc
Add the following lines to the end of the file:
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
Load the changes by executing your profile:
. ~/.bashrc
Start Oracle 11gR2 XE:
sudo service oracle-xe start
Add user YOURUSERNAME to group dba using the command:
sudo usermod -a -G dba YOURUSERNAME
4. Using the Oracle XE command shell
Start the Oracle XE 11gR2 server:
sudo service oracle-xe start
Start command-line shell as the system admin:
sqlplus sys as sysdba
Enter the password that you gave while configuring Oracle earlier. You will now be placed in a SQL environment that only understands SQL commands.
Create a regular user account in Oracle using the SQL command:
create user USERNAME identified by PASSWORD;
Replace USERNAME and PASSWORD with the username and password of your choice. Please remember this username and password. If you had error executing the above with a message about resetlogs, then execute the following SQL command and try again:
alter database open resetlogs;
Grant privileges to the user account using the SQL command:
grant connect, resource to USERNAME;
Replace USERNAME and PASSWORD with the username and password of your choice. Please remember this username and password.
Exit the sys admin shell using the SQL command:
exit;
Start the command-line shell as a regular user using the command:
sqlplus
Now you can run SQL commands.
-
At step 6 I am getting
Starting Oracle Net Listener...touch: cannot touch '/var/lock/subsys/listener': No such file or directory Done Configuring database... Database Configuration failed. Look into /u01/app/oracle/product/11.2.0/xe/config/log for details
– SkynetMay 5, 2016 at 13:39 -
2
-
@Skynet. And also tried this link. Search content Reference in the comment after expand : to get it to work I needed to add the following lines in the beginning of the file "/etc/init.d/oracle-xe"...between steps 6(i) and 6(ii) if [ -L /dev/shm ]; then rm -rf /dev/shm mkdir /dev/shm mount -t tmpfs shmfs -o size=2048m /dev/shm fi if [ ! -d /var/lock/subsys ]; then mkdir /var/lock/subsys touch /var/lock/subsys/listener fi– JeetJul 5, 2016 at 8:08
-
1
/etc/rc2.d/S01shm_load
seems missing;;
indicating the end of an alternative at line 7. Nov 4, 2016 at 8:18 -
2Had to use
sudo service procps restart
instead ofsudo service procps start
– ossbuntuOct 24, 2017 at 11:53
This worked fine, however I got the following error:
sudo /etc/init.d/oracle-xe start
[....] Starting oracle-xe (via systemctl): oracle-xe.serviceJob for oracle-xe.service failed because the control process exited with error code. See "systemctl status oracle-xe.service" and "journalctl -xe" for details.
failed!
Looking into it:
systemctl status oracle-xe.service
Jan 27 10:01:05 <myusername> su[29699]: No passwd entry for user 'oracle'
I resolved it by simply adding a user:
sudo adduser oracle
Hope this helps someone.