I am SYS

Oracle DBA Adventures

Oracle 11gR2 on Fedora 14

with 11 comments

The purpose of the complete install guide below is to have a fully functioning oracle 11gR2 client and software to run local database instances on Fedora 14. I based all of the instructions on the Oracle® Database Installation Guide 11g Release 2 (11.2) for Linux.

Below is the list of required packages according to the 11gr2 install docs:

binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
elfutils-libelf-devel-static-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
kernel-headers-2.6.18
ksh-20060214
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.2
libgomp-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2
make-3.81
numactl-devel-0.9.8.i386
sysstat-7.0.2

Here is the list of packages that I installed. Some required packages were already installed. I used the “yum info” command to verify if the package was installed or not.

NOTE: all commands below are ran as root (su -) until “su – oracle”

yum install compat-libstdc++-33
yum install elfutils-libelf-devel
yum install elfutils-libelf-devel-static
yum install gcc (this picked up other required packages (glibc-devel, glibc-headers))
yum install gcc-c++ (this picked up other required package (libstdc++-devel))
yum install ksh
yum install libaio-devel
yum install numactl-devel
yum install sysstat
yum install unixODBC ***for the unixODBC packages, they are not in the required list of packages, but they did come up as a warning in the installer as required. I doubt they are truly necessary, but I appeased the installer.
yum install unixODBC-devel

This will add the minimum installation group that will own the oracle software, create the oracle user, and allow the oracle user to run x sessions locally so you don’t have to login and logout for any of this installation. You may want to add your “normal” user to the oinstall group later.

groupadd oinstall
useradd -s /bin/bash -m -g oinstall oracle
passwd oracle
xhost local:oracle

The next two pieces of work will change various kernel settings and limits to be able to run database instances locally if you desire.

cat >> /etc/profile
#added for oracle
ulimit -S -c unlimited > /dev/null 2>&1

cat >> /etc/sysctl.conf
#added for oracle
fs.suid_dumpable = 1

cat >> /etc/security/limits.conf
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536

cat >> /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304

/sbin/sysctl -p

I disabled SELinux since its not required, and is more difficult to deal with than I care to at this time.

setenforce 0
vi /etc/selinux/config
modify the line "SELINUX=enforcing" to "SELINUX=disabled"

The below directories are the Oracle recommended Optimal Flexible Architecture (besides all the separation of physical devices)

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory

At this point you should have downloaded the two huge zip files from Oracle’s download page:

mv /home/michael/Downloads/linux_11gR2_database_* /home/oracle/
su - oracle (NOTE: all commands below are ran as oracle)
unzip linux_11gR2_database_1of2.zip
rm linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
rm linux_11gR2_database_2of2.zip

Here is the where the actual installation begins. You will get a nice GUI for this part.

cd database
./runInstaller

On the successive list of screens, select the following to install the database software without creating a test database.

“Install database software only”
“Single instance database installation”
“Enterprise Edition”
Oracle Base: “/u01/app/oracle”
Software Location: “/u01/app/oracle/product/11.2.0/dbhome_1″
Inventory Directory “/u01/app/oraInventory”
oraInventory Group Name “oinstall”
Database Administrator Group “oinstall”
Database Operator Group “oinstall”

A list of prerequisites that are failed will be shown on the screen. The only failed prerequisite I faced was a missing pdksh package, but I already installed the original Korn Shell package “ksh”, so I clicked the “Ignore All” box.

During the install there was one error that popped up about linking:

Error in invoking target ‘agent nmhs’ of makefile ‘/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk’

Some information that I gleaned from “http://cn.forums.oracle.com/forums/thread.jspa?threadID=1091616″ regarding this error: Apparently the enterprise manager agent will not run properly until this linking issue is resolved. The fix is below…

vi $ORACLE_HOME/sysman/lib/ins_emagent.mk
Search for the line
$(MK_EMAGENT_NMECTL)
Change it to:
$(MK_EMAGENT_NMECTL) -lnnz11

If at this point, you still have the linking error popup on your screen, you should be able to hit Retry and it should go through. (Can someone confirm this works?) If you ignored the error and finished the installation like I did, you can still do the modification to ins_emagent.mk as above, then manually run “make -f ins_emagent.mk “agent”". Make sure to set the ORACLE_BASE and ORACLE_HOME environment variables before running the make command.

