Oracle 10gR2 client on SUSE


This document cover the installation on a general SUSE. It has been verified on SLES9 and SUSE 10 (beta 2).

This installation has been quite simple and since it is client only I didn’t use orarun as for the server installation.

Make sure you have the needed packages:
 

  • gcc (on SUSE 10 version 4 is used),
  • glibc-devel,
  • make,
  • openmotif,
  • the base X libraries.

If you are on SLES9 then install even:
 

  • libaio,
  • libaio-devel,
  • orarun.

The last package will simplify the installation processes and the later administration.
It provides the oracle user and groups, the start and stop scripts for your init levels, the environment for the oracle user and the right settings for the kernel parameters (they can later be adjusted.
It even provides some fixes for 9i installation bugs. These can (and should) be avoided for 10g, especially for 10gR2.

Last version of orarun can be found here.

Create the directory tree for the oracle installation (look at the standard OFA): the default is /opt/oracle/product/10g/db_1.
I prefer /u01/app/oracle/product/10.2/db_1
 

linux: # mkdir -p /u01/app/oracle/product/10.2/db_1

Make sure to chenge the ownership of the tree with chown (the owner should be the oracle user while the group oinstall).
 

linux: # chown -r oracle:oinstall /u01/app/oracle

Now you can modify some files in /etc:

  • /etc/passwd: change the shell for the oracle user created by orarun (default is /bin/false);
  • /etc/group: oracle user should already belong to dba, oinstall and disk;
  • /ets/sysconfig/oracle for ORACLE_BASE, ORACLE_HOME, ORACLE_SID and several kernel parameters plus the starting parameter for the oracle script in /etc/init.d (useful during machin boot).
  • /etc/profile.d/oracle.sh (or oracle.csh depending on the shell you chose above). From 10g on I prefer to unset the variables: LD_ASSUME_KERNEL and LD_PRELOAD. It can be done by adding:
    • unset LD_ASSUME_KERNEL
    • unset LD_PRELOAD

before the last “fi” int he script. By unsetting the LD_ASSUME_KERNEL all your program are going to use the last version of the glibc, exploiting the new linux posix thread libraries used heavily by oracle executables. You will see less process around and you’ll get a more stable system (especially for RAC).

If you are not using orarun then follow the below steps otherwise skip them since you already have the oracle user and groups (remember to give a password to your oracle user).

Create two group with groupadd command:
 

groupadd oinstall
groupadd dba

then create the user oracle:
 

useradd -m -G oinstall -g dba oracle

and give it a password:
 

passwd oracle

Now create your installation directory:
 

mkdir -p /u01/app/oracle/product/10.2/client_1
chown -R oracle:oinstall /u01/app/oracle

Connect as oracle and change your environment setting by editing .bashrc.
I ismply added:
 

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2/client_1; export ORACLE_HOME
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P15; export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH

PATH=$ORACLE_HOME/bin:$PATH;export PATH

to my .bashrc.

I prefer .bashrc instead of .profile or .bash_profile since bashrc is read from non-login shell (such x-term opened from a windows manager).

Bahrc is even included in .bash_profile so it is used even for login shell (such a ssh shell).

For LD_ASSUME_KERNEL and LD_PRELOAD: for 10g they are not needed and can even been harmful (using the libthread… especially with RAC is not one of my preferred choice for a production system).

Recconect to the oracle user so you’ll have your new env in place.

Make sure you can open X application (connect with ssh -Y or export the DISPALY variable, or whatever your are used to).
Place yourself in the directory where your instaler is (maybe the cdrom or the directory where you decompressed the tarball download from OTN).

Run the installer as oracle:
 

./runInstaller

remember to add -ignoresysprereqs if you are on a unsupported distrubution like SUSE 10. Now follow the instruction.
It is almost a next-next-next.

I’m attaching some snapshot taken during my installation.

DATABASE CREATION:

Steps for creating a database via dbca:

If you are going to create it above ASM then prepare your raw devices (insert the definition in etc/raw and start the service with /etc/init.d/raw start).
Later you’ll be asked to execute the command:

localconfg add

to enable the CRS components needed by your oracle instance to connect to your ASM (that’s step is different from 10gR1 where the cssd was started by default).

Launch the colomand:

dbca

You are now ready to use your database.

You can decide to connect to it with sqlplus, dbconsole, oracle enterprise manager java console or grid control.
Al this kind of connection are covered in other documents on this website.
(Later I’ll upgrade this document with them).

, , ,