Installing Oracle 9iR2 on Fedora Core 1

Configure the Kernel

Oracle 9i requires that you at least temporarily increase the maximum shared memory segment size for installation. To temporarily increase the maximum shared memory segment size, follow these instructions (as root):


echo "1073741824" > /proc/sys/kernel/shmmax

Set Up the Environment

Add the following line to /home/oracle/.bashrc near the bottom:


export LD_ASSUME_KERNEL=2.4.1

Install Compatibility Packages

The Apache web server that comes with Oracle 9i requires Berkeley DB version 3. Part of the installation process requires gcc version 2.96. Fedora Core 1 doesn't come with any version of Berkeley DB and comes with gcc version 3.3.2. However, there are compatibility RPM's available for Redhat 9 that will also work with Fedora Core 1:


compat-libstdc++-7.3-2.96.118.i386.rpm
compat-db-3.3.11-4.i386.rpm
compat-gcc-7.3-2.96.118.i386.rpm

You can download these RPMS from rpmfind and install them using rpm -i as root.

The version of glibc that comes with Fedora Core 1 has a bug in it.

To assure that Oracle will install and run, download and install libctypefixup using the following commands (as root).


tar xfz libctypefixup-1.0.tar.gz
cd libctypefixup-1.0
make
make install

Oracle 9i uses a Java-based installer and comes with its own JRE. The version of Java that Oracle 9i comes with has a bug though and is incompatible with the version of glibc that comes with Fedora Core 1.

To assure that the Oracle installer will run, download and install libwaitfixup using the following commands (as root).


tar xfz libwaitfixup-1.0.tar.gz
cd libwaitfixup-1.0
make
make install
echo "/lib/libwaitfixup.so" >> /etc/ld.so.preload

Install Oracle

Now, log in as the oracle user.

Since Oracle 9.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 cpio distribution, extract all three files using:


cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio
Change directories to the Disk1 directory.

Type ./runInstaller

On the Welcome screen click Next

An Inventory Location dialog will pop up.
Accept the default base directory and click OK

On the Unix Group Name screen, enter oinstall for the UNIX Group Name and click Next

A dialog will pop up and prompt you to run /tmp/orainstRoot.sh as root.
Follow the instructions and click Continue

On the File Locations screen, accept the defaults and click Next

On the Available Products screen, accept the default selection Oracle9i Database 9.2.0.1.0 and click Next

On the Installation Types screen, accept the default selection Enterprise Edition and click Next

On the Database Configuration screen, accept the default selection General Purpose and click Next

On the Database Identification screen, enter ora1 for both Global Database Name and SID and click Next

On the Database File Location screen, accept the default Directory for Database Files and click Next

On the Database Character Set screen, accept the default selection Use the default character set and click Next

On the Summary screen, click Install

The Install screen will show the progress of the installation

If a dialog pops up indicating:
Error in invoking target install of makefile
/u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk
edit /u01/app/oracle/product/9.2.0/network/lib/env_oemagent.mk and change:

LDLIBS=$(EXPDLIBS) $(EXOSLIBS) $(SYSLIBS) $(EXSYSLIBS) $(MATHLIB) $(USRLIBS)
to:

LDLIBS=$(EXPDLIBS) $(EXOSLIBS) $(SYSLIBS) $(EXSYSLIBS) $(MATHLIB) $(USRLIBS) -lctypefixup
then click Retry


If a dialog pops up indicating:
Error in invoking target install of makefile
/u01/app/oracle/product/9.2.0/rdbms/lib/ins_rdbms.mk
edit /u01/app/oracle/product/9.2.0/rdbms/lib/env_rdbms.mk and change:

LINK=$(PURECMDS) gcc $(LDFLAGS) $(COMPSOBJS)
to:

LINK=$(PURECMDS) gcc296 $(LDFLAGS) $(COMPSOBJS)
and change:

ORACLE_LINKER=$(ADE_DEL_FILE_CMD) $(PURECMDS) gcc $(OLAPPRELINKOPTS) $(LDFLAGS) $(COMPSOBJS)
to:

ORACLE_LINKER=$(ADE_DEL_FILE_CMD) $(PURECMDS) gcc296 $(OLAPPRELINKOPTS) $(LDFLAGS) $(COMPSOBJS)
then click Retry


If a dialog pops up indicating:
Error in invoking target install of makefile
/u01/app/oracle/product/9.2.0/ctx/lib/ins_ctx.mk
Click Ignore. There is no known workaround for this problem and the affected system doesn't appear to be critical.

At the end of the installation, a dialog will pop up asking you to run root.sh. Just follow the directions on the dialog and click Ok

On the Configuration Tools screen, the Database Creation Assistant will run and a dialog will most likely pop up, indicating that it failed. In that case, click Ok on the dialog and, run the following command as root:

touch /etc/rac_on
Now select Oracle Database Configuration Assistant And click Retry

A dialog will pop up indicating that a database is being created. After a while, another dialog will pop up instructing you to provide passwords for the SYS and SYSTEM users. Enter new passwords for these users. Note that you cannont use the classic "manager" and "change_on_install" passwords.
Click OK

Sometimes the Database Creation Assistant will just hang here. Select Oracle Database Configuration Assistant And click Stop. If it doesn't stop, you may have to kill it from the command line using the following command:

kill `ps -efa | grep "JDBC_PROTOCOL=thin" | cut -c10-15`
When the Database Creation Assistant is finished (or killed), click Next.

On the End Of Installation screen click Exit

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

The Oracle Enterprise Manager, a graphical database management interface should start up soon. You can exit it by clicking File and then Exit.

In some cases, dbstart and dbshut don't work after installation. To ensure that they will work, you need to run the following command:


cp /u01/app/oracle/admin/ora1/pfile/initora1.ora.* /u01/app/oracle/product/9.2.0/dbs/initora1.ora

Post-Installation

During the installation, the oracle web server was started. You can shut it down by executing the following command (as oracle):


/u01/app/oracle/product/9.2.0/Apache/Apache/bin/apachectl stop

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