username (usern...@qualcomm.com) wrote:
: Can you explain in details how you installed on linux. I appreciate
: if you can explain step by step.
: thanks,
: venkata kowluri
Ok, below there is a script I created to do a simple install of
the Oracle workgroup server for SCO (the 90-day trial version)
on a linux box. The script asumes you have a user named oracle7
and a group named dba created. It tries to find the home directory of user
oracle7 by analyzing /etc/passwd. If it fails you have to edit the script.
Maybe not all things are setup correctly, but the database runs fine
and the grafical tools too. It was possible to install because we have an
Oracle database running on a SUN in our office, so I knew what to do.
Good luck,
Thomas (m...@guvvt.gth.eunet.de)
-----------
#!/bin/bash
# Here is a simple script to install the Oracle Workgroup Server 7.1
# (90-day trial products v4.1) for SCO on a Linux Box:
# First you have to create a user oracle7 belonging to group dba.
# Choose a home directory for that user like /usr/local/oracle7 and
# make /bin/bash the default login shell.
# Mount the cdrom, don't forget to load the iBCS module.
# Remember to have enough free space (~190 MB).
# change it to your mount point of the cdrom
MOUNTPOINT=/mnt/cdrom
# NOW RUN THIS SCRIPT AS USER root AND HAVE A LOOK AT THE OUTPUT
# IF SOMETHING GOES WRONG, THE SECTIONS ARE SEPARATED BY ---------- LINES
# TO MAKE IT EASIER TO FIND ERRORS
# If you plan to use SQL*Net to access remote databases then keep the
# following in mind:
# SQL*Plus and the the grafical database
# tools only work on the local Database!
# This is because the tcp/ip drivers are not
# linked into the executables by default and
# they cannot because the needed libs are missing!
# But you can use SQLDBA to access a remote database
# and of course you can access the local database
# from other clients ( Windows, NT, OS/2 ... )
# THINGS DON'T NEED TO BE CHANGED BELOW
# see what user you are
USER=`whoami`
if [ ! "$USER" = "root" ];
then
echo 'Please execute this script as root.'
exit 1
fi
# check, if oracle7 user and group dba exist and get oracle home directory
# if it fails set ORACLE_HOME manually
ORACLE_USER=`cat /etc/passwd | grep oracle7 | awk -F: '{print $1}'`
if [ -z $ORACLE_USER ]; then
echo 'A user oracle7 does not exist, please create.'
exit 1
fi
ORACLE_GROUP=`cat /etc/group | grep dba | awk -F: '{print $1}'`
if [ -z $ORACLE_GROUP ]; then
echo 'A group dba does not exist, please create.'
exit 1
fi
ORACLE_HOME=`cat /etc/passwd | grep oracle7 | awk -F: '{print $6}'`
if [ ! -d $ORACLE_HOME ]; then
mkdir $ORACLE_HOME
chown oracle7.dba $ORACLE_HOME
fi
export ORACLE_HOME
# change to sco/server directory on cdrom
until [ -d ${MOUNTPOINT}/sco/server ]
do
echo -n 'Enter mount point of CDROM: '
read MOUNTPOINT
done
cd ${MOUNTPOINT}/sco/server
echo
echo Installing Oracle Workgroup Server for SCO.
echo
# copy files to oracle home directory
# don't copy libs, because they're only required for relinking
echo '----------'
echo copying files to $ORACLE_HOME ...
cp -a backup bin core3 guicommon names $ORACLE_HOME
cp -a network plsql rdbms sqllib sqlplus $ORACLE_HOME
mkdir -p ${ORACLE_HOME}/lib.temp/xpm
cp lib/[A-Z]* ${ORACLE_HOME}/lib.temp
cp -a lib/xpm ${ORACLE_HOME}/lib.temp
mkdir ${ORACLE_HOME}/book
cp orainst/ob2/* ${ORACLE_HOME}/book
cp orainst/sco/*.obd ${ORACLE_HOME}/book
mkdir ${ORACLE_HOME}/dbs
cp dbs/initORCL.ora dbs/orapwORCL dbs/sql.bsq_ ${ORACLE_HOME}/dbs
cp orainst/oiuncomp ${ORACLE_HOME}/bin
chmod 755 ${ORACLE_HOME}/bin/oiuncomp
# change to oracle home directory
cd $ORACLE_HOME
# remove files only required by the "normal" install procedure
echo '-----------'
echo 'removing lib and install directories that are not needed ...'
rm -rf `find . -name install -print`
rm -rf `find . -name lib -print`
rm -f `find . -name YMTRANS.TBL -print`
mv lib.temp lib
# decompress all files ending with _
echo '----------'
echo 'decompressing files ...'
for i in `find . -name "*_" -print`
do
echo -n -e \\r ' '\
' '\\r
echo -n $i
bin/oiuncomp $i
done
rm -f bin/oiuncomp
echo -n -e \\r ' '\
' '\\r
# create some directories oracle needs for running
echo '----------'
echo 'creating additional directories'
mkdir -p rdbms/audit
mkdir -p rdbms/log
mkdir -p network/log
mkdir -p network/trace
ln -s guicommon/tk2 tk2
# change owner and group to oracle7.dba
echo ' ----------'
echo 'fixing permissions ...'
chown -R oracle7.dba *
# fix permissions of bin/*
# (make all files executable)
chmod 755 bin/*
# oracle, lsnrctl, tnslsnr need to be setuid/setgid
chmod u+s,g+s bin/oracle bin/lsnrctl bin/tnslsnr
# the following file is needed for b20runm
echo '----------'
echo creating ${ORACLE_HOME}/bin/online '(needed for online help)'
cat > ${ORACLE_HOME}/bin/online <<END_OF_FILE
#!/bin/sh
export DISPLAY=`hostname`:0.0
export ORACLE_RESOURCE=${ORACLE_HOME}/book
export ORACLE_HELP=${ORACLE_HOME}/book
export TK2_AFM=${ORACLE_HOME}/book
export TK2_PPD=${ORACLE_HOME}/book
export TK2_TERMINAL=${ORACLE_HOME}/book
export TK2_RESOURCE=${ORACLE_HOME}/book
cd ${ORACLE_HOME}/book
./b20runm docindex.obd
END_OF_FILE
chown oracle7.dba ${ORACLE_HOME}/bin/online
chmod 755 ${ORACLE_HOME}/bin/online
# to start the default database with dbstart, you need an /etc/oratab
echo '----------'
echo 'creating /etc/oratab'
echo ORCL:${ORACLE_HOME}:Y > /etc/oratab
chown oracle7.dba /etc/oratab
chmod 644 /etc/oratab
# if you want to use SQL*Net you need /etc/listener.ora and /etc/tnsnames.ora
echo '----------'
echo 'creating a sample /etc/listener.ora'
HOSTNAME=`hostname`
cat > /etc/listener.ora <<END_OF_FILE
LISTENER =
(ADDRESS_LIST =
(ADDRESS=
(PROTOCOL=IPC)
(KEY = test)
)
(ADDRESS =
(PROTOCOL = TCP)
(HOST = ${HOSTNAME})
(PORT = 1521)
)
)
STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
LOG_DIRECTORY_LISTENER = ${ORACLE_HOME}/network/log
LOG_FILE_LISTENER = listener
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME=${ORACLE_HOME})
)
)
TRACE_LEVEL_LISTENER = OFF
END_OF_FILE
chown oracle7.dba /etc/listener.ora
chmod 664 /etc/listener.ora
echo '----------'
echo 'creating a sample /etc/tnsnames.ora'
cat > /etc/tnsnames.ora <<END_OF_FILE
test =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = ${HOSTNAME})
(PORT = 1521)
)
)
(CONNECT_DATA =
(SID = ORCL)
)
)
END_OF_FILE
chown oracle7.dba /etc/tnsnames.ora
chmod 664 /etc/tnsnames.ora
# write a users .profile to set some variables
# ( asuming you are using /bin/bash as login shell for oracle )
echo '----------'
if [ -f .profile ]; then
echo 'appending some variables to .profile'
else
echo creating ${ORACLE_HOME}/.profile
touch .profile
fi
echo export ORACLE_HOME=${ORACLE_HOME} >> .profile
echo export ORACLE_SID=ORCL >> .profile
echo export PATH=$ORACLE_HOME/bin:$PATH >> .profile
chown oracle7.dba .profile
# trying to start the listener
# (only needed if you want to access the database from remote clients)
# echo '----------'
# echo 'trying to start the listener ...'
# su - oracle7 -c "lsnrctl start"
# to create a default database we need to run a script as user oracle7
# therefore we create a file crdb.sh in ${ORACLE_HOME} and run it
echo '----------'
echo creating ${ORACLE_HOME}/crdb.sh
cat > ${ORACLE_HOME}/crdb.sh <<END_OF_FILE
#!/bin/bash
# This script is a concat of crdb.ora and crdb2.ora
# you find them in MOUNTPOINT/sco/server/rdbms/install
exec > sqldba.log 2>&1
sqldba mode=line <<EOF
connect internal
startup nomount pfile=${ORACLE_HOME}/dbs/initORCL.ora
create database "ORCL"
maxinstances 1
maxlogfiles 16
datafile
'${ORACLE_HOME}/dbs/systORCL.dbf' size 5M
logfile
'${ORACLE_HOME}/dbs/log1ORCL.dbf' size 500k,
'${ORACLE_HOME}/dbs/log2ORCL.dbf' size 500k,
'${ORACLE_HOME}/dbs/log3ORCL.dbf' size 500k;
@${ORACLE_HOME}/rdbms/admin/catalog.sql
create rollback segment r0 tablespace system
storage (initial 16k next 16k minextents 2 maxextents 20);
alter rollback segment r0 online;
create tablespace rbs datafile
'${ORACLE_HOME}/dbs/rbsORCL.dbf' size 4M
default storage (
initial 128k
next 128k
pctincrease 0
minextents 2
);
create tablespace temp datafile
'${ORACLE_HOME}/dbs/tempORCL.dbf' size 550k
default storage (
initial 256k
next 256k
pctincrease 0
optimal 1M
);
create tablespace tools datafile
'${ORACLE_HOME}/dbs/toolORCL.dbf' size 5M;
create tablespace users datafile
'${ORACLE_HOME}/dbs/usrORCL.dbf' size 1M;
create rollback segment r01 tablespace rbs;
create rollback segment r02 tablespace rbs;
create rollback segment r03 tablespace rbs;
create rollback segment r04 tablespace rbs;
alter rollback segment r01 online;
alter rollback segment r0 offline;
drop rollback segment r0;
alter user sys temporary tablespace temp;
revoke resource from system;
revoke resource on system from system;
grant resource on tools to system;
alter user system default tablespace tools temporary tablespace temp;
connect system/manager
@${ORACLE_HOME}/rdbms/admin/catdbsyn.sql
@${ORACLE_HOME}/sqlplus/admin/pupbld.sql
exit
EOF
END_OF_FILE
chown oracle7.dba ${ORACLE_HOME}/crdb.sh
chmod 751 ${ORACLE_HOME}/crdb.sh
# Now let's create a default database ( ORCL )
echo '----------'
echo executing ${ORACLE_HOME}/crdb.sh, this will take a while ...
echo output is written to ${ORACLE_HOME}/sqldba.log
su - oracle7 -c crdb.sh
echo 'default database ORCL created.'
# Database should now be up and running
echo '----------'
echo 'Database should now be up and
...
read more »