Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

UNIX Client Connections to Oracle

Status
Not open for further replies.

Michael42

Programmer
Oct 8, 2001
1,454
US
Hello,

1. In a Sun Solaris 8 environment we use an OS account called "oracle" for the installation of Oracle. We also have a corresponding "dba" group. In an environment with multiple Sun servers with Oracle databases on the network some would say the "oracle" account should reside in NIS while others contend that their should be a local "oracle" account on each oracle database server system. In this very common environment what would you recommend and why?

2. For Sun systems that required client access via user OS accounts to oracle (to run sqlplus etc.) would it be best to:

a. Install the oracle client software on every workstation and configure a separate tnsnames.ora on every client?

b. Install oracle for the purpose of client connections on a server and export\share the NFS mount point so others can access both the Oracle client software AND the tnsnames.ora from an NFS mountpoint?

Thanks,

Michael42
 
Michael,

Any of the options you present seem reasonable. In my environment, we

1) use the NIS option
2) use the "on-every-workstation" option. Although the NFS-mount option is very efficient from a disk storage and tnsnames.ora-update perspective, we chose the "on-every-workstation" alternative in case access to the NFS-mount-point fails, but access to the remote database remains viable.

In any case, no one will fault you for any of the choices you assert.

[santa]Mufasa
(aka Dave of Sandy, Utah, USA)
[ Providing low-cost remote Database Admin services]
Click here to join Utah Oracle Users Group on Tek-Tips if you use Oracle in Utah USA.
 
Michael,

Your best option is to install oracle UNIX account on NIS and Oracle binaries locally. Keep your scripts etc on the NIS account. This will allow you to share the scripts across multiple hosts.

For example below we have instaled Oracle loggin as NIS:

oracle@lntrs164:/home/oracle% uname -a
SunOS lntrs164 5.8 Generic_117350-05 sun4u sparc SUNW,Sun-Fire-280R
oracle@lntrs164:/home/oracle% df -k .
Filesystem kbytes used avail capacity Mounted on
uslovfs2:/vol/vol4/users
200479708 182270144 18209564 91% /cm/users

and $ORACLE_BASE is installed on /opt/oracle locally and $ORACLE_HOME is as below:

oracle@lntrs164:/home/oracle% cd $ORACLE_HOME
oracle@lntrs164:/opt/oracle/product/9.2.0% df -k .
Filesystem kbytes used avail capacity Mounted on
/dev/md/dsk/d34 4133838 3786581 305919 93% /opt

For client access it is best to install Oracle client software on an NFS account. This will allow the aplications to see this NFS mount partitrion and set their $ORACLE_HOME accordingly. This will enable everyone to share the same tnsnames.ora file, which will make upgrade of client software and maintenance far simpler as there is only one central tnsnmaes.ora file.

Additionally create a configuration file for each Oracle instance on the same host and put it in $HOME/oracle_environments like below:

oracle@lntrs164:/opt/oracle/product/9.2.0% cd
oracle@lntrs164:/home/oracle% cd oracle_environments
oracle@lntrs164:/home/oracle/oracle_environments% ls

USSOPH.conf USSOPHD.conf

oracle@lntrs164:/home/oracle/oracle_environments% cat USSOPH.conf
#!/bin/ksh
#
# Program: USSOPH.conf
# Type: Server specific
# Description: This script will be modified on each site to contain the correct
# values to be held in environment variables. This script is
# called from every other script to ensure that the correct
# environment has been defined for their execution.
# Version: 1.0
#
# Modified:
#

###################################
# Modify the following lines only

#ulimit -p 16384
#ulimit -n 63536
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=${ORACLE_BASE}/product/9.2.0
export ORACLE_OWNER=oracle
export ORACLE_SID=USSOPH
export TNS_ADMIN=${ORACLE_HOME}/config/10.1.0
export ORA_NLS10=${ORACLE_HOME}/nls/data
export DISABLE_HUGETLBFS=1
export SYSTEM=TEST
export SQLPATH=/home/oracle/dba/bin
###################################

export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${ORACLE_HOME}/network/lib:/lib:/usr/lib:/usr/ucblib:/usr/local/lib

###################################

GENERIC_ROOT=/cm/scripts/sqlplus/generic
SPECIFIC_ROOT=/cm/scripts/sqlplus/generic

export GEN_APPSDIR=$GENERIC_ROOT/bin
export GEN_LOGDIR=$GENERIC_ROOT/log
export GEN_ETCDIR=$GENERIC_ROOT/etc
export GEN_ENVDIR=$GENERIC_ROOT/env
export GEN_ADMINDIR=$GENERIC_ROOT/admin
export PASSFILE=$GENERIC_ROOT/.ora_accounts


export ADMINDIR=$SPECIFIC_ROOT/admin
export TMPDIR=/var/tmp
export LOGDIR=/var/tmp
export ETCDIR=$SPECIFIC_ROOT/etc
export HTMLDIR=$SPECIFIC_ROOT/html
export APPSDIR=$SPECIFIC_ROOT/bin

export INIT_FILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora
export SP_FILE=${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora

PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/bin/X11:/usr/X11R6/bin:${ORACLE_HOME}:${ORACLE_HOME}/bin:${HOM
E}/dba/bin:/cm/scripts/sqlplus/generic

export PS1=`hostname`:'($ORACLE_SID)$ '

Hope this helps
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top