Date: Tue, 28 Mar 2000 20:51:19 GMT From: Murray Stokely <murray@dolemite.cdrom.com> To: FreeBSD-gnats-submit@freebsd.org Subject: docs/17638: Added section Handbook/LinuxEmu/Oracle Message-ID: <200003282051.UAA10596@dolemite.cdrom.com>
next in thread | raw e-mail | index | archive | help
>Number: 17638 >Category: docs >Synopsis: Added section on installing Oracle for Linux >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-doc >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Mar 28 05:00:00 PST 2000 >Closed-Date: >Last-Modified: >Originator: Murray Stokely >Release: FreeBSD 5.0-CURRENT i386 >Organization: BSDi >Environment: >Description: Date: Fri, 03 Mar 2000 09:34:14 -0800 From: Marcel Moolenaar <marcel@cup.hp.com> To: Murray Stokely <murray@cdrom.com> Subject: Re: Linux/Oracle howto -> handbook Murray Stokely wrote: > Can I import your Linux / Oracle howto into the FreeBSD handbook? > The section on Linux emulation is really out of date but I'm working > on rewriting a good deal of this chapter and it would really help out > to import your Oracle howto. You can import the howto, but I think it needs some updates. It seems that Oracle doesn't work with linux_{base|devtools}-6.1 and that linux_{base|devtools}-5.2 must be used. I have to verify it, but don't really have the time right now. What I'm saying is that the HOWTO itself is a bit out of date. This doesn't mean that you can't import it, but it's good to know :-) -- Marcel Moolenaar mail: marcel@cup.hp.com / marcel@FreeBSD.org tel: (408) 447-4222 >How-To-Repeat: I added a note that he talks about above and formatted his docunment in SGML. >Fix: Index: chapter.sgml =================================================================== RCS file: /host/ares/usr/home/ncvs/doc/en_US.ISO_8859-1/books/handbook/linuxemu/chapter.sgml,v retrieving revision 1.28 diff -u -r1.28 chapter.sgml --- chapter.sgml 2000/03/23 01:32:00 1.28 +++ chapter.sgml 2000/03/28 20:40:47 @@ -394,6 +394,223 @@ </sect2> </sect1> + <sect1 id="oracle"> + <title>Installing Oracle</title> + + <para><emphasis>Contributed by Marcel Moolenaar + <email>marcel@cup.hp.com</email></emphasis></para> + + <sect2> + <title>Preface</title> + <para>This document describes the process of installing Oracle + 8.0.5 and Oracle 8.0.5.1 Enterprise Edition for Linux onto a + FreeBSD machine</para> + </sect2> + + <sect2> + <title>Installing the Linux environment</title> + <para>Make sure you have both linux_base and linux_devtools from + the ports collection installed. These ports are added to the + collection after the release of FreeBSD 3.2. If you are using + FreeBSD 3.2 or an older version for that matter, update your + ports collection. You may want to consider updating your FreeBSD + version too. If you run into difficulties with linux_base-6.1 or + linux_devtools-6.1 you may have to use version 5.2 of these + packages.</para> + + <para>If you want to run the intelligent agent, you'll + also need to install the Red Hat tcl package: + <filename>tcl-8.0.3-20.i386.rpm</filename>. The general command + for installing packages with the official RPM port is :</para> + + <screen>&prompt.root; <userinput>rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm <replaceable>package</replaceable></userinput></screen> + + <para>Installation of the package should not generate any + errors.</para> + </sect2> + + <sect2> + <title>Creating the Oracle environment</title> + <para>Before you can install Oracle, you need to set up a proper + environment. This document only describes what to do + *specially* to run Oracle for Linux on FreeBSD, not what has + been described in the Oracle installation guide.</para> + + <sect3 id="kernel-tuning"> + <title>Kernel Tuning</title> + <para>As described in the Oracle installation guide, you need + to set the maximum size of shared memory. Don't use SHMMAX + under FreeBSD. SHMMAX is merely calculated out of SHMMAXPGS + and PGSIZE. Therefore define SHMMAXPGS. All other options can + be used as described in the guide. For example:</para> + +<LITERALLAYOUT> +<emphasis>options SHMMAXPGS=10000</emphasis> +<emphasis>options SHMMNI=100</emphasis> +<emphasis>options SHMSEG=10</emphasis> +<emphasis>options SEMMNS=200</emphasis> +<emphasis>options SEMMNI=70</emphasis> +<emphasis>options SEMMSL=61</emphasis> +</LITERALLAYOUT> + <para>Set these options to suit your intended use of + Oracle.</para> + + <para>Also, make sure you have the following options in your + kernel config-file:</para> + +<LITERALLAYOUT> +<emphasis>options SYSVSHM #SysV shared memory</emphasis> +<emphasis>options SYSVSEM #SysV semaphores</emphasis> +<emphasis>options SYSVMSG #SysV interprocess communication</emphasis> +</LITERALLAYOUT> + </sect3> + + <sect3 id="oracle-account"> + <title>Oracle account</title> <para>Create an Oracle account + just as you would create any other account. The Oracle account + is special only that you need to give it a Linux shell. Add + <filename>/compat/linux/bin/bash</filename> to + <filename>/etc/shells</filename> and set the shell for the + Oracle account to + <filename>/compat/linux/bin/bash</filename>.</para> + + </sect3> + + <sect3 id="environment"> + <title>Environment</title> + <para>Besides the normal Oracle variables, such as ORACLE_HOME + and ORACLE_SID you must set the following environment + variables:</para> + +<LITERALLAYOUT> +<emphasis>LD_LIBRARY_PATH=$ORACLE_HOME/lib +CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip +PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:$ORACLE_HOME/bin</emphasis> +</LITERALLAYOUT> + + <para>It is advised to set all the environment variables in + <filename>.profile</filename>. A complete example is:</para> + +<programlisting>ORACLE_BASE=/oracle; export ORACLE_BASE +ORACLE_HOME=/oracle; export ORACLE_HOME +LD_LIBRARY_PATH=$ORACLE_HOME/lib +export LD_LIBRARY_PATH +ORACLE_SID=ORCL; export ORACLE_SID +ORACLE_TERM=386x; export ORACLE_TERM +CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip +export CLASSPATH +PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:$ORACLE_HOME/bin +export PATH</programlisting> + </sect3> + + </sect2> + + <sect2> + <title>Installing Oracle</title> + + <para>Due to a slight inconsistency in the Linux emulator, you + need to create a directory named <filename>.oracle</filename> in + <filename>/var/tmp</filename> before you start the + installer. Either make it world writable or let it be owner by + the oracle user. You should be able to install Oracle without + any problems. If you have problems, check your Oracle + distribution and/or configuration first! After you have + installed Oracle, apply the patches described in the next two + subsections.</para> + + <para>A frequent problem is that the TCP protocol + adapter is not installed right. As a consequence, you cannot + start any TCP listeners. The following actions help solve this + problem:</para> + + <screen> + &prompt.root; <userinput>cd $ORACLE_HOME/network/lib</userinput> + &prompt.root; <userinput>make -f ins_network.mk ntcontab.o</userinput> + &prompt.root; <userinput>cd $ORACLE_HOME/lib</userinput> + &prompt.root; <userinput>ar r libnetwork.a ntcontab.o</userinput> + &prompt.root; <userinput>cd $ORACLE_HOME/network/lib</userinput> + &prompt.root; <userinput>make -f ins_network.mk install</userinput> + </screen> + + <para>Don't forget to run <filename>root.sh</filename> + again!</para> + + <sect3 id="patch-root"> + <title>Patching root.sh</title> + + <para>When installing Oracle, some actions, which need to be +performed as root, are recorded in a shell script called +root.sh. root.sh is written in the orainst directory. Apply the +following patch to root.sh, to have it use to proper location of chown +or alternatively run the script under a Linux native shell.</para> + +<programlisting> +*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998 +--- orainst/root.sh Mon Dec 28 15:58:53 1998 +*************** +*** 31,37 **** +# This is the default value for CHOWN +# It will redefined later in this script for those ports +# which have it conditionally defined in ss_install.h +! CHOWN=/bin/chown +# +# Define variables to be used in this script +--- 31,37 ---- +# This is the default value for CHOWN +# It will redefined later in this script for those ports +# which have it conditionally defined in ss_install.h +! CHOWN=/usr/sbin/chown +# +# Define variables to be used in this script +</programlisting> + + <para>When you don't install Oracle from CD, you can path the + source for <filename>root.sh</filename>. It is called rthd.sh and + is located in the orainst directory in the source tree.</para> + + </sect3> + + <sect3 id="patch-tcl"> + <title>Patching genclntsh</title> + + <para>The script genclntsh is used to create a single shared +client library. It is used when building the demos. Apply the +following patch to comment out the definition of PATH:</para> + + +<programlisting> +*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998 +--- bin/genclntsh Tue Dec 22 15:36:49 1998 +*************** +*** 32,38 **** +# +# Explicit path to ensure that we're using the correct commands +#PATH=/usr/bin:/usr/ccs/bin export PATH +! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH +# +# each product MUST provide a $PRODUCT/admin/shrept.lst +--- 32,38 ---- +# +# Explicit path to ensure that we're using the correct commands +#PATH=/usr/bin:/usr/ccs/bin export PATH +! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH +# +# each product MUST provide a $PRODUCT/admin/shrept.lst +</programlisting> + + </sect3> + </sect2> + <sect2> + <title>Running Oracle</title> + + <para>When you have followed the instructions, you should be +able to run Oracle as if it was run on Linux itself. Wether that is +good or bad, depends on how you value Linux :-) Until we have a native +FreeBSD version of Oracle supported by Oracle, I think Oracle for +Linux is a good alternative.</para> + </sect2> + </sect1> + <sect1> <title>Advanced Topics</title> >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-doc" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003282051.UAA10596>