Date: Tue, 1 Oct 2002 06:20:07 -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: <200210011320.g91DK7WT006666@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR docs/42058; it has been noted by GNATS.
From: Khorev Sergey <Khorev@SoftLab.RU>
To: "'freebsd-gnats-submit@FreeBSD.org'" <freebsd-gnats-submit@FreeBSD.org>,
Khorev Sergey <Khorev@SoftLab.RU>
Cc:
Subject: Re: docs/42058: Documentation: Installing Oracle 8i onto FreeBSD
Date: Tue, 1 Oct 2002 17:30:02 +0400
If a patch form is preferred there is one:
RCS file:
/home/ncvs/doc/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml,v
diff -r1.76 chapter.sgml
927a928,1244
> <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>
>
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?200210011320.g91DK7WT006666>
