Hi list, Paul W. Frields wrote:
On Fri, 2005-04-01 at 18:48 +0530, gaurav wrote:according to this Doc Quick start ( and help from Paul and Rahul :-)) I converted my tutorial to DocBook format and opened a bug report in bugzilla and attached the tutorial (http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=fedora-docs-writing) .
Hi list,
this is the first time I have submitted a Tutorial (intact somebody on on dev list suggested I should post it docs list)
as I am not aware procedure or approval cycle pl guide me in this case
In particular, you can read:
http://fedora.redhat.com/participate/documentation-quick-start/
Do i have check this tutorial into CVS and run a make command or something ?or editor will do it ? or I simply wait now for review process ?
I hope I am going ok ... pl correct me If I am wrong
Regards, gaurav
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> <article lang="en-US"><sect1><title>Oracle 9i under Fedora Core 3 - Installation How to </title> <para>Gaurav </para> <para> <ulink url="mailto:gauravpd@xxxxxxxxx">gauravpd@xxxxxxxxx</ulink> </para> <para>v1.0-pre1, April 1, 2005 </para> <para/> <para>This tutorial describes how to install Oracle 9i on Fedora Core 3 (or greater) </para> <para/><sect2><title/> <para/> <para/></sect2><sect2><title/></sect2></sect1><sect1><title>1. Introduction</title> <para>This tutorial was written due to my frustration on installing Oracle 9i on FC3. Basically 9i installation on RAS 1,2,3 RH 9, fc1, fc 2 is documented fairly well but its hard to find anything worth while on FC3 , some people even suggested installing Oracle 9i on FC3 is not possible !! . This How to attempts to condense all my experience /findings with any such info peculiar to FC3 which scattered all over web in to one concise but useful Doc.</para> <para>I hope you might find this short tutorial useful</para> <para>If you need to install Oracle 9i on FC3 than you must know/ look at following fact</para> <orderedlist> <listitem> <para>Fedora is not *Officially Supported* by Oracle Corp</para> </listitem> <listitem> <para>Oracle 9i installation is difficult but possible in FC3</para> </listitem> <listitem> <para>Oracle 9i CANNOT be linked with the libraries used by gcc 3.4 Under FC3, you need to use, (its only possible thru Fc2 compat library) </para> </listitem> <listitem> <para>Oracle 10 G installation method does NOT WORKS with 9i</para> </listitem> <listitem> <para>This How to deals with Red hat products >= f3 or higher or gcc version greater than 2.9 other wise if you are installing any other Redhat product you might want look at other exellent tutorials at (<ulink url="http://www.puschitz.com/OracleOnLinux.shtml">http://www.puschitz.com/OracleOnLinux.shtml</ulink> , <ulink url="http://oracle-base.com/">http://oracle-base.com/</ulink> )</para> </listitem> </orderedlist> <para>also </para> <orderedlist> <listitem> <para>This howto is aim to assist you only ...there is NOTHING OFFICIAL about !! so i am not responsible if </para> </listitem> <listitem> <para>I am not a DBA ..so do not mail me Help pl!! types mail (a better place would be Oracle forums ) , but any suggestion or improvement in How to is appreciated </para> </listitem> <listitem> <para>Next probable step for me is to write some bash or Perl scripts to fully automate this tideous and boring , frustrating, manual process but that depends on spare time I get , your inputs are welcome :-)</para> </listitem> </orderedlist><sect2><title>1.1 Acknowledgments</title> <para>I would like to thank Jean Francois for helping me out on most tricky part</para></sect2><sect2><title>1.2 Revision History </title> <para>Version 1.0-pre1 â?? March 25, 2005. </para> <para>Version 1.1 -April 1,2005 added miscellaneous errors section</para> <para/></sect2><sect2><title>1.3 New versions of this document </title> <para>The latest version can be found at <ulink url="http://www.alsa-project.org/%7Evalentyn">http://www.pagux.com/oracle9ionfedora3.html</ulink> </para> <para/></sect2><sect2><title>1.4 Feedback </title> <para>I rely on you, the reader, to make this HOWTO useful. If you have any suggestions, corrections or comments, please send them to me ( <ulink url="mailto:alsa-howto@xxxxxxxxxxxxxxxx">gauravpd@xxxxxxxxx</ulink>), and I will try to incorporate them in the next revision. </para> <para/></sect2><sect2><title>1.5 Distribution Policy </title> <para>Copyright 2005/2006 Gaurav Prasad</para> <para>This HOWTO is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. </para> <para>This document is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. </para> <para>You can obtain a copy of the GNU General Public License by writing to the <ulink url="http://www.fsf.org/">Free Software Foundation</ulink>, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. </para> <para/> <para/> <para/></sect2></sect1><sect1><title>2. Get Oracle 9i </title><sect2><title>2.1 CD Installation</title> <orderedlist> <listitem> <para>If you got Oracle 9i CD then mount it </para> </listitem> <listitem> <para>mkisofs -r -o ora9id1.iso Disk1/,loop=/dev/loop0 cd_image mount_dir</para> </listitem> </orderedlist></sect2><sect2><title>2.2 Download</title> <orderedlist> <listitem> <para>Otherwise download it from </para> </listitem> <listitem> <para>otn.oracle.com/software/products/ oracle9i/htdocs/linuxsoft.html ( You will need to following)</para> </listitem> <listitem> <para>Extract all three files as </para> </listitem> <listitem> <para>gunzip ship_9204_linux_disk1.cpio</para> </listitem> <listitem> <para>cpio -idmv -I ship_9204_linux_disk1.cpio (Dont forget -I option other wise it give error during extraction )</para> </listitem> <listitem> <para>This will expand to folder Disk1 (Repeat the process other two files)</para> </listitem> </orderedlist> <para/></sect2></sect1><sect1><title>3. Create users and Directories </title><sect2><title>3.1 Create users and groups</title> <para>groupadd oinstall</para> <para>groupadd dba</para> <para>groupadd oper</para> <para>groupadd apache</para> <para/> <para>useradd -g oinstall -G dba oracle</para> <para>passwd oracle</para></sect2><sect2><title>3.2 Create the directories </title> <para>in which the Oracle software will be installed:</para> <para>mkdir /u01 /u02</para> <para>chown oracle.dba /u01 /u02</para> <para>chmod 755 /u01 /u02</para> <para/></sect2></sect1><sect1><title>4. Set Environmental variables </title><sect2><title>4.1 Edit .bash_profile</title> <orderedlist> <listitem> <para>Log as oracle user</para> </listitem> <listitem> <para>su â?? oracle</para> </listitem> <listitem> <para>Edit .bash_profile</para> </listitem> <listitem> <para>vim .bash_profile add following</para> </listitem> </orderedlist> <para>############################################################################</para> <para>############################ Oracle Variables######################################</para> <para>echo " Wel come to oracle";</para> <para>ORACLE_BASE=/u01/app/oracle</para> <para>ORACLE_OWNER=oracle; export ORACLE_OWNER</para> <para>ORACLE_TERM=xterm; export ORACLE_TERM</para> <para>ORACLE_HOME=/u01/app/oracle/product/9.2.0.1.0</para> <para>ORACLE_SID=ORTD</para> <para>LD_PRELOAD=$HOME/libcwait.so</para> <para>export DISPLAY=172.28.66.39:0.0</para> <para>PATH=$PATH:$ORACLE_HOME/bin</para> <para>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/network/lib</para> <para/> <para>CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH</para> <para/> <para>LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL</para> <para>THREADS_FLAG=native; export THREADS_FLAG</para> <para>TMP=/tmp; export TMP</para> <para>TMPDIR=$TMP; export TMPDIR</para> <para/> <para>export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH LD_PRELOAD</para> <para>###############################Oracle##################################</para></sect2></sect1><sect1><title>5. Set Kernel Parameters </title><sect2><title>5.1 Edit /etc/sysctl.conf</title> <orderedlist> <listitem> <para>Add following lines can be added to the /etc/sysctl.conf file:</para> </listitem> </orderedlist> <para>kernel.shmmax = 2147483648</para> <para>kernel.shmmni = 128</para> <para>kernel.shmall = 2097152</para> <para>kernel.sem = 250 32000 100 128</para> <para>fs.file-max = 65536</para> <para>net.ipv4.ip_local_port_range = 1024 65000</para></sect2><sect2><title>5.2 Edit /etc/security/limits.conf</title> <orderedlist> <listitem> <para>In addition the following lines can be added to the /etc/security/limits.conf file:</para> </listitem> </orderedlist> <para>oracle soft nofile 65536</para> <para>oracle hard nofile 65536</para> <para>oracle soft nproc 16384</para> <para>oracle hard nproc 16384</para> <orderedlist> <listitem> <para>Adding lines into these files requires a reboot before they take effect.</para> </listitem> </orderedlist></sect2></sect1><sect1><title>6. Install GCC 2.9 Compat libraries</title><sect2><title>6.1 Install GCC 2.96 Compat packages </title> <orderedlist> <listitem> <para>From Fedora Core TWO (note if newer FC3 packages are installed use rpm -i â??force )</para> </listitem> </orderedlist> <para>compat-libstdc++-7.3-2.96</para> <para>compat-libstdc++-devel-7.3-2.96</para> <para>compat-gcc-7.3-2.96.118.i386.rpm</para> <para>compat-gcc-c++-7.3-2.96</para> <orderedlist> <listitem> <para>From Fedora Core THREE</para> </listitem> </orderedlist> <para>compat-db</para> <orderedlist> <listitem> <para>If don't install GCC compat libraries as above you get zillion linking error</para> </listitem> </orderedlist></sect2><sect2><title>6.2 Create symbolic links </title> <orderedlist> <listitem> <para>Put gcc296 and g++296 first in $PATH variable by creating the following symbolic links:</para> </listitem> </orderedlist> <para>mv /usr/bin/gcc /usr/bin/gcc323</para> <para>mv /usr/bin/g++ /usr/bin/g++323</para> <para>ln -s /usr/bin/gcc296 /usr/bin/gcc</para> <para>ln -s /usr/bin/g++296 /usr/bin/g++</para> <orderedlist> <para/> </orderedlist></sect2></sect1><sect1><title>7. Run Installer </title><sect2><title>7.1 Apply libwait.c patch </title> <orderedlist> <listitem> <para>Before you run installer you do following to over come some weird errors</para> </listitem> <listitem> <para>Complie libwait.c (in /home/oracle)</para> </listitem> <listitem> <para>Save this as libcwait.c and do as explained in the comment:/* Compile withgcc -shared -o libcwait.so libcwait.c -fpic -Oand use it by adding</para> <para>LD_PRELOAD=/path/to/libcwait.soin the environment of the application with the bug.*/#include <errno.h>#include <sys/syscall.h>#include <sys/types.h>#include <sys/wait.h>pid_t__libc_wait (int *status){int res;asm volatile ("pushl %%ebx\n\t""movl %2, %%ebx\n\t""movl %1, %%eax\n\t""int $0x80\n\t""popl %%ebx": "=a" (res): "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0),"S" (0));return res;}</para> </listitem> <listitem> <para>Compile gcc -shared -o libcwait.so libcwait.c -fpic -O</para> </listitem> <listitem> <para>Then do export LD_PRELOAD=/home/oracle/libcwait.so</para> </listitem> </orderedlist></sect2><sect2><title>7.2 Export Display variable</title> <orderedlist> <listitem> <para>xhost +localhostexport DISPLAY=localhost:0.0</para> </listitem> <listitem> <para>if above doest work take vnc connection to server and run installation (su â?? oracle and the vncserver to start vncserver)</para> </listitem> </orderedlist></sect2><sect2><title>7.3 Finally Run the Installation</title>7.3 Finally Run the Installation<orderedlist> <listitem> <para>/path/to/oracle/Disk1/runInstaller </para> </listitem> <listitem> <para>Now carry with Graphical setup (if you are not sure choose Standard database )...from here its really easy</para> </listitem> </orderedlist></sect2><sect2><title>7.4 Fix nodeinfo</title> <orderedlist> <listitem> <para>Now installation should proceed without any linking errors but you will get one error in end</para> </listitem> </orderedlist> <para>Parameter "nodeinfo" = NO_VALUE</para> <para>Agent Service Failed</para> <orderedlist> <listitem> <para>For do this after setup </para> </listitem> <listitem> <para>netca & (this run wizard)</para> </listitem> <listitem> <para>cd $ORACLE_HOME and run ./lsnrctl start </para> </listitem> <listitem> <para>check if its running $ ps afx | grep LISTEN | grep -v grep</para> </listitem> </orderedlist></sect2></sect1><sect1><title>7. Startup script</title> <orderedlist> <listitem> <para>You have to write startup a script so that oracle can automatically be started as reboot and easily control service using service command </para> </listitem> <listitem> <para>create a start up a start script as following</para> </listitem> <listitem> <para>vim /etc/init.d/oracle</para> </listitem> <listitem> <para>add following to it </para> </listitem> </orderedlist> <para>#!/bin/bash</para> <para>#</para> <para># Run-level Startup script for the Oracle Instance and Listener</para> <para>#</para> <para># chkconfig: 345 91 19</para> <para># description: Startup/Shutdown Oracle listener and instance</para> <para/> <para>ORA_HOME="/u01/app/oracle/product/9.2.0.1.0"</para> <para>ORA_OWNR="oracle"</para> <para/> <para># if the executables do not exist -- display error</para> <para/> <para>if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]</para> <para>then</para> <para>echo "Oracle startup: cannot start"</para> <para>exit 1</para> <para>fi</para> <para/> <para># depending on parameter -- startup, shutdown, restart </para> <para># of the instance and listener or usage display </para> <para/> <para>case "$1" in</para> <para>start)</para> <para># Setting up kernel parameters </para> <para>#echo 100 32000 100 100 > /proc/sys/kernel/sem</para> <para>#echo 2147483648 > /proc/sys/kernel/shmmax</para> <para>#echo 4096 > /proc/sys/kernel/shmmni</para> <para>#echo 2097152 > /proc/sys/kernel/shmall</para> <para>#echo 65536 > /proc/sys/fs/file-max</para> <para>#ulimit -n 65536</para> <para>#echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range</para> <para>#ulimit -u 16384</para> <para/> <para># Oracle listener and instance startup</para> <para>echo -n "Starting Oracle: "</para> <para>su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"</para> <para>su - $ORA_OWNR -c $ORA_HOME/bin/dbstart</para> <para>touch /var/lock/subsys/oracle</para> <para>echo "OK"</para> <para>;;</para> <para>stop)</para> <para># Oracle listener and instance shutdown</para> <para>echo -n "Shutdown Oracle: "</para> <para>su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"</para> <para>su - $ORA_OWNR -c $ORA_HOME/bin/dbshut</para> <para>rm -f /var/lock/subsys/oracle</para> <para>echo "OK"</para> <para>;;</para> <para>reload|restart)</para> <para>$0 stop</para> <para>$0 start</para> <para>;;</para> <para>*)</para> <para>echo "Usage: $0 start|stop|restart|reload"</para> <para>exit 1</para> <para>esac</para> <para>exit 0</para> <orderedlist> <listitem> <para>Now run command chkconfig oracle (this will create init scripts)</para> </listitem> <listitem> <para>now service oracle start|stop|restart should work </para> </listitem> </orderedlist></sect1><sect1><title>Miscellaneous Errors </title>Miscellaneous Errors<para>ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux Error: 2: No such file or directory This error happens when you reboot and try to login ... you will get lot of errors as database instance is not mounted/started automatically Step 1 In /etc/oratab If you have: *:/opt/oracle/OraHome1:N ordb:/opt/oracle/OraHome1:N edit it to *:/opt/oracle/OraHome1:Y ordb:/opt/oracle/OraHome1:Y here N means No and Y means Yes ....so you basically asking database to start automatically when you reboot or stop service Step 2 after that try to initialize database $ORACLE_HOME/bin/dbstart if you get error No start entry for SID * at /opt/oracle/OraHome1 in /etc/oratab this might be due a bug in dbstart script looking at sid file wrong place then -> cp $ORACLE_BASE/admin/$ORACLE_SID/pfile/init_*.ora $ORACLE_HOME/dbs/init$ORACLE_SID.ora and $ sqlplus '/ as sysdba' SQL> create pfile from spfile; SQL> exit run the db start script $ORACLE_HOME/bin/dbstart </para> <para>if you reached this state with any errors the Congrats !! Relax :-) ...Go have a cup of coffee or call your girl friend </para> <para/> <orderedlist> <para/> </orderedlist> <para/> <para/> <para/> <para/></sect1></article>