You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

147 lines
6.4 KiB

This is the OpenPKG Oracle "Barebone" distribution, containing the
Oracle 9i 9.2.0.1 Client CLI and C API. It is a heavily stripped
down installation file set of a standard Oracle 9i Client Run-Time
installation.
The following step-by-step procedure was used to create the source RPM
oracle-barebone-9.2.0.1.src.rpm for use on the sparc64-solaris and
ix86-linux platforms:
1. Download (to your desktop) from http://www.oracle.com/ (or currently
directly on http://otn.oracle.com/software/products/oracle9i/) the
Oracle 9i 9.2.0.1 Distribution CPIO Archives:
desktop$ w3m http://otn.oracle.com/software/products/oracle9i/
553239173 May 10 2003 lnx_920_disk1.cpio.gz
588798999 May 10 2003 lnx_920_disk2.cpio.gz
442087410 May 10 2003 lnx_920_disk3.cpio.gz
502320826 May 10 2003 92010Sol_Disk1.cpio.gz
597226006 May 10 2003 92010Sol_Disk2.cpio.gz
379469467 May 10 2003 92010Sol_Disk3.cpio.gz
Be careful, as the names of the files to download and the structure
of the page change frequently.
Also be aware that the minor release of the product may be different
for all the platforms supported by Oracle.
2. On all target machines (for us a ix86-linux and a sparc64-solaris
server), create an "oracle" user and group plus an empty directory
/oracle which is owned by this user/group. Then copy the Oracle
CPIO archives into /oracle/src and unpack them into the subdirs
/oracle/src/Disk[123].
CAUTION:
Oracle eventually installs different binaries or uses different linker
directives for the different versions of the Solaris operating system.
So if you want to support Solaris 9 and 8 for example, you will have to
do the following steps for every version you need.
target$ mkdir /oracle
target$ mkdir /oracle/src
target$ cd /oracle/src
target$ scp desktop:~/<target-id>[123].cpio.gz .
target$ for i in 1 2 3; do \
gunzip -d -c <target-id>$i.cpio.gz | cpio -idvmu; done
target$ chown -R oracle:oracle /oracle
If gunzip starts complaining it is likely that Oracle again has
supplied files ending in .gz that are not zipped and can be treated
directly with cpio.
3. After making sure that you have a X11 run-time environment available
on both the target machine and your desktop, run the Oracle installer:
target$ DISPLAY=desktop:0
target$ export DISPLAY
target$ cd /oracle/src/Disk1
target$ sh runInstaller
Then follow the dialogs and use "/oracle/oraInventory", the name
"OracleHome" and the path "/oracle/OracleHome" when asked for the
inventory path and the Oracle home name and directory. Then request
the "Oracle 9i Client" product and use type "Run-Time" first. In
the installation overview window make sure the "Oracle Call Interfaces"
and "Oracle Programmer" parts are included. If not, go back and try
the "User defined" configuration.
If this doesn't work, choose to install Oracle Database Server, choose
"User Defined" and then deselect everything than the developer parts.
At the end you need all those Makefiles, Headerfiles and Libs in the
"*/demo" and "*/lib" directories. Especially if you want to link against
those Oracle parts (php, apache....).
Sorry that we can't be more specific here, but what and how to install
to get all necessary parts differs from platform to platform and from
version to version.
4. Optionally, copy a suitable version of "tnsnames.ora" or "sqlnet.ora"
to "/oracle/OracleHome/network/admin/".
5. After all this you have around 200-300MB under /oracle/OracleHome
now. Copy the companion oracle-barebone.pl file into
/oracle/OracleHome/ and run the command (replace the X with the
apropriate version number):
target$ cd /oracle/OracleHome
target$ scp build:<prefix>/RPM/SRC/oracle-barebone/oracle-barebone.pl .
# on Linux target machine only:
target$ perl oracle-barebone.pl 9.2.0.X ix86-linux
# on Solaris target machine only:
target$ perl oracle-barebone.pl 9.2.0.X sparc64-solaris9
or
target$ perl oracle-barebone.pl 9.2.0.X sparc64-solaris8
.
.
.
As a result you get CPIO archives like these ones:
24650873 Dec 18 20:43 oracle-barebone-9.2.0.X.ix86-linux.cpio.bz2
27713659 Dec 18 20:46 oracle-barebone-9.2.0.X.sparc64-solaris9.cpio.bz2
27713659 Dec 18 20:46 oracle-barebone-9.2.0.X.sparc64-solaris8.cpio.bz2
6. Copy the newly-created CPIO archive from all target hosts back to
your OpenPKG build host and build the "oracle-barebone" source RPM:
target$ scp *.cpio.bz2 build:<prefix>/RPM/SRC/oracle-barebone/
build$ cd <prefix>/RPM/SRC/oracle-barebone
Edit the oracle-barebone.spec file so that the version and file names
match your specific needs:
Change the minor Versions in the "Sources" directive to match the cpio
archive's names from the last step.
build$ rpm -bs oracle-barebone.spec
7. Now you can build and install the resulting "oracle-barebone" source
RPM into all target-compatible servers. Just notice that you will still
need to build and install the "oracle" OpenPKG package in order to
satisfy the dependencies of any package requiring "ORACLE".
HINTS:
- The "oracle-barebone" package is intended for mass deployment of
Oracle Clients with the help of OpenPKG with the goal of no longer
requiring X11 for installation and no longer requiring such a lot
of disk space. If you just want to install the Oracle client on
a single box where OpenPKG runs, this is not worth the efforts.
Then stick with the standard Oracle Client installation and use the
"oracle" glue package to locate it.
- In smaller environments the build and target hosts could be the
same machine, of course. Here just forget our above notion of
"build" host.
- In environments where you deploy the "oracle-barebone" package
always into OpenPKG instaces under the same filesystem
prefix, it could be reasonable (to avoid problems with
the linkage of libraries) that you create a symlink from
<prefix>/libexec/oracle-barebone to /oracle/OracleHome and then
use <prefix>/libexec/oracle-barebone instead of /oracle/OracleHome
in the Oracle installer. This way your library dependencies use
already the target paths and you do not have to make sure that the
applications you link against the libraries know about the paths.