You are on page 1of 6

Install Oracle Database 11gR2 on Ubuntu 12.

04
This question is Not Answered. 871292 Nov 3, 2012 1:29 PM This is the simple how to for installing Oracle Database 11gR2 on Ubuntu 12.04 I have tested all the steps on Ubuntu 12.04 32 bit OS SOURCE HOW TO INSTALL ORACLE DATABASE 11GR2 on UBUNTU 12.04 http://www.techienote.com/tag/oracle-database-11g-r2-on-ubuntu-12-04 Installing Dependencies To install dependencies, run sudo apt-get update sudo apt-get install gcc make binutils gawk x11-utils rpm buildessential libaio1 libaio-dev libmotif4 libtool expat alien ksh pdksh unixODBC unixODBC-dev sysstat elfutils libelf-dev binutils lesstif2 lsb-cxx libstdc++5 We need to create some softlinks to start the installation. To do so run the following commands, sudo ln -sf /bin/bash /bin/sh sudo ln -s /usr/bin/awk /bin/awk sudo ln -s /usr/bin/rpm /bin/rpm sudo ln -s /usr/bin/basename /bin/basename sudo ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/libpthread_nonshared.a sudo ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/libc_nonshared.a sudo ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/libgcc_s.so.1 sudo ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/libstdc++.so.6 Also we need to add oracle user and oinstall, dba, nobody group. Run following commands, sudo addgroup oinstall sudo addgroup dba sudo addgroup nobody sudo usermod -g nobody nobody sudo useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle sudo mkdir /home/oracle sudo chown -R oracle:dba /home/oracle We need to do changes in start-up script, run following commands as root mkdir /etc/rc.d for i in 0 1 2 3 4 5 6 S do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d done Now we will create the directory for installation, and changes it owner to oracle. Run following commands to do the same

sudo mkdir -p /u01/app/oracle sudo chown -R oracle:dba /u01 We also need to modify the kernel parameter, to do so run following commands as root echo "#">> /etc/sysctl.conf echo "# Oracle 11gR2 entries">> /etc/sysctl.conf echo "fs.aio-max-nr=1048576" >> /etc/sysctl.conf echo "fs.file-max=6815744" >> /etc/sysctl.conf echo "kernel.shmall=2097152" >> /etc/sysctl.conf echo "kernel.shmmni=4096" >> /etc/sysctl.conf echo "kernel.sem=250 32000 100 128" >> /etc/sysctl.conf echo "net.ipv4.ip_local_port_range=9000 65500" >> /etc/sysctl.conf echo "net.core.rmem_default=262144" >> /etc/sysctl.conf echo "net.core.rmem_max=4194304" >> /etc/sysctl.conf echo "net.core.wmem_default=262144" >> /etc/sysctl.conf echo "net.core.wmem_max=1048586" >> /etc/sysctl.conf echo "kernel.shmmax=1073741824" >> /etc/sysctl.conf Note: kernel.shmmax = max possible value, e.g. size of physical memory in bytes. In my case machine is having 2GB so we are specifying 1GB. Adjust the parameter as per your configuration Load new kernel parameters, by running following, sudo sysctl -p We have to change shell configuration, to do the same run following commands as root user, cp /etc/security/limits.conf /etc/security/limits.conf.original echo "#Oracle 11gR2 shell limits:">>/etc/security/limits.conf echo "oracle soft nproc 2048">>/etc/security/limits.conf echo "oracle hard nproc 16384">>/etc/security/limits.conf echo "oracle soft nofile 1024">>/etc/security/limits.conf echo "oracle hard nofile 65536">>/etc/security/limits.conf Download Oracle 11g R2 database from Oracle Download Center for linux. I have downloaded both the zip in /home/oracle. We need to extract both the zip to start the installation. To unzip run, cd /home/oracle unzip linux_11gR2_database_1of2.zip unzip linux_11gR2_database_2of2.zip Now we will start the installation. You can start the installation from /home/oracle/database. Login as a oracle user. su oracle Go to the binaries and start the installation as a oracle user, cd /home/oracle chmod 777 -R database cd database ./runInstaller -ignoreSysPrereqs Next we go though the installation (I dont have the Oracle Support Password so just skip in here):

