The Report Application Server (RAS) doesn't start anymore
Trying to start the RAS, it generates core dumps on the file system
Environment
All Unix servers
Business Objects Enterprise XI3.1
Reproducing the Issue
N/A
Cause
The registry used by the RAS has been corrupted
Resolution
If also with a new RAS server created from the CMC, the symptoms are the same, then using always the Business Objects unix account:
stop the BO processes (./stopservers.sh)
copy the attached registry_repair_script31.sh to the
check that this file has the following rights rwxr-xr-x (otherwise assign them with #chmod 0755 registry_repair_script31.sh)
make sure that no Business Objects processes are running or hanging in memory, otherwise kill them
go to the following directory
#cd
move the current registry folder to a backup one
#mv registry registry-bck
go back to the
run the script provided
./registry_repair_script31.sh
make sure that the new registry folder created in
start the Business Objects servers with ./startservers.sh
now the RAS will successfully start
Note: If the script won't run and throws the error "bad interpreter /bin/sh^m", then you will need to change the file to unix format. To do this, do the following steps:
Load the script in vi
Type :set fileformat=unix (Don't forget the : )
Type :wq
SAVE THE (registry_repair_script31.sh) FILE WITH BELOW SCRIPT.
#!/bin/sh
# Setup the environment
. "setup/env.sh"
# load localized message strings
. "setup/env-locale.sh"
. "setup/setupfunctions.sh"
removeUTF8SpecificsForKorean
CURRENTNAME=`id | sed -e 's|).*$||' -e 's|^.*(||' `
restoreUTF8SpecificsForKorean
if [ "$BOBJEUSERNAME" -a "$BOBJEUSERNAME" != "$CURRENTNAME" ]; then
echo "$CCMUSERERROR1 $BOBJEUSERNAME"
echo "$CCMUSERERROR2 $CURRENTNAME"
sleep 1
echo "$HITENTER"
read GARBAGE
exit 0
fi
echo ${NOWREGISTERING}
# register a couple of MainWin files.
MWNO_SIGNAL_CATCHING=false
export MWNO_SIGNAL_CATCHING
if [ -f "$MWHOME"/../locale.reg ]; then
"$MWHOME"/bin-${MWCONFIG_NAME}_optimized/regedit -c "$MWHOME"/../locale.reg >/dev/null 2>&1
fi
if [ -f "$MWHOME"/../regupdate.reg ]; then
"$MWHOME"/bin-${MWCONFIG_NAME}_optimized/regedit -c "$MWHOME"/../regupdate.reg >/dev/null 2>&1
fi
if [ -f "$MWHOME"/../saserver.reg ]; then
"$MWHOME"/bin-${MWCONFIG_NAME}_optimized/regedit -c "$MWHOME"/../../saserver.reg >/dev/null 2>&1
fi
MWNO_SIGNAL_CATCHING=true
export MWNO_SIGNAL_CATCHING
OLDIFS=$IFS
IFS='
'
# For each file we need to register with regsvr32
REGSVR32LIST="
$MWHOME/../libexportmodeller${SHAREDLIBSUFFIX?}
$MWHOME/../libcrtslv${SHAREDLIBSUFFIX?}
$MWHOME/../libcrqe${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libEnterpriseFramework${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libInfoStore${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libcrlov${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libprompting${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libinfopluginmgr${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libscriptinghelpers${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libEnterpriseRepositoryAdaptor${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/plugins/auth/secEnterprise/libsecEnterprise${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/plugins/auth/secLDAP/libsecLDAP${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/plugins/desktop/CrystalEnterprise.Report/libReport${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/plugins/desktop/CrystalEnterprise.Folder/libFolder${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libMDS${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/plugins/desktop/CrystalEnterprise.MetaData/libMetaDataPlugins${SHAREDLIBSUFFIX?}
$OLAPHOME/libcoutilities${SHAREDLIBSUFFIX?}
$OLAPHOME/libcodata${SHAREDLIBSUFFIX?}
$OLAPHOME/libxpxml${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libdtsagent${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libcmscon${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/liblocalcon${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libsaxserialize${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/librasauditingw${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libobjectfactory${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/librequestmodel${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libcubedefmodel${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libcommonobjmodel${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/librptdefmodel${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libdatadefmodel${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/crpe/libquerypanel${SHAREDLIBSUFFIX?}"
if [ -f "${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/crpe/mw/setmwruntime" ]; then
MWNO_SIGNAL_CATCHING=false
export MWNO_SIGNAL_CATCHING
for ITEM in $REGSVR32LIST
do
if [ -f "$ITEM" ]; then
safeeval '"$MWHOME/bin-${MWCONFIG_NAME}_optimized/regsvr32" -c -nodisplay -s "$ITEM" >/dev/null'
fi
done
MWNO_SIGNAL_CATCHING=true
export MWNO_SIGNAL_CATCHING
fi
# We need this to ensure that our registry changes are persisted to disk.
# This must be done AFTER we have registered all our MW components.
if [ -f "$MWHOME/bin/mwadm" ]; then
"$MWHOME/bin/mwadm" stop -f >/dev/null
fi
IFS=$OLDIFS
echo ${NOWREGISTERINGCOMPLETE}
No comments:
Post a Comment