LOCATION :
SIGNIFICANCE :
IMPORTANT POINTS :
FILE :
#########################################################################################################
#!/usr/bin/ksh
# $Header: adpwdctl.sh.UNIX 115.5 2001/12/19 18:11:34 $"
# *===========================================================================+
# | Copyright (c) xxxxxx xxxxxxx xxxxxxx xxxxx |
# | All rights reserved |
# | Applications Division |
# +===========================================================================+
# |
# |
# | FILENAME
# | adpwdctl.sh
# |
# | DESCRIPTION
# | Change APPS and ORACLE USER passwords for Oracle 11i.
# |
# | USAGE
# | adpwdctl.sh <Database Server> <Forms Server>
# | adpwdctl.sh <Instance Name> <APPS password> <SYSTEM password>
# | adpwdctl.sh <new_APPS password> <new_ORACLE password>
# |
# | PLATFORM
# | Unix Generic
# |
# | NOTES MUST RUN AS APPLMGR.
# | NOTES start as adpwdctl.sh update or start.
# | NOTES update will allow you to change APPS and all SCHEMA passwords.
# | NOTES there will be one new APPS password and one new SCHEMA password.
# | NOTES this shell will shutdown apps side and server side functions.
# |
# | HISTORY
# |
# +===========================================================================+
header_string="$Header: adpwdctl.sh.UNIX 115.5 2001/12/19 18:11:34 $"
prog_version=`echo "$header_string" | awk '{print $3}'`
program=`basename $0`
usage="\t$program <Instance Name> <APPS pass> <SYSTEM pass> <new_APPS pass> <new_ORACLE pass>"
THIS_SERVER=`uname -n`
APPSCTL_HOME=/usr/local/bin
DBTIER_SERVER="NO"
APPS_SERVER="NO"
PATH=$PATH:/sbin:/usr/sbin:/usr/bin
TEMP_DIR="/tmp"
if [ ! -r /etc/oratab ];then
echo "ERROR oratab not found in /etc..."
exit -1
fi
#**************************************************************************
chk_runner () #checks who is running this program.
{
if [ $LOGNAME != "applmgr" ];then
echo " "
echo " "
echo " $program : You must be logged on................"
echo " $program : as APPLMGR to execute this programe.."
echo " $program : Quitting..No change done............."
echo " "
echo " "
exit -1
fi
}
#
#**************************************************************************
check_inpt () #$1 argument
{
if [ $# -lt 1 ];then
echo " $program : Null/Blank Entry ........"
echo " $program : Quitting..No change done."
echo " "
exit -1
fi
}
#
#**************************************************************************
check_inpt1 () #$1 argument
{
typeset -L1 ans
ans="$1"
case "$ans"
in
[0-9] ) echo " ";
echo " $program : $1 is an illegal password";
echo " $program : Numeric first letter.....";
echo " $program : Quitting..No change done.";
echo " ";
exit -1 ;;
[a-z] ) echo "ok";;
[A-Z] ) echo "OK";;
* ) echo " ";
echo " $program : $1 is an illegal password";
echo " $program : Numeric first letter.....";
echo " $program : Quitting..No change done.";
echo " ";
exit -1 ;;
esac
echo ""
}
#**************************************************************************
chk_dbts_server () # $1 sid
{
grep "$1" /etc/oratab | grep -v '^#' > /dev/null 2>&1
if [ $? -eq 0 ];then
DBTIER_SERVER="YES"
PWD_CNTRL_FILE="$TEMP_DIR/$THIS_SERVER.$1.$$"
echo $PWD_CNTRL_FILE ;
else
echo " "
echo " "
echo " $program : Invalid Instance Name...."
echo " $program : for this server (dbtier)."
echo " $program : Quitting..No change done."
echo " "
exit -1
fi
}
#
#**************************************************************************
chk_fndcpass () # $1 sid
{
FNDFILE="$FND_TOP/bin/FNDCPASS"
if [ ! -f $FNDFILE ]; then
echo " "
echo " "
echo "$program : FNDCPASS file for database "$1" is not found."
echo "$program : Quitting..No change done."
echo " "
exit -1 ;
fi
}
#
#**************************************************************************
check_inpt3 () # $1 sid
{
# setup the environment for Oracle and Applications
#
DB_ENVFILE="/usr/local/bin/"$1".env"
if [ ! -f $DB_ENVFILE ]; then
echo " "
echo " "
echo "$program : Environment file for database "$1" is not found."
echo "$program : Quitting..No change done."
echo " "
exit -1 ;
else
. $DB_ENVFILE
fi
}
#
#**************************************************************************
check_inpt2 ()
{
cd $ORACLE_HOME
sqlplus -s <<-EOF >/tmp/$2cmc.out$$ 2>&1
"$2"/"$1"
select user from dual;
exit
EOF
cmc_up=` grep -i "$2" /tmp/$2cmc.out$$ | wc -l `
if [ $cmc_up -eq 0 ]
then
echo " "
echo "$program : "$1" is an incorrect password for $2.."
echo "$program : Quitting..No change done."
echo " "
exit -1 ;
fi
}
#
#**************************************************************************
updtsetup ()
{
chk_runner
echo ""
echo "**"
#echo "** NOTE YOU MUST MANUALY CHANGE START_APPL AND STOP_APPL AS THEY ARE OWNED BY ORACLE "
#echo "** NOTE YOU MUST MANUALY CHANGE START_APPL AND STOP_APPL AS THEY ARE OWNED BY ORACLE "
#echo "** NOTE YOU MUST MANUALY CHANGE START_APPL AND STOP_APPL AS THEY ARE OWNED BY ORACLE "
echo ""
echo "**"
echo "** Please enter Database Server NAME (SERVER NAME) \c "
read dbsnam
dbhost="$dbsnam"
echo ""
echo "**"
echo "** Please enter Forms Server NAME (FORMS NAME) \c "
read appsnam
appshost="$appsnam"
echo ""
echo "**"
echo "** Please enter Instance Name (ORACLE_SID) \c "
read insnam
DB_NAME="$insnam"
check_inpt $DB_NAME
check_inpt3 $DB_NAME
chk_dbts_server $DB_NAME
chk_fndcpass $DB_NAME
chk_apps_server $DB_NAME
echo "**"
echo ""
echo "**"
echo "** Please enter APPS/APPLSYS Current Password. \c "
read appscp
unpd1="$appscp"
check_inpt $unpd1
check_inpt2 $unpd1 "APPS"
echo "**"
echo ""
echo "**"
echo "** Please enter Systems Manager Password. \c "
read sysp
unpd2="$sysp"
check_inpt $unpd2
check_inpt2 $unpd2 "SYSTEM"
echo "**"
echo ""
echo "**"
echo "** Please enter APPS/APPLSYS New Password . \c "
read appnp
unpd3="$appnp"
check_inpt $unpd3
check_inpt1 $unpd3
typeset -u upper_pwd
upper_pwd="$unpd3"
echo "**"
echo ""
echo "**"
echo "** Please enter Oracle User New Password.. \c "
read orclp
unpd4="$orclp"
check_inpt $unpd4
check_inpt1 $unpd4
echo ""
echo "**"
#echo "** Please enter System Admin New Password.. \c "
#read sadmp
#unpd5="$sadmp"
#check_inpt $unpd5
#check_inpt1 $unpd5
PWD_CNTRL_FILE="$TEMP_DIR/$THIS_SERVER.$DB_NAME.$$"
echo ""
echo "**"
echo "**"
echo $PWD_CNTRL_FILE
echo "**"
echo ""
echo ""
#
ret_code=$?
if [ $ret_code -ne 0 ];then
echo " updtsetup -- Failed ! Return Code $ret_code"
fi
echo Done $0
}
#
#**************************************************************************
startup ()
{
chk_runner
echo ""
echo "**"
echo "** Please enter Instance Name (ORACLE_SID) \c "
read insnam
DB_NAME="$insnam"
check_inpt $DB_NAME
check_inpt3 $DB_NAME
chk_dbts_server $DB_NAME
chk_apps_server $DB_NAME
echo ""
echo ""
echo "**"
echo "**"
echo "** Please enter APPS/APPLSYS New Password . \c "
read appnp
unpd3="$appnp"
check_inpt $unpd3
check_inpt1 $unpd3
check_inpt2 $unpd3 "APPS"
PWD_CNTRL_FILE="$TEMP_DIR/$THIS_SERVER.$DB_NAME.$$"
echo ""
echo "**"
echo "**"
echo $PWD_CNTRL_FILE
echo "**"
echo ""
echo ""
#
ret_code=$?
if [ $ret_code -ne 0 ];then
echo " startup -- Failed ! Return Code $ret_code"
fi
echo Done $0
}
#
#**************************************************************************
stop_ap_dbtier() #$1 sid
{
#$APPSCTL_HOME/stop_appl_dbtier $1 #assuming dbtier will be started / stopped locally
ret_code=0
if [ $ret_code -ne 0 ];then
echo "$0 $1 stop_ap_dbtier -- Failed ! Return Code $ret_code"
fi
}
#
#**************************************************************************
start_ap_dbtier() #$1 sid
{
#
ps -f
#$APPSCTL_HOME/start_appl_dbtier $1 #assuming dbtier will be started / stopped locally
ret_code=0
if [ "$ret_code" -ne 0 ];then
echo "$0 $1 start_ap_dbtier -- Failed ! Return Code $ret_code"
fi
}
#
#**************************************************************************
local_aptr01() #$1 DB_NAME $2 password/other argument
# $3 message to control_file
{
stop_ap_appstier $DB_NAME
chk_apps_stop
updt_cntrl_file $appshost "STOPPED" $PWD_CNTRL_FILE
}
#
#**************************************************************************
local_aptr02() #$1 DB_NAME $2 password/other argument
# $3 message to control_file
{
updt_apps_pwfiles $DB_NAME
updt_cntrl_file $appshost "UPDATED" $PWD_CNTRL_FILE
}
# $4 message to control_file
#**************************************************************************
local_aptr03() #$1 DB_NAME $2 password/other argument
# $3 message to control_file
{
start_ap_appstier $DB_NAME
chk_apps_start
updt_cntrl_file $appshost "STARTED" $PWD_CNTRL_FILE
}
#
#**************************************************************************
dbt_to_apps01() #$1 apps_step_no $2 DB_NAME $3 password/other argument
# $4 message to control_file
{
PROG_NAME="$APPSCTL_HOME/adpwdctl.sh"
for ap_ent
do
username="$LOGNAME"
sid="$insnam"
dbhost="$dbhost"
appshost="$appsnam"
if [ -f $PWD_CNTRL_FILE ]; then
grep -v "$appshost" $PWD_CNTRL_FILE > /tmp/pwd_temp$$
if [ -f /tmp/pwd_temp$$ ]; then
mv /tmp/pwd_temp$$ $PWD_CNTRL_FILE
fi
fi
echo "$2:$appshost:$4:`date` " >> $PWD_CNTRL_FILE
if [ "$THIS_SERVER" = "$appshost" ];then
if [ "$dbhost" = "$appshost" ];then
local_$1 $2 $3 $PWD_CNTRL_FILE
fi
else
remsh $appshost.ami.corp.com $PROG_NAME $1 $2 $3 $PWD_CNTRL_FILE $dbhost $appsnam
fi
done
}
#
#**************************************************************************
chk_dbt_stop ()
{
xx=0
until [ $xx -eq 0 ]
do
echo ""
echo ""
echo "Checking whether server processes have shut down yet ....."
echo ""
echo $TWO_TASK
echo $FND_TOP
echo ""
sleep 30
sqlplus -s <<-EOF >/tmp/stpdbt.out$$ 2>&1
apps/$unpd1
select user from dual;
set heading off;
set feedback off;
set pagesize 1000;
@$FND_TOP/sql/afimchk.sql
exit
EOF
cmc_up=` grep "Internal" /tmp/stpdbt.out$$ | wc -l `
rep_up=`ps -ef | grep "REP60_" | grep "$TWO_TASK" | \
grep -v grep | wc -l `
lis_up=`ps -ef | grep "APPS_$TWO_TASK" | grep "tnslsnr" | \
grep -v grep | wc -l `
echo $lis_up
echo $cmc_up
echo $rep_up
if [ $lis_up -eq 0 -a \
$cmc_up -eq 0 -a \
$rep_up -eq 0 ]
then
xx=0
fi
done
if [ -f /tmp/stpdbt.out$$ ]
then
rm /tmp/stpdbt.out$$
fi
ret_code=0
if [ $ret_code -ne 0 ];then
echo "$0 chk_dbt_stop -- Failed ! Return Code $ret_code"
fi
}
#
#**************************************************************************
chk_dbt_start ()
{
xx=1
until [ $xx -gt 0 ]
do
echo ""
echo ""
echo "Checking whether server processes have started yet ....."
echo ""
ps
echo $TWO_TASK
echo $FND_TOP
echo ""
sleep 30
sqlplus -s <<-EOF >/tmp/strdbt.out$$ 2>&1
apps/$unpd3
select user from dual;
set heading off;
set feedback off;
set pagesize 1000;
@$FND_TOP/sql/afimchk.sql
exit
EOF
cmc_up=` grep "Internal" /tmp/strdbt.out$$ | wc -l `
rep_up=`ps -ef | grep "REP60_" | grep "$TWO_TASK" | \
grep -v grep | wc -l `
lis_up=`ps -ef | grep "APPS_$TWO_TASK" | grep "tnslsnr" | \
grep -v grep | wc -l `
echo $lis_up
echo $cmc_up
echo $rep_up
if [ $lis_up -gt 0 -a \
$rep_up -gt 0 ]
then
xx=1
fi
done
if [ -f /tmp/strdbt.out$$ ]
then
rm /tmp/strdbt.out$$
fi
ret_code=0
if [ $ret_code -ne 0 ];then
echo "$0 chk_dbt_start -- Failed ! Return Code $ret_code"
fi
}
#
#**************************************************************************
updt_dbts_pwfiles () # $1 sid
{
if [ "$DBTIER_SERVER" = YES ]; then
echo ""
echo ""
echo "Creating dynamic script for changing passwords ....."
echo ""
echo ""
sqlplus -s <<-EOF >adprpwd.out
applsys/$unpd1
select user from dual;
drop table fnd_user_backup;
drop table fnd_oracle_userid_backup;
create table fnd_user_backup
as
select * from fnd_user;
create table fnd_oracle_userid_backup
as
select * from fnd_oracle_userid ;
set heading off;
set feedback off;
set pagesize 1000;
spool adprpwd.lst
prompt FNDCPASS APPS/$unpd1 0 Y SYSTEM/$unpd2 SYSTEM APPLSYS $unpd3
prompt FNDCPASS APPS/$unpd1 0 Y SYSTEM/$unpd2 USER XXMWADBAADMIN $unpd3
select 'FNDCPASS APPS/$unpd3 0 Y SYSTEM/$unpd2 ORACLE '||oracle_username||' $unpd4'
from FND_ORACLE_USERID
where upper(oracle_username) not in
(
'APPS',
'APPLSYS',
'APPLSYSPUB',
'OAI',
'XXOAI',
'XXTIB',
'XXTIB_ADMIN',
'XXOAI_ADMIN'
)
order by 1;
spool off;
exit
EOF
chmod 751 adprpwd.lst
ls -l adprpwd.lst
. adprpwd.lst
#rm adprpwd.lst
#
typeset -u upper_pwd
upper_pwd="$unpd3"
echo " dbtier $upper_pwd "
cd $ORACLE_HOME
cd ../iAS/Apache/modplsql/cfg
if [ $? -eq 0 ]
then
if [ -f wdbsvr.app ]
then
cp wdbsvr.app wdbsvr.app.o
cp wdbsvr.app /tmp/wdbsvr1$$
sed "/password/s/= .*$/= $upper_pwd/g" /tmp/wdbsvr1$$ >/tmp/wdbsvr2$$
rm /tmp/wdbsvr1$$
if [ -f /tmp/wdbsvr2$$ ]
then
mv /tmp/wdbsvr2$$ wdbsvr.app
chmod 751 wdbsvr.app
fi
fi
fi
cd $ORACLE_HOME/reports60/server
if [ $? -eq 0 ]
then
if [ -f CGIcmd.dat ]
then
cp CGIcmd.dat CGIcmd.dat.o
cp CGIcmd.dat /tmp/cgicmd1$$
sed "s/=APPS\/.*\@/=APPS\/$upper_pwd@/g" /tmp/cgicmd1$$ >/tmp/cgicmd2$$
rm /tmp/cgicmd1$$
if [ -f /tmp/cgicmd2$$ ]
then
mv /tmp/cgicmd2$$ CGIcmd.dat
chmod 751 CGIcmd.dat
fi
fi
fi
#
cd $APPL_TOP
if [ $? -eq 0 ]
then
if [ -f .ebssecure ]
then
echo ""$unpd3"" >> /tmp/ebsnewps$$
mv /tmp/ebsnewps$$ .ebssecure
chmod 600 .ebssecure
fi
fi
ret_code=0
#
updt_dbt_usr_files
ret_code=0
fi
#
if [ $ret_code -ne 0 ];then
echo ""
echo ""
echo "$0 updt_dbts_pwfiles -- Failed ! Return Code $ret_code"
echo ""
echo ""
fi
#
}
#
#**************************************************************************
chk_apps_server() #$1 sid
{
#
for ap_ent
do
appshost="$appsnam"
if [ "$THIS_SERVER" = "$appshost" ]; then
APPS_SERVER="YES"
dbhost="$dbhost" ;
fi
done
#
#
if [ "$APPS_SERVER" = YES ]; then
grep "FORMS_PORT=" $SCRIPTS/adfrmctl.sh > /tmp/pwd$$
grep "FMS_DATA_PORT=" $SCRIPTS/adfmsctl.sh >> /tmp/pwd$$
grep "FMS_REQ_PORT=" $SCRIPTS/adfmsctl.sh >> /tmp/pwd$$
grep "FMS_HOST=" $SCRIPTS/adfmcctl.sh >> /tmp/pwd$$
. /tmp/pwd$$
fi
#
}
#
#
#**************************************************************************
start_apps () # $1 sid $2 new password
{
DB_NAME="$1"
check_inpt $DB_NAME
check_inpt3 $DB_NAME
chk_apps_server $DB_NAME
unpd3="$2"
check_inpt $unpd3
check_inpt1 $unpd3
ret_code=0
if [ $ret_code -ne 0 ];then
echo " start_apps -- Failed ! Return Code $ret_code"
fi
PRG1="$APPSCTL_HOME/adpwdctl.sh"
}
#
#
#**************************************************************************
stop_ap_appstier() #$1 sid
#
#{
#
#if [ "$APPS_SERVER" = YES ]; then
#
# $APPSCTL_HOME/stop_appl_appstier $DB_NAME
#fi
#
#}
#
#
#**************************************************************************
start_ap_appstier() #$1 sid
#
#{
#
#if [ "$APPS_SERVER" = YES ]; then
#
# $APPSCTL_HOME/start_appl_appstier $DB_NAME
#fi
#
#
#}
#
#
#**************************************************************************
chk_apps_start ()
#
{
#
if [ "$APPS_SERVER" = YES ]; then
#
xk=1
until [ $xk -gt 0 ]
do
echo ""
echo ""
echo "Checking whether Apps Server processes have STARTED successfully......"
echo ""
echo ""
sleep 10
apache_up=`ps -ef | grep "Apache" | grep "$TWO_TASK" | \
grep -v grep | wc -l `
frm_up=`ps -ef | grep "$FORMS_PORT" | grep "f60webmx" | \
grep -v grep | wc -l `
fsm_up=`ps -ef | grep "$FMS_DATA_PORT $FMS_REQ_PORT" | \
grep -v grep | wc -l `
fcm_up=`ps -ef | grep "$FMS_HOST $FMS_DATA_PORT" | \
grep -v grep | wc -l `
tcf_up=`ps -ef | grep "$COMMON_TOP" | grep "jre" | \
grep -v grep | wc -l `
echo $FORMS_PORT
echo $FMS_DATA_PORT
echo $COMMON_TOP
echo $FMS_HOST
echo $FMS_REQ_PORT
echo $apache_up
echo $frm_up
echo $fsm_up
echo $fcm_up
echo $tcf_up
if [ $apache_up -gt 0 -a \
$frm_up -gt 0 -a \
$fsm_up -gt 0 -a \
$fcm_up -gt 0 ]
then
xk=1
fi
done
#
fi
#
ret_code=0
if [ $ret_code -ne 0 ];then
echo "$0 chk_apps_start -- Failed ! Return Code $ret_code"
fi
}
#
#**************************************************************************
chk_status () # $1 staus_code
#
{
#
x_chk=0
until [ $x_chk -eq 0 ]
do
echo ""
echo ""
echo "Checking whether All servers are ....$1....."
echo ""
echo ""
sleep 10
echo "$1 $PWD_CNTRL_FILE"
chk_stat=` grep -v "$1" $PWD_CNTRL_FILE | wc -l `
echo $chk_stat
if [ $chk_stat -eq 0 ]
then
x_chk=0
fi
done
#
#
#
}
#
#**************************************************************************
chk_apps_stop ()
#
{
#
if [ "$APPS_SERVER" = YES ]; then
#
xx=0
until [ $xx -eq 0 ]
do
echo ""
echo ""
echo "Checking whether server processes have shut down ....."
echo ""
echo ""
sleep 30
apache_up=`ps -ef | grep "Apache" | grep "$TWO_TASK" | \
grep -v grep | wc -l `
frm_up=`ps -ef | grep "$FORMS_PORT" | grep "f60webmx" | \
grep -v grep | wc -l `
fsm_up=`ps -ef | grep "$FMS_DATA_PORT $FMS_REQ_PORT" | \
grep -v grep | wc -l `
fcm_up=`ps -ef | grep "$FMS_HOST $FMS_DATA_PORT" | \
grep -v grep | wc -l `
tcf_up=`ps -ef | grep "$COMMON_TOP" | grep "jre" | \
grep -v grep | wc -l `
echo $FORMS_PORT
echo $FMS_DATA_PORT
echo $COMMON_TOP
echo $FMS_HOST
echo $FMS_REQ_PORT
echo $apache_up
echo $frm_up
echo $fsm_up
echo $fcm_up
echo $tcf_up
if [ $apache_up -eq 0 -a \
$frm_up -eq 0 -a \
$fsm_up -eq 0 -a \
$fcm_up -eq 0 -a \
$tcf_up -eq 0 ]
then
xx=0
fi
done
#
#
#
fi
#
}
#
#**************************************************************************
updt_apps_pwfiles () #$1 sid $2 new password
{
unpd3="$2"
typeset -u uppnp
uppnp="$unpd3"
if [ "$APPS_SERVER" = "$APPS_SERVER" ]; then
cd $ORACLE_HOME
cd $ORACLE_HOME/../iAS/Apache/modplsql/cfg
if [ $? -eq 0 ]
then
if [ -f wdbsvr.app ]
then
cp wdbsvr.app wdbsvr.app.o
cp wdbsvr.app /tmp/wdbsvr1$$
sed "/password/s/= .*$/= $uppnp/g" /tmp/wdbsvr1$$ >/tmp/wdbsvr2$$
rm /tmp/wdbsvr1$$
if [ -f /tmp/wdbsvr2$$ ]
then
mv /tmp/wdbsvr2$$ wdbsvr.app
chmod 751 wdbsvr.app
fi
fi
fi
#
#
#
#
cd $ORACLE_HOME/reports60/server
if [ $? -eq 0 ]
then
if [ -f CGIcmd.dat ]
then
cp CGIcmd.dat CGIcmd.dat.o
cp CGIcmd.dat /tmp/cgicmd1$$
sed "s/=APPS\/.*\@/=APPS\/$uppnp@/g" /tmp/cgicmd1$$ >/tmp/cgicmd2$$
rm /tmp/cgicmd1$$
if [ -f /tmp/cgicmd2$$ ]
then
mv /tmp/cgicmd2$$ CGIcmd.dat
chmod 751 CGIcmd.dat
fi
fi
fi
ret_code=0
cd $APPL_TOP
if [ $? -eq 0 ]
then
if [ -f .ebssecure ]
then
cp .ebssecure /tmp/ebscmd1$$
echo " "$unpd3"" >> /tmp/ebsnewps$$
#sed -f /tmp/ebsnewps$$ > /tmp/ebsout$$
mv /tmp/ebsnewps$$ .ebssecure
chmod 600 .ebssecure
fi
fi
ret_code=0
fi
if [ $ret_code -ne 0 ];then
echo ""
echo ""
echo "$0 updt_apps_pwfiles -- Failed ! Return Code $ret_code"
echo ""
echo ""
fi
}
#
#**************************************************************************
updt_dbt_usr_files () # $1 filename
{
updt_usr_cntrl_file start_appl start
updt_usr_cntrl_file start_appl1 start
updt_usr_cntrl_file start_appl_dbtier start
updt_usr_cntrl_file stop_appl stop
updt_usr_cntrl_file stop_appl1 stop
updt_usr_cntrl_file stop_appl_dbtier stop
}
#
#**************************************************************************
updt_usr_cntrl_file () # $1 filename $2 start/stop
{
fl_name="$1"
stpsrt="$2"
xy="${DB_NAME} )"
cd $APPSCTL_HOME
if [ $? -eq 0 ]
then
if [ -f $fl_name ]
then
cp $fl_name ${fl_name}.o
cp $fl_name /tmp/strtapl$$
xa=`grep " $DB_NAME " /tmp/strtapl$$ | grep "adcmctl.sh" | wc -l`
if [ $xa -gt 0 ]
then
sed "/ $DB_NAME /s/adcmctl.*$/adcmctl.sh apps\/$unpd3 $stpsrt ;;/g" /tmp/strtapl$$ > /tmp/startout$$
else
echo "/\\*/i\\" > /tmp/newps$$
echo " "$xy" ./adcmctl.sh apps/"$unpd3" $stpsrt ;;" >> /tmp/newps$$
if [ -f /tmp/newps$$ ]
then
sed -f /tmp/newps$$ /tmp/strtapl$$ > /tmp/startout$$
rm /tmp/newps$$
fi
fi
# if [ -f /tmp/startout$$ ]
# then
# mv /tmp/startout$$ $fl_name
# chmod 750 $fl_name
# fi
rm /tmp/strtapl$$
fi
fi
}
#
#**************************************************************************
updt_cntrl_file ()
{
#
if [ -f "$3" ]
then
cp "$3" /tmp/pwd_temp2$$
sed "/$1/s/$1\:.*$/$1\:$2\:`date`/g" /tmp/pwd_temp2$$ >/tmp/pwd_temp3$$
if [ -f /tmp/pwd_temp3$$ ]
then
mv /tmp/pwd_temp3$$ "$3"
fi
fi
}
#
#**************************************************************************
mode=$1
#************************************************************
if [ "$mode" = "aptr01" ]; then
appshost="$6"
dbhost="$5"
appsid="$2"
appnp="$3"
start_apps $appsid $appnp
stop_ap_appstier $DB_NAME
chk_apps_stop
remsh $dbhost.ami.corp.com $PRG1 "dbtr01" $appshost "STOPPED" $4
fi
#
#***********************************************************
if [ "$mode" = "aptr02" ]; then
appshost="$6"
dbhost="$5"
appsid="$2"
appnp="$3"
start_apps $appsid $appnp
updt_apps_pwfiles "$2" "$3"
remsh $dbhost.ami.corp.com $PRG1 "dbtr01" $appshost "UPDATED" $4
fi
#
#
#***********************************************************
if [ "$mode" = "aptr03" ]; then
appshost="$6"
dbhost="$5"
appsid="$2"
appnp="$3"
start_apps $appsid $appnp
start_ap_appstier $DB_NAME
chk_apps_start
remsh $dbhost.ami.corp.com $PRG1 "dbtr01" $appshost "STARTED" $4
fi
#
#
#**************************************************************************
if [ "$mode" = "update" ]; then
if [ $# -lt 1 ];then
echo "Error : Insufficient arguments .."
echo "Usage $0 [start|update|restore]"
exit -1
fi
#
updtsetup
stop_ap_dbtier $DB_NAME
chk_dbt_stop
dbt_to_apps01 "aptr01" $DB_NAME $unpd3 "OKTOSTOP"
chk_status "STOPPED"
updt_dbts_pwfiles $DB_NAME
dbt_to_apps01 "aptr02" $DB_NAME $unpd3 "OKTOUPDATE"
chk_status "UPDATED"
fi
#**************************************************************************
if [ "$mode" = "start" ]; then
if [ $# -lt 1 ];then
echo "Error : Insufficient arguments .."
echo "Usage $0 [start|update|restore]"
exit -1
fi
#
startup
start_ap_dbtier $DB_NAME
chk_dbt_start
dbt_to_apps01 "aptr03" $DB_NAME $unpd3 "OKTOSTART"
chk_status "STARTED"
fi
##**************************************************************************
if [ "$mode" = "dbtr01" ]; then
updt_cntrl_file $2 $3 $4
fi
#**************************************************************************
#