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>