Auswahl  

Oracle ORDS Check Skript für gängigste Webserver 404 Fehler 

APEX
26.03.20 (MP)
05.05.20

Passende Schulungen zum Thema

Nachdem ich schon mehere Tage mit der Suche nach Fehlern im Oracle ORDS mit APEX verbracht habe, war es mal Zeit ein Prüf-Skript zu schreiben.

Das Prüfskript prüft einige der gängigsten Probleme die einen Web Fehler 404 erzeugen.

Das Skript fragt Sie die folgenden Parameter:
Pfad des webapss Ordner (meist /opt/tomcat*[/latest] )
Name des ORDS meist "ords". Das ist der Name, der in der Datei ords.war verwendet wird.
Zusätzlich werden die Passwörter für die Accounts APEX_PUBLIC_USER, ORDS_PUBLIC_USER, APEX_REST_PUBLIC_USER
gefragt und eine Anmeldung an der Datenbank durchgeführt. Fehler, wie Account Locked oder Passwort falsch werden dadurch gefunden.
Der letzte Check-Teil prüft die 4 XML Config-Dateien. Diese waren bei unseren Installationen teilweise nicht vollständig angelegt worden.
######################################################################################################
#!/bin/bash
# chmod u+x check_ords.sh
######################################################################################################

#export CONFIG_DIR=/opt/oracle/ords_conf
#export ORACLE_ORDS=ords

read -p 'Webserver webapps Ordner: [/opt/tomcat/latest]' -r WEB_DIR
WEB_DIR=${WEB_DIR:-/opt/tomcat/latest}
read -p 'Oracle ORDS Name: [ords]' -r ORACLE_ORDS
ORACLE_ORDS=${ORACLE_ORDS:-ords}
read -p 'Passwort APEX_PUBLIC_USER: ' -r -s APEX_PU
echo
read -p 'Passwort ORDS_PUBLIC_USER: ' -r -s ORDS_PU
echo
read -p 'Passwort APEX_REST_PUBLIC_USER: ' -r -s APEX_RPU

echo -e "\nCheck XML Config Files:"
export CONFIG_DIR=`cat $WEB_DIR/webapps/$ORACLE_ORDS/WEB-INF/web.xml | egrep "<param-value>/" | cut -c22-90 | sed -e 's/<\/param-value>//g'`
export ORACLE_HOSTNAME=`cat $CONFIG_DIR/$ORACLE_ORDS/defaults.xml | egrep "db\.hostname" | cut -c26-89 | sed -e 's/<\/entry>//g'`
export ORACLE_SERVICENAME=`cat $CONFIG_DIR/$ORACLE_ORDS/defaults.xml | egrep "db\.servicename" | cut -c29-89 | sed -e 's/<\/entry>//g'`
export ORACLE_PORT=`cat $CONFIG_DIR/$ORACLE_ORDS/defaults.xml | egrep "db\.port" | cut -c22-89 | sed -e 's/<\/entry>//g'`

echo "Found: Host=$ORACLE_HOSTNAME, Port=$ORACLE_PORT, Service=$ORACLE_SERVICENAME"
echo "Found: ORDS=$ORACLE_ORDS, Config_Dir=$CONFIG_DIR"

function check_account()
{
echo "Check: $1"
$ORACLE_HOME/bin/sqlplus -S -L $1/$2@$ORACLE_HOSTNAME:$ORACLE_PORT/$ORACLE_SERVICENAME<<EOF | egrep "ORA-"
EXIT
EOF
}

echo "# Checking Accounts ..."
check_account APEX_PUBLIC_USER $APEX_PU
check_account ORDS_PUBLIC_USER $ORDS_PU
check_account APEX_REST_PUBLIC_USER $APEX_RPU


function check_config_files()
{
if [ -f "$CONFIG_DIR/$ORACLE_ORDS/conf/$1" ]; then
    echo "OK: $1 `ls -al $CONFIG_DIR/$ORACLE_ORDS/conf/$1 |  awk '{ print  $1" "$3":"$4}'`"
else
    echo "$1 missing"
fi
}

echo "# Checking XML Config Files in $CONFIG_DIR/$ORACLE_ORDS/conf"
check_config_files apex.xml
check_config_files apex_al.xml
check_config_files apex_pu.xml
check_config_files apex_rt.xml

echo "# Optional Checks:"
echo "java -jar $ORACLE_ORDS.war validate"
echo "java -jar $ORACLE_ORDS.war validate --database apex"

Ich hoffe Sie können damit zukünftig Ihre Oracle ORDS Fehler finden ...

Weitere Interessante Kurs-Tipps zum Thema