Date: Wed, 2 Oct 2002 01:30:04 -0700 (PDT) From: Khorev Sergey <Khorev@SoftLab.RU> To: freebsd-doc@FreeBSD.org Subject: RE: docs/42058: Documentation: Installing Oracle 8i onto FreeBSD Message-ID: <200210020830.g928U4br000880@freefall.freebsd.org>
index | next in thread | raw e-mail
The following reply was made to PR docs/42058; it has been noted by GNATS.
From: Khorev Sergey <Khorev@SoftLab.RU>
To: 'Giorgos Keramidas' <keramida@FreeBSD.org>
Cc: "'bug-followup@FreeBSD.org'" <bug-followup@FreeBSD.org>
Subject: RE: docs/42058: Documentation: Installing Oracle 8i onto FreeBSD
Date: Wed, 2 Oct 2002 12:40:04 +0400
In order to submit the right patch:
Index: chapter.sgml
===================================================================
RCS file:
/home/ncvs/doc/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml,v
retrieving revision 1.76
diff -u -r1.76 chapter.sgml
--- chapter.sgml Thu Aug 29 14:35:44 2002
+++ chapter.sgml Tue Sep 10 10:48:57 2002
@@ -925,6 +925,323 @@
</sect2>
</sect1>
+ <sect1 id="linuxemu-oracle8i">
+ <sect1info>
+ <authorgroup>
+ <author>
+ <firstname>Sergey</firstname>
+ <surname>Khorev</surname>
+ <contrib>Contributed by </contrib>
+ </author>
+ <!-- khorev@softlab.ru -->
+ </authorgroup>
+ </sect1info>
+ <title>Installing Oracle 8i</title>
+
+ <indexterm>
+ <primary>applications</primary>
+ <secondary><application>Oracle</application></secondary>
+ </indexterm>
+
+ <sect2>
+ <title>Preface</title>
+ <para>This document describes the process of installing Oracle 8iR3
(8.1.7) for
+ Linux onto a machine running FreeBSD 4.5-RELEASE</para>
+ </sect2>
+
+ <sect2>
+ <title>Installing the Linux Environment</title>
+
+ <para>Make sure you have both <filename>linux_base-6.1</filename> and
+ <filename>linux_devtools-6.1</filename> packages installed. Also the
file
+ <filename>/compat/linux/etc/mtab</filename> must exist. Without it
the installer fails.
+
+ <screen>&prompt.root; <userinput> cp /etc/fstab
/compat/linux/etc/mtab </userinput></screen>
+
+ <para>You need to download and install Linux JDK-1.1.8 from
+ <ulink url="ftp.blackdown.org">ftp.blackdown.org</ulink>.</para>
+
+ <screen>&prompt.root; <userinput>tar xjfC
jdk118_v3-glibc-2.1.3.tar.bz2 /compat/linux/usr/ </userinput></screen>
+ <screen>&prompt.root; <userinput>cd /compat/linux/usr/jdk118_v3/
</userinput></screen>
+ <screen>&prompt.root; <userinput>ln -s . linux </userinput></screen>
+ <screen>&prompt.root; <userinput>echo echo i686 >
/compat/linux/bin/arch </userinput></screen>
+ <screen>&prompt.root; <userinput>chmod +x /compat/linux/bin/arch
</userinput></screen>
+ <screen>&prompt.root; <userinput>cd /compat/linux/usr/
</userinput></screen>
+ <screen>&prompt.root; <userinput>mkdir local </userinput></screen>
+ <screen>&prompt.root; <userinput>mkdir local/bin
</userinput></screen>
+ <screen>&prompt.root; <userinput>cd local </userinput></screen>
+ <screen>&prompt.root; <userinput>ln -s ../jdk118_v3/ java
</userinput></screen>
+
+ </sect2>
+
+ <sect2>
+ <title>Creating the Oracle Environment</title>
+
+ <para>Before you can install Oracle, you need to set up a proper
+ environment. You should read and understand the Oracle installation
guide.</para>
+
+ <sect3 id="linuxemu-kernel-tuning8i">
+ <title>Kernel Tuning</title>
+ <indexterm><primary>kernel tuning</primary></indexterm>
+
+ <para>As described in the Oracle installation guide, you need to set
+ the maximum size of shared memory. Do not use
+ <literal>SHMMAX</literal> under FreeBSD. <literal>SHMMAX</literal>
+ is merely calculated out of <literal>SHMMAXPGS</literal> and
+ <literal>PGSIZE</literal>. Therefore define
+ <literal>SHMMAXPGS</literal>. All other options can be used as
+ described in the guide. For example:</para>
+
+ <programlisting># System V shared memory and tunable parameters
+options SYSVSHM # include support for shared memory
+options SHMMAXPGS=16384 # max amount of shared memory pages (4k on
i386)
+options SHMMAX="(SHMMAXPGS*PAGE_SIZE+1)"
+ # max shared memory segment size (bytes)
+options SHMMIN=2 # min shared memory segment size (bytes)
+options SHMMNI=100 # max number of shared memory identifiers
+options SHMSEG=10 # max shared memory segments per process
+
+# System V semaphores and tunable parameters
+options SYSVSEM # include support for semaphores
+options SEMMNI=100 # number of semaphore identifiers in the
system
+options SEMMSL=61 # max number of semaphores per id
+options SEMMNS=61 # number of semaphores in the system
+options SEMOPM=101 # max number of operations per semop call
+
+# System V message queues and tunable parameters
+options SYSVMSG # include support for message
queues</programlisting>
+
+ <para>Set these options to suit your intended use of Oracle.</para>
+
+ </sect3>
+
+ <sect3 id="linuxemu-oracle-account8i">
+
+ <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>
+ <screen>&prompt.root; <userinput> pw groupadd -n dba
</userinput></screen>
+ <screen>&prompt.root; <userinput> pw useradd oracle -g dba -m
-s /compat/linux/bin/bash </userinput></screen>
+ </sect3>
+
+ <sect3 id="linuxemu-environment-8i">
+ <title>Environment</title>
+
+ <para>According to Oracle's installation guide you are to
+ set some environment variables. Here Oracle is installed in /ora
and
+ FORA is a name of the database. The <envar>LANG</envar> is
unsetted to avoid problems
+ with the installer. The best place
+ to set them is <filename>/home/oracle/.profile</filename>: </para>
+ <programlisting>ORACLE_BASE=/ora; export ORACLE_BASE
+ORACLE_HOME=$ORACLE_BASE/app; export ORACLE_HOME
+LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
+ORACLE_SID=FORA; export ORACLE_SID
+PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
+PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
+export PATH
+umask 022
+unset LANG</programlisting>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Installing Oracle</title>
+
+ <para>First of all you need to patch the installation. It can be done
in two ways:
+ <orderedlist>
+ <listitem>
+ <para>Copying the entire Oracle distribution to writable
media.</para>
+ </listitem>
+ <listitem>
+ <para>Copying some installation files:</para>
+ <screen>&prompt.root; <userinput> cp -r
/cdrom/Disk1/runInstaller /cdrom/Disk1/install . </userinput></screen>
+ </listitem>
+ </orderedlist>
+ Either way a patch must be applied to
<filename>runInstaller</filename>:
+ <programlisting>34c34
+< THREADS_FLAG=native
+---
+> THREADS_FLAG=green</programlisting>
+ The <filename>install/oraparam.ini</filename> may be patched in two
various fashions
+ <orderedlist>
+ <listitem>
+ <programlisting>5c5
+<
JRE_LOCATION=../stage/Components/oracle.swd.jre/1.1.8/1/DataFiles/Expanded/l
inux
+---
+> JRE_LOCATION=/compat/linux/usr/jdk118_v3
+ </programlisting>
+ </listitem>
+ <listitem>
+ <programlisting>3c3
+< SOURCE=../stage/products.jar
+---
+> SOURCE=/cdrom/Disk1/stage/products.jar
+5,6c5,6
+<
JRE_LOCATION=../stage/Components/oracle.swd.jre/1.1.8/1/DataFiles/Expanded/l
inux
+<
OUI_LOCATION=../stage/Components/oracle.swd.oui/1.7.1.8.0/1/DataFiles/Expand
ed
+---
+> JRE_LOCATION=/compat/linux/usr/jdk118_v3
+>
OUI_LOCATION=/cdrom/Disk1/stage/Components/oracle.swd.oui/1.7.1.8.0/1/DataFi
les/Expanded
+ </programlisting>
+ </listitem>
+ </orderedlist>
+ </para>
+
+ <para>To start the installation you need to be running X Windows.
+ Running as the <username>oracle</username> user, issue the following
command:
+ </para>
+ <screen>&prompt.user; <userinput> ./runInstaller
</userinput></screen>
+ <para> The second way to correct <emphasis>source file
location</emphasis> </para>
+ <para> On the next screen set UNIX group name to dba.
+ When prompted, run the script <filename>orainstRoot.sh</filename>
under <username>root</username> account
+ </para>
+ <para>When selecting products to install, do not choose Enterprise
Manager -
+ it's rather unstable even under Linux. You may also deselect
+ Oracle HTTP server, Product Options, and Java Products.
+ <important>
+ <para>Deselection of too many products may cause the installer to
fail.</para>
+ </important>
+ Also choose to NOT use the database configuration assistant.
+ </para>
+
+ <sect3 id="linuxemu-patch-root-8i">
+ <title>Patching root.sh</title>
+
+ <para>When installing Oracle, some actions, which need to be
performed
+ as <username>root</username>, are recorded in a shell script
called
+ <filename>root.sh</filename>. Apply the
+ following patch to root.sh, to have it use the proper command
locations of
+ commands. Before running the script be sure the proper values
+ of <envar>ORACLE_HOME</envar> and <envar>ORACLE_SID</envar> were
set.
+ </para>
+ <programlisting>7c7
+< CHOWN="/bin/chown"
+---
+> CHOWN="/usr/sbin/chown"
+9c9
+< TEST="/usr/bin/test"
+---
+> TEST="/bin/test"
+86c86
+< AWK=/bin/awk
+---
+> AWK=/usr/bin/awk
+88c88
+< CHOWN=/bin/chown
+---
+> CHOWN=/usr/sbin/chown
+92,93c92,93
+< GREP=/bin/grep
+< LBIN=/usr/local/bin
+---
+> GREP=/usr/bin/grep
+> LBIN=/compat/linux/usr/local/bin
+98c98
+< SED=/usr/local/bin/sed
+---
+> SED=/usr/bin/sed
+101c101
+< TEST=/usr/bin/test
+---
+> TEST=/bin/test</programlisting>
+
+ </sect3>
+
+ <sect2>
+ <title>Running Oracle</title>
+
+ <para>When you have followed the instructions, you should be able to
run
+ <application>Oracle</application> as if it were run on Linux
+ itself. Also, you can then patch Oracle to version 8.1.7.3.</para>
+ <sect3>
+ <title>Quick Running Oracle </title>
+ <para> For those who are new to Oracle and want to
+ quickly test installation, perform those steps as the
<username>oracle</username> user</para>
+ <procedure>
+ <step>
+ <screen>&prompt.user; <userinput> cd $ORACLE_HOME/dbs; cp
init.ora initFORA.ora </userinput></screen>
+ <para> Then edit initFORA.ora to set values:</para>
+ <programlisting>db_name=FORA
+control_files = (/ora/data/FORA/ctl1.dbf,
/ora/data/FORA/ctl2.dbf)</programlisting>
+ </step>
+ <step>
+ <screen>&prompt.user; <userinput> svrmgrl </userinput>
+ SVRMGR> <userinput> connect internal </userinput>
+ SVRMGR> <userinput> startup nomount </userinput>
+ SVRMGR> <userinput> CREATE DATABASE FORA
+LOGFILE GROUP 1 ('/ora/data/FORA/log1.dbf') size 1M,
+GROUP 2 ('/ora/data/FORA/log2.dbf') size 1M NOARCHIVELOG CHARACTER SET
CL8KOI8R
+DATAFILE '/ora/data/FORA/system1.dbf' size 50M autoextend on; </userinput>
+ SVRMGR> <userinput> @$ORACLE_HOME/rdbms/admin/catalog.sql
</userinput>
+ SVRMGR> <userinput> @$ORACLE_HOME/rdbms/admin/catproc.sql
</userinput>
+ SVRMGR> <userinput> CREATE TABLESPACE users DATAFILE
'/ora/data/FORA/users1.dbf'
+SIZE 20M AUTOEXTEND ON; </userinput>
+ SVRMGR> <userinput> CREATE TEMPORARY TABLESPACE temp TEMPFILE
'/ora/data/FORA/temp1.dbf'
+SIZE 10M AUTOEXTEND ON; </userinput>
+ SVRMGR> <userinput> CREATE USER scott IDENTIFIED BY tiger
DEFAULT TABLESPACE users
+TEMPORARY TABLESPACE temp; </userinput>
+ SVRMGR> <userinput> GRANT CONNECT, RESOURCE TO scott;
</userinput>
+ SVRMGR> <userinput> CREATE TABLESPACE rbs DATAFILE
'/ora/data/FORA/rbs1.dbf'
+SIZE 5M AUTOEXTEND ON; </userinput>
+ SVRMGR> <userinput> CREATE ROLLBACK SEGMENT rbs01 TABLESPACE
rbs; </userinput>
+ SVRMGR> <userinput> ALTER ROLLBACK SEGMENT rbs01 ONLINE;
</userinput>
+ SVRMGR> <userinput> ALTER ROLLBACK SEGMENT rbs01 ONLINE;
</userinput>
+ SVRMGR> <userinput> connect system/manager </userinput>
+ SVRMGR> <userinput> @$ORACLE_HOME/sqlplus/admin/pupbld.sql
</userinput>
+ SVRMGR> <userinput> connect scott/tiger </userinput>
+ SVRMGR> <userinput> @$ORACLE_HOME/sqlplus/admin/demobld.sql
</userinput>
+ </screen>
+ </step>
+ <step>
+ <para>Edit $ORACLE_HOME/dbs/initFORA.ora:</para>
+ <programlisting>compatible = 8.1.0
+rollback_segments = (rbs01)</programlisting>
+ </step>
+ <step>
+ <para>Now you should be able to connect to Oracle and select
from
+ demonstration tables:</para>
+ <screen>&prompt.user; <userinput> sqlplus scott/tiger
</userinput>
+ SQL> <userinput> SELECT DNAME, ENAME FROM EMP, DEPT
+WHERE EMP.DEPTNO=DEPT.DEPTNO;</userinput>
+ </screen>
+ </step>
+ <step>
+ <para> Since starting Network Configuration Assistant fails,
you need to
+ configure the network manually. You may start from these
sample files
+ (place all of them in
<filename>$ORACLE_HOME/network/admin/</filename>)
+ </para>
+ <programlisting># this is sqlnet.ora
+NAMES.DIRECTORY_PATH=(TNSNAMES, ONAMES, HOSTNAME)
+# listener.ora
+LISTENER =
+ (ADDRESS_LIST=
+ (ADDRESS=(PROTOCOL=tcp)(HOST=freehome)(PORT=1521))
+ (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
+
+SID_LIST_LISTENER=
+ (SID_LIST=
+ (SID_DESC=
+ (GLOBAL_DBNAME=FORA)
+ (SID_NAME=FORA)
+ (ORACLE_HOME=/ora/app)
+ )
+ )
+# tnsnames.ora
+FORA=(DESCRIPTION=
+ (ADDRESS=(PROTOCOL=TCP)(HOST=freehome)(PORT=1521))
+ (CONNECT_DATA=(SID=FORA))
+ )</programlisting>
+ <para> Now you should be able to start the listener:
<command>lsnrctl start</command>
+ and connect through network: <command>sqlplus
scott/tiger@FORA</command>.
+ </para>
+ </step>
+ </procedure>
+ </sect3>
+
+ </sect2>
+ </sect1>
+
<sect1 id="sapr3">
<sect1info>
<authorgroup>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-doc" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210020830.g928U4br000880>
