Installing Oracle 10g on Fedora Core 5

Install Software Packages

Oracle 10g requires some software packages that may not have been installed on your system. Run the following yum command to install them:


yum install setarch tcl tcl-devel openmotif openmotif-devel compat-db \
compat-libstdc++-33 compat-libf2c-32 compat-gcc-32 compat-gcc-32-c++ \
compat-libstdc++-296 compat-libgcc-296 libaio libaio-devel \
xorg-x11-deprecated-libs

You'll also need to download the following package from rpmfind and install it using rpm -i. This package is also available in the Fedora Core 4 distribution.


openmotif21-2.1.30-14.i386.rpm

Pretend to be Red Hat Enterprise Linux ES Release 4

Oracle 10g is only officially supported on a few versions of Redhat Linux and UnitedLinux. The installer checks /etc/redhat-release to see exactly what version of Redhat Linux you are running. To pretend that you are running Red Hat Enterprise Linux ES Release 4, run the following commands (as root):


mv /etc/redhat-release /etc/redhat-release.old
echo "redhat-4" > /etc/redhat-release

Configure the Kernel

Oracle 10g requires that you at least temporarily increase the values of a couple of kernel parameters. To temporarily increase these values, follow these instructions (as root):


echo 65536 > /proc/sys/fs/file-max
echo 2097152 > /proc/sys/kernel/shmall
echo 2147483648 > /proc/sys/kernel/shmmax
echo 4096 > /proc/sys/kernel/shmmni
echo "250 32000 100 128" > /proc/sys/kernel/sem

Install Oracle

Now, log in as the oracle user.

Since Oracle 10.2.0 uses a graphical installer, you need to be running X Windows or point the DISPLAY environment variable to an X Windows session running somewhere.

I have had problems with the graphical installer on enlightenment and fluxbox window managers in the past, though they may work for you.

If you have a CD, mount it and cd to the mount point. If you have a zip distribution, extract the file using:


unzip 10201_database_linux32.zip
Change directories to the database directory.

Type ./runInstaller

On the Installation Method screen, accept the default Basic Installation. Change the Global Database Name from "orcl" to "ora1". Enter a password in the Database Password and Confirm Password boxes for the SYS, SYSTEM, SYSMAN and DBSNMP accounts. Be sure to enter a password that starts with a letter, not a number. Click Next

The window will go away and a Preparing to install dialog with a progress bar will appear for a while. Then it will go away and another screen will appear.

On this screen, the installer will do a system test to make sure that the system configuration meets the installer's requirements. Your system may not meet the Network or Memory requirements. You can safely ignore these warnings. Click Next

If a dialog pops up indicating that some of the prerequisite checks have failed, click Yes to proceed.

On the Summary screen, click Install

The Install screen will show the progress of the installation

When the installation is about 30% complete, click Stop Installation and edit the file /u01/app/oracle/product/10.2.0/bin/gennttab and change the lines:


LIB=`$ECHO ${TtoLIB} | $SED 's/ /\\
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
INI=`$ECHO ${TtoINI} | $SED 's/ /\\
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
BAS=`$ECHO ${TtoBAS} | $SED 's/ /\\
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
To:


LIB=`$ECHO ${TtoLIB} | $SED 's/ /\n/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
INI=`$ECHO ${TtoINI} | $SED 's/ /\n/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
BAS=`$ECHO ${TtoBAS} | $SED 's/ /\n/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
Then click No to continue the installation.

Be sure to do this before the linking phase starts or the installation will stall during the linking phase.

When installation is finished, the Configuration Assistants screen will show the progress of the initial configuration processes.

A Database Configuration Assistant dialog should pop up, displaying the progress of the initial database configuration.

When database creation is complete, a dialog will pop up with a summary. Click OK.

A dialog will pop up asking you to run some scripts as root. Just follow the directions on the dialog (they may take a while to complete) and click Ok

On the End Of Installation screen click Exit

A dialog will pop up asking: Do you really want to exit? Click Yes.

Post-Installation

For some reason, despite setting the oracle user's umask, the installtion creates the ORACLE_HOME directory and all subdirectories of it with 750 permissions, so any user that isn't in the oinstall group can't read or execute anything inside of them including the client programs like sqlplus and files like tnsnames.ora. The installation also creates many of the files without read or execute permissions for users not in the oinstall group as well, including tnsnames.ora. The cleanest solution is to add any users that need to run Oracle client programs to the oinstall group.

Sometimes, for some reason, during an installation, the tnslistener does not get configured to listen for connections to the ora1 database. Take a look at /u01/app/oracle/product/10.2.0/network/admin/listener.ora and make sure that there is an entry like the following:


SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = ora1)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0)
)
)

The second SID_DESC section may be missing from your listener.ora file. If it is, update your listener.ora file, adding the necessary section.

You'll also need to modify the line:


(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

To read:


(ADDRESS = (PROTOCOL = IPC)(KEY = ORA1))

During the installation, several ancillary processes were started. You can shut some of them down by executing the following commands (as oracle):


isqlplusctl stop
emctl stop dbconsole
emctl stop agent

At this point, only the database and tns listener should be running.