インデクスを調査するシェルスクリプト

ググればすぐ出てくる内容ですが、メモとして。

#!/bin/sh

USR=oracle_usr
PWD=oracle_pwd
SID=oracle_sid
SQL_FILE=check_index.sql
SPOOL_FILE=result.txt

cat /dev/null > ${SQL_FILE}

echo "SET HEAD OFF"                    >> ${SQL_FILE}
echo "SET LINESIZE 1000"               >> ${SQL_FILE}
echo "SET PAGESIZE 0"                  >> ${SQL_FILE}
echo "SET TRIMSPOOL ON"                >> ${SQL_FILE}
echo "SET COLSEP ','"                  >> ${SQL_FILE}
echo "SPOOL ${SPOOL_FILE}"             >> ${SQL_FILE}
echo "SELECT * FROM USER_INDEXES;"     >> ${SQL_FILE}
echo "SELECT * FROM USER_IND_COLUMNS;" >> ${SQL_FILE}
echo "SPOOL OFF"                       >> ${SQL_FILE}

sqlplus ${USR}/${PWD}@${SID} < ${SQL_FILE}
rm -f ${SQL_FILE}
cat ${SPOOL_FILE} | sed 's/  //g' > TMP
mv TMP ${SPOOL_FILE}
exit 0