In Selection Installation Option, choose Create and configure a database: In System Class, choose Server Class (we hope to give a full control during installation): In Node Selection, choose Single instance database installation: In Select Install Type, choose Advanced install: In Select Product Languages, I choose to install English language: In Select Database Edition, I choose Enterprise Edition: In Specify Installation Location, it should default as below: Oracle Base: /u01/app/oracle Sofeware Location: /u01/app/oracle/product/11.2.0/dbhome_1 In Create Inventory, it should default as below: Inventory Directory: /u01/app/oraInventory oraInventory Group Name: oinstall In Select Configure Type, choose General Purpose / Transaction Processing: (IMPORTANT!) In Specify Database Identifiers, configure as below: Global database name: orcl.techienote.com Oracle Service Identifier (SID): orcl In Specify Configuration Options, configure as below: Memory -> Enable Automatic Memory Management: TRUE Character sets: Use Unicode (AL32UTF8) In Specify Management Options, choose Use Database Control for database management but keep other else empty: In Specify Database Storage Options, choose File System where: Specify database file location: /u01/app/oracle/oradata In Specify Recovery Options, choose Do not enable automated backups: In Specify Schema Passwords, I am a bit lazy so choose Use the same password for all accounts (dont do this in production server!): In Privileged Operating System Groups, confirm as below: Database Administrator (OSDBA) Group: dba Database Operator (OSOPER) Group: oinstall In Preform Prerequisite Checks, just simply ignore all warning message (since we are using Debian but not Oracle officially supported OS): So just confirm everything in Summary: And now lets go for a coffee break ;-)

Now following the instructions and run the following commands wit h root user: /u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/dbhome_1/root.sh Ok you get it! Confirm with installation progress In previous screen the installer mentioned that we can access Enterprise Manager Database Control URL from https://localhost:1158/em, so now lets open the browser and test it with following account: User Name: SYS Password: your_secret_password Connect As: SYSDBA Once login it should show as below: Error which I faced at the time of installation : Error No 1 INFO: Building Client Shared Libraries INFO: Building Client Shared Libraries INFO: The output of this make operation is also available at: '/u01/app/oracle/product/11.2.0/dbhome_1/install/make.log' INFO: INFO: Start output from spawned process: INFO: ---------------------------------INFO: INFO: /u01/app/oracle/product/11.2.0/dbhome_1/bin/genclntsh INFO: / INFO: usr INFO: / INFO: bin/ld: cannot find /usr/lib/libpthread_nonshared.a INFO: inside collect2: INFO: ld returned 1 exit status INFO: INFO: genclntsh: Failed to link libclntsh.so.11.1 INFO: make: INFO: *** [client_sharedlib] Error 1 INFO: End output from spawned process. INFO: ---------------------------------INFO: Exception thrown from action: make Exception Name: MakefileException Exception String: Error in invoking target 'client_sharedlib' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2012-05-08_10-11-08PM.log' for details. Exception Severity: 1 <pre>

Solution for problem 1 is as follows <pre lang="bash"> wget http://security.ubuntu.com/ubuntu/pool/universe/i/ia32-libs/ia32-libs_2.2ubuntu10_amd64.deb dpkg-deb -x ia32-libs_2.2ubuntu10_amd64.deb ia32-libs cp ia32-libs/usr/lib32/libstdc++.so.5.0.7 /usr/lib/ cd /usr/lib ln -s libstdc++.so.5.0.7 libstdc++.so.5 ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/libpthread_nonshared.a Error No 2 INFO: / INFO: usr INFO: / INFO: bin INFO: /ld: warning: -z lazyload ignored. /usr/bin/ld: INFO: warning INFO: : -z nolazyload ignored. /usr/bin/ld: /u01/app/oracle/product INFO: /11.2.0/dbhome_1/sysman/lib//libnmectl.a(nmectlt.o): undefined reference to symbol 'B_DestroyKeyObject' INFO: INFO: /usr/bin/ld: note: 'B_DestroyKeyObject' is defined in DSO /u01 INFO: /app/oracle/product/11.2.0/dbhome_1/lib/libnnz11.so so try adding it to the INFO: linker INFO: INFO: command line /u01/app/oracle/product/11.2.0/dbhome_1/lib/libnnz11.so: could INFO: INFO: not read symbols: Invalid operation collect2: INFO: ld returned 1 exit status INFO: INFO: make[1]: Leaving directory `/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib' INFO: make[1]: *** [u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/emdctl] Error 1 make: *** [emdctl] Error 2 INFO: End output from spawned process. INFO: ---------------------------------INFO: Exception thrown from action: make Exception Name: MakefileException Exception String: Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk'. See '/u01/app/oraInventory/logs/installActions2012-05-08_10-11-08PM.log' for details. Exception Severity: 1 Solution for problem 2 is as follows export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1/ sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk

sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk In case of any questions kindly post it here.

Edited by: user9171063 on Nov 3, 2012 6:24 AM Edited by: user9171063 on Nov 3, 2012 6:29 AM 27994 Views Tags: 11gr2, database, oracle, ubuntu 1. Re: Install Oracle Database 11gR2 on Ubuntu 12.04

Srini_Chavali Nov 3, 2012 1:46 PM (in response to 871292) Ubuntu is currently not a certified distro for installing 11gR2 http://docs.oracle.com/cd/E11882_01/install.112/e24321/pre_install.htm#CIHFICFD Just because you are somehow able to install the software does not necessarily mean that all of the features will work as advertised - you will have to troubleshoot any issues on your own. Oracle Linux is available for free (from https://linux.oracle.com) for personal learning purposes and is a supported OS for the purposes of installing 11gR2, and is likely a better choice than Ubuntu HTH Srini

You might also like