After the install I placed the following lines in the /etc/profile to ensure the ORACLE_* environment variables get set properly after login for any local users:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin

At this point, I moved some known *.ora files into the $ORACLE_HOME/network/admin directory to skip the tns setup.

From here you should be able to use the oracle client tools to connect to existing databases on your network. Also, I was able to create an 11gR2 database instance locally without any more system changes, besides the normal instructions for creating an instance from the Oracle documentation.

Advertisement

Written by sys

November 8, 2010 at 4:28 pm

Posted in Uncategorized

11 Responses

Subscribe to comments with RSS.

  1. Thanks for the guide, worked like a charm.
    The single problem was that the packages of required software were newer than the Oracle’s requirements.
    I choose to skip it and it worked like a charm.
    I faced the same problem with ins_emagent.mk file, I edited during the install and retry it and it worked.

    Thanks again for posting the guide :)

    ZuLu

    November 14, 2010 at 1:10 pm

  2. Thanks for the guide. The /ins_emagent.mk issue was certainly solved by your fix. But Little further I had the net configuration assistant failed to install.
    Kind of stuck there.

    Thanks anyway…

    Regards

    Tk

    November 23, 2010 at 8:54 pm

    • Tk, I never use the net configuration assistant. I didn’t notice it failing during the install. I just ran it manually from the command line as the oracle user, and it popped right up. Can you give it a try, just typing netca as the oracle user?

      sys

      November 24, 2010 at 10:25 am

  3. Hi
    Thanks. Finally I did install.
    The problem is 11gr2 and fedora 14 were both 32 bit. But I tried 11gr2 and fedora 14 both with 64 it worked.

    Thanks

    tk

    November 28, 2010 at 2:50 pm

  4. Thanks alot for this guide. Installation went smoothly with it. I resolved the linking issue during the installation (while the error popup was on the screen) and hit retry and it worked afterwards.

    Thorsten

    January 6, 2011 at 12:16 pm

  5. It really worked for me. Thanks a lot, you saved me lots of efforts. Keep it up.

    By the way, it would be great if you give explanation for the change also, it will help newbies understand the issue and it won’t be just a change in a file for them.

    Nikhilesh

    January 14, 2011 at 1:53 pm

  6. Thank you for the guide.extremely helpful! I have noticed one issue with the changes that the semmns and semopm revert back to their original values as soon as the system reboots.

    Here is the sample of the error caught by the installer after the reboot. I ran it to simply make sure that all parameters are set according to installer’s requirements and was able to produce failure on these two (along with pdksh) every time after a reboot. output of log file for your review:

    [root@DFORCL CVU_11.2.0.1.0_oracle]# more orarun.log
    This is the log file for orarun script
    Timestamp: 032011131952
    Response file being used is :/tmp/CVU_11.2.0.1.0_oracle/fixup.response
    Enable file being used is :/tmp/CVU_11.2.0.1.0_oracle/fixup.enable
    Setting Kernel Parameters…
    semmns in response file:32000
    semmns for current session:100
    semmns in /etc/sysctl.conf:100
    semopm in response file:100
    semopm for current session:32
    semopm in /etc/sysctl.conf:

    Hasen

    March 20, 2011 at 1:42 pm

  7. [...] I have confirmed that the exact steps previously documented for Oracle 11g Release 2 (11.2.0.1.0) on Fedora 14 work for Fedora 15 release. You can find the steps HERE [...]

  8. i m installing 11g 64 bit
    but when i enter this command

    make -f ins_emagent.mk “agent” from oracle user.

    it says “make: ins_emagent.mkagent: no such file or directory
    make: ***no rule to make target ‘ins_emagent.mkagent’. Stop.

    what should i do? :(

    Bilal Tahir

    February 15, 2012 at 7:34 am

    • Make sure to set the ORACLE_BASE and ORACLE_HOME environment variables before running the make command. Also be sure to be in $ORACLE_HOME/sysman/lib/ dir first.

      sys

      February 17, 2012 at 3:45 pm

      • Yes, i got it. i was making a mistake.
        it is working perfactly now, thanks alot :)

        Bilal Tahir

        February 17, 2012 at 5:19 pm


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.