Hi team. Below is a useful tool that I have been working on for a bit. This is a universal CODB database index checker tool. The code is not pretty, but it is effective. There are two basic parts to the script. The first bit checks the class indexes. After the recent memcache issues, there were a number of systems that had corrupt class indexes. This part of the script will test and validate your class indexes, and report any problems. The last part of the script is a modified version of an older script with a few tweaks to check the codb.oids list of used OID numbers.
Paste all of the content below into a file called indexcheck.sh on your server. The script should be owned by root and have execute permissions. For each of the checks it performs, you will have a simple pass or fail result. When you first execute the script, it will be a little slow on the first line of output - after that, it will fly along. Enjoy. Greg Kuhnert ============ #!/bin/bash # # First check the class indexes # CCE=/usr/sausalito/bin/cceclient for CLASS in `echo classes | $CCE | grep ^110 | cut -d " " -f 3-` do echo -n Checking $CLASS echo find $CLASS | $CCE | grep ^104 | cut -d " " -f 3- | sort -n > /tmp/$CLASS.index grep "^$CLASS$" /usr/sausalito/codb/objects/*/.CLASS | cut -d "/" -f 6 | sort -n > /tmp/$CLASS.oid diff /tmp/$CLASS.index /tmp/$CLASS.oid > /tmp/$CLASS.diff if [ $? -eq 0 ]; then rm /tmp/$CLASS.index /tmp/$CLASS.oid /tmp/$CLASS.diff echo " - Pass" else echo " - ***Fail***" fi done # # Now check the codb.oids index # LAST=-1 MIN=-1 MYOID=/tmp/myoid rm $MYOID for X in `ls /usr/sausalito/codb/objects/ | sort -n` do MYNEXT=$(( $LAST + 1 )) if [ $MYNEXT -eq $X ] then LAST=$X else if [ $LAST -ge 1 ] then if [ $MIN -eq $LAST ] then echo -n $LAST, >> $MYOID else echo -n $MIN-$LAST, >> $MYOID fi fi LAST=$X MIN=$X fi done if [ $MYNEXT -lt $X ] then echo -n $LAST >> $MYOID else echo -n $MIN-$LAST >> $MYOID fi diff -q $MYOID /usr/sausalito/codb/codb.oids echo -n Checking codb.oids if [ $? -eq 0 ]; then echo " - Pass" else echo " - ***Fail***" fi
_______________________________________________ Blueonyx mailing list Blueonyx@mail.blueonyx.it http://mail.blueonyx.it/mailman/listinfo/blueonyx