Oracle 11gR2 on Fedora 14
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.
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
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
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
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
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
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
[...] 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 [...]
Oracle 11gR2 on Fedora 15 « I am SYS
May 25, 2011 at 2:05 pm
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