A while ago I published a generic linux start/stop script for OBIEE (obiee_start_stop.sh), well here is a similar script for EPM (epm_start_stop.sh)
It's only for the base EPM product (including Essbase), it doesn't not include any of the additional products - hyperion planning etc., although it could be extended to include starting additional products.
It requires one of four arguments:
start Starts EPM Services
stop Stops EPM Services
restart Performs a Stop followed by a Start
fullstart When EPM is first started (or after a server reboot) the nodemanager service needs
starting in addition to the weblogic and EPM services. The nodemanager does not get
stopped during a normal stop process, so isn't included in the normal start process above.
There are four variables which need to be modified to suit your environment near the top of the file - the linux user id under which you are running the services, the home directory for the EPM middleware and both the EPM and Domain instance names (as created during the install)
epm_start_stop.sh
#!/bin/bash
# These values must be adapted to
your environment.
ORACLE_OWNR=linuxuserid # Local Unix user running Essbase
ORACLE_FMW=MiddlewareHomeDirectory
# Deployment home directory
EPM_INSTANCE=InstanceName
# EPM Instance name
EPM_DOMAIN=DomainName
# EPM Domain name
# These should require no
change.
WL_PATH=$ORACLE_FMW/wlserver_10.3/server/bin
WL_DOMAIN_PATH=$ORACLE_FMW/user_projects/domains/$EPM_DOMAIN/bin
EPM_PATH=$ORACLE_FMW/user_projects/$EPM_INSTANCE/bin
NOW=$(date
+"%Y%m%d-%H%M")
START_LOG=~/logs/epm-start-$NOW.log
STOP_LOG=~/logs/epm-stop-$NOW.log
SUBSYS=epm
fullstart() {
#echo
"********************************************************************************"
#echo "Starting Node Manager on
$(date)"
#echo
"********************************************************************************"
$WL_PATH/startNodeManager.sh
&
wait_for "socket listener
started on port"
echo
"********************************************************************************"
echo "Starting Weblogic Server
on $(date)"
echo
"********************************************************************************"
$WL_DOMAIN_PATH/startWebLogic.sh
&
wait_for "Server started in
RUNNING mode"
echo
"********************************************************************************"
echo "Starting EPM Services on
$(date)"
echo
"********************************************************************************"
$EPM_PATH/start.sh
echo
"********************************************************************************"
echo "EPM start sequence
completed on $(date)"
echo
"********************************************************************************"
}
echo
"********************************************************************************"
echo "Starting Weblogic Server
on $(date)"
echo
"********************************************************************************"
$WL_DOMAIN_PATH/startWebLogic.sh
&
wait_for "Server started in
RUNNING mode"
echo
"********************************************************************************"
echo "Starting EPM Services on
$(date)"
echo
"********************************************************************************"
$EPM_PATH/start.sh
echo
"********************************************************************************"
echo "EPM start sequence
completed on $(date)"
echo
"********************************************************************************"
}
stop() {
echo
"********************************************************************************"
echo "Stopping EPM Services on
$(date)"
echo
"********************************************************************************"
$EPM_PATH/stop.sh
echo
"********************************************************************************"
echo "Starting Weblogic Server
on $(date)"
echo
"********************************************************************************"
$WL_DOMAIN_PATH/stopWebLogic.sh
echo
"********************************************************************************"
echo "Essbase stop sequence
completed on $(date)"
echo
"********************************************************************************"
}
wait_for() {
res=0
while [[ ! $res -gt 0
]]
do
res=$(tail -5 "$START_LOG" |
fgrep -c "$1")
sleep 5
done
}
case "$1" in
fullstart)
echo
"********************************************************************************"
echo "Starting EPM on
$(date)"
echo "View Log with: tail
-f $START_LOG"
echo
"********************************************************************************"
fullstart &> $START_LOG
&
# touch
/var/lock/subsys/$SUBSYS
;;
start)
echo
"********************************************************************************"
echo "Starting EPM on
$(date)"
echo "View Log with: tail
-f $START_LOG"
echo
"********************************************************************************"
start &> $START_LOG
&
# touch
/var/lock/subsys/$SUBSYS
;;
stop)
echo
"********************************************************************************"
echo "Stopping EPM on
$(date)"
echo "Logs are sent to
$STOP_LOG"
echo
"********************************************************************************"
stop &>
$STOP_LOG
# rm -f
/var/lock/subsys/$SUBSYS
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $(basename $0)
start|stop|restart|fullstart"
exit 1
esac
exit 0
Thank you Paul, worked perfectly in RHEL7.
ReplyDelete-Vince