On Tue, 23 Dec 2003 15:19:04 -0500 <Lance.Spence@xxxxxxx> wrote: > David would be interested in receiving your procedure. Could you please > send it to me or post a link to them here. > > Lance.Spence@xxxxxxx I really recommend using the patches and the procedure at http://www.puschitz.com but, here's my procedure: One of the underlying problems is that Oracle uses a java-based installer and provides a JRE on the installation CD. But, the JRE that they use has a bug in it. For some reason, it uses __libc_wait which is supposed to be a local glibc function (ie. apps aren't supposed to use it). Older versions of glibc erronesously defined __libc_wait as global, but the version of glibc that fedora core 1 comes with (correctly) defines it as local. Consequently though, the JRE that Oracle 9.2 comes with won't run. The patch creates a tiny library that implements __libc_wait as a global function and LD_PRELOAD's it. This resolves the problem and allows the provided JRE to run. Here is an alternative procedure: Download and install the following software: jre-1.3.1_09 (from java.sun.com) compat-libstdc++-7.3-2.96.118.i386.rpm (from rpmfind.net) compat-gcc-7.3-2.96.118.i386.rpm (from rpmfind.net) compat-db-3.3.11-4.i386.rpm (from rpmfind.net) libctypefixup-1.0.tar.gz (from http://www.firstworks.com/support/libctypefixup-1.0.tar.gz, follow the enclosed installation instructions) Copy the Oracle 9i installation CD's to a local directory, modify Disk1/install/linux/oraparam.ini to use the sun jre by setting: JRE_LOCATION=/usr/java/jre1.3.1_09 Then run the installer. It should run smoothly util it starts linking programs. 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 gcc to gcc296 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 There is no good fix right now. However, it's not a critical system (or at least I've never needed it) so it's "safe" to click Ignore. After linking is complete, the network and database configuration assistants will fail to run because they're still trying to use the JRE supplied by oracle (which has the __libc_wait problem). You can fix the Network Configuration Assistant by editing /u01/app/oracle/product/9.2.0/bin/netca and changing: JREDIR=/u01/app/oracle/product/9.2.0/JRE to: JREDIR=/usr/java/jre1.3.1_09 and: JRE=$JREDIR/bin/jre to: JRE=$JREDIR/bin/java Then select Network Configuration Assistant and click Retry. If you already exited the installer, you can just run: /u01/app/oracle/product/9.2.0/bin/netca /orahome /u01/app/oracle/product/9.2.0 /instype typical /inscomp client,oraclenet,javavm,server,ano /insprtcl tcp,tcps /cfg local /authadp NO_VALUE /nodeinfo NO_VALUE /responseFile /u01/app/oracle/product/9.2.0/network/install/netca_typ.rsp on the command line. Similarly, you can fix the Database Configuration Assitant by editing /u01/app/oracle/product/9.2.0/bin/dbca and changing: JRE_DIR=/u01/app/oracle/product/9.2.0/JRE to: JRE_DIR=/usr/java/jre1.3.1_09 and change: # Run DBCA $JRE_DIR/bin/jre -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS else # Run DBCA $JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS to: # Run DBCA $JRE_DIR/bin/java -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS else # Run DBCA $JRE_DIR/bin/java -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS Also, you need to run touch /etc/rac_on as root. Then select Database Configuration Assistant and click Retry. If you already exited the installer, you can run: /u01/app/oracle/product/9.2.0/bin/dbca -progress_only -createDatabase -templateName General_Purpose.dbc -gdbName ora1 -sid ora1 -datafileJarLocation /u01/app/oracle/product/9.2.0/assistants/dbca/templates -datafileDestination /u01/app/oracle/oradata -responseFile NO_VALUE -characterset WE8ISO8859P1 -passwordDialog true on the command line. After the installation is complete, you need to copy an init file. If you named your instance "ora1" then you would 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 Adjust the command according to your database instance name. That will get everything installed. You should edit /etc/oratab and change the entry like: ora1:/u01/app/oracle/product/9.2.0:N to: ora1:/u01/app/oracle/product/9.2.0:Y And you may want to install the following script in /etc/rc.d/init.d/oracle: #!/bin/sh case "$1" in start) su -l oracle -c "/u01/app/oracle/product/9.2.0/bin/dbstart" su -l oracle -c "/u01/app/oracle/product/9.2.0/bin/lsnrctl start" ;; stop) su -l oracle -c "/u01/app/oracle/product/9.2.0/bin/dbshut" su -l oracle -c "/u01/app/oracle/product/9.2.0/bin/lsnrctl stop" ;; *) echo $"Usage: $0 {start|stop}" exit 1 esac exit 0 And symlink it to /etc/rc.d/rc5.d/S98oracle to get oracle to start at boot. You can manually start/stop oracle using "/etc/rc.d/init.d/oracle start" and "/etc/rc.d/init.d/oracle stop". That's it. It's a mess and it's not a 100% complete installation (because of the ins_ctx.mk problem) but it seems to work. I'm not sure I'd trust it in production though. And I'm almost certain that java stored procedures won't work. It's possible that changing the symlink /u01/app/oracle/product/9.2.0/JRE to point to /usr/java/jre1.3.1_09 will fix that, but that's just a guess. Allegedly, if you use the patches from Oracle, everything works for real. Good luck. Hope this helps. David Muse david.muse@xxxxxxxxxxxxxx