当前位置: 技术问答>linux和unix
求助~~请教怎么把这段代码修改成在windows xp 里能运行的说
来源: 互联网 发布时间:2016-03-18
本文导语: #!/bin/sh ################################################################################ # fill oradb-mib of oracle 10g on solaris ################################################################################ # get application path cd "`dirname "$0"`" APPHOME=`pwd` ...
#!/bin/sh
################################################################################
# fill oradb-mib of oracle 10g on solaris
################################################################################
# get application path
cd "`dirname "$0"`"
APPHOME=`pwd`
################################################################################
# run SQL, you should change password here!
################################################################################
sqlplus system/orcl @get_solaris_oradb.sql
################################################################################
# fill oraDbSysTable
################################################################################
ORADBSYSTABLEFILE=$APPHOME/textFiles/ORADB-MIB/OraDbSysTable.txt
echo "1|c" > $ORADBSYSTABLEFILE
while read LINE
do
echo `echo $LINE | awk -F: '{print $2}'`"|c" >> $ORADBSYSTABLEFILE
done > $ORADBSYSTABLEFILE
################################################################################
# fill oraDbTablespaceTable
################################################################################
ORADBTABLESPACETABLEFILE=$APPHOME/textFiles/ORADB-MIB/OraDbTablespaceTable.txt
# chear file
cat /dev/null > $ORADBTABLESPACETABLEFILE
INDEX=1
while read LINE
do
NAME=`echo $LINE | awk -F: '{print $1}'`
SIZEALLOCATED=`echo $LINE | awk -F: '{print $2}'`
SIZEUSED=`echo $LINE | awk -F: '{print $3}'`
STATE=`echo $LINE | awk -F: '{print $4}'`
if [ STATE=="ONLINE" ]
then
STATEINT="1"
elif [ STATE=="OFFLINE" ]
then
STATEINT="2"
else
STATEINT="3"
fi
LAC=`echo $LINE | awk -F: '{print $5}'`
echo "1|$INDEX|$NAME|$SIZEALLOCATED|$SIZEUSED|$STATEINT|$LAC|" >> $ORADBTABLESPACETABLEFILE
INDEX=`expr $INDEX + 1`
done $ORADBDATAFILETABLEFILE
while read LINE
do
INDEX=`echo $LINE | awk -F: '{print $1}'`
NAME=`echo $LINE | awk -F: '{print $2}'`
SIZEALLOCATED=`echo $LINE | awk -F: '{print $3}'`
READS=`echo $LINE | awk -F: '{print $4}'`
WRITES=`echo $LINE | awk -F: '{print $5}'`
READBLOCKS=`echo $LINE | awk -F: '{print $6}'`
WRITTENBLOCKS=`echo $LINE | awk -F: '{print $7}'`
READTT=`echo $LINE | awk -F: '{print $8}'`
WRITETT=`echo $LINE | awk -F: '{print $9}'`
echo "1|$INDEX|$NAME|$SIZEALLOCATED|$READS|$WRITES|$READBLOCKS|$WRITTENBLOCKS|$READTT|$WRITETT|" >> $ORADBDATAFILETABLEFILE
done $ORADBLIBRARYCACHETABLEFILE
INDEX=1
while read LINE
do
CONTENT=`echo $LINE | awk -F: '{printf "%s|%d|%d|%d|%d|%d|%d|", $1, $2, $3, $4, $5, $6, $7}'`
echo "1|$INDEX|$CONTENT" >> $ORADBLIBRARYCACHETABLEFILE
INDEX=`expr $INDEX + 1`
done $ORADBLIBRARYCACHESUMTABLEFILE
while read LINE
do
CONTENT=`echo $LINE | awk -F: '{printf "%d|%d|%d|%d|%d|%d|", $1, $2, $3, $4, $5, $6}'`
echo "1|$CONTENT" >> $ORADBLIBRARYCACHESUMTABLEFILE
done
################################################################################
# fill oradb-mib of oracle 10g on solaris
################################################################################
# get application path
cd "`dirname "$0"`"
APPHOME=`pwd`
################################################################################
# run SQL, you should change password here!
################################################################################
sqlplus system/orcl @get_solaris_oradb.sql
################################################################################
# fill oraDbSysTable
################################################################################
ORADBSYSTABLEFILE=$APPHOME/textFiles/ORADB-MIB/OraDbSysTable.txt
echo "1|c" > $ORADBSYSTABLEFILE
while read LINE
do
echo `echo $LINE | awk -F: '{print $2}'`"|c" >> $ORADBSYSTABLEFILE
done > $ORADBSYSTABLEFILE
################################################################################
# fill oraDbTablespaceTable
################################################################################
ORADBTABLESPACETABLEFILE=$APPHOME/textFiles/ORADB-MIB/OraDbTablespaceTable.txt
# chear file
cat /dev/null > $ORADBTABLESPACETABLEFILE
INDEX=1
while read LINE
do
NAME=`echo $LINE | awk -F: '{print $1}'`
SIZEALLOCATED=`echo $LINE | awk -F: '{print $2}'`
SIZEUSED=`echo $LINE | awk -F: '{print $3}'`
STATE=`echo $LINE | awk -F: '{print $4}'`
if [ STATE=="ONLINE" ]
then
STATEINT="1"
elif [ STATE=="OFFLINE" ]
then
STATEINT="2"
else
STATEINT="3"
fi
LAC=`echo $LINE | awk -F: '{print $5}'`
echo "1|$INDEX|$NAME|$SIZEALLOCATED|$SIZEUSED|$STATEINT|$LAC|" >> $ORADBTABLESPACETABLEFILE
INDEX=`expr $INDEX + 1`
done $ORADBDATAFILETABLEFILE
while read LINE
do
INDEX=`echo $LINE | awk -F: '{print $1}'`
NAME=`echo $LINE | awk -F: '{print $2}'`
SIZEALLOCATED=`echo $LINE | awk -F: '{print $3}'`
READS=`echo $LINE | awk -F: '{print $4}'`
WRITES=`echo $LINE | awk -F: '{print $5}'`
READBLOCKS=`echo $LINE | awk -F: '{print $6}'`
WRITTENBLOCKS=`echo $LINE | awk -F: '{print $7}'`
READTT=`echo $LINE | awk -F: '{print $8}'`
WRITETT=`echo $LINE | awk -F: '{print $9}'`
echo "1|$INDEX|$NAME|$SIZEALLOCATED|$READS|$WRITES|$READBLOCKS|$WRITTENBLOCKS|$READTT|$WRITETT|" >> $ORADBDATAFILETABLEFILE
done $ORADBLIBRARYCACHETABLEFILE
INDEX=1
while read LINE
do
CONTENT=`echo $LINE | awk -F: '{printf "%s|%d|%d|%d|%d|%d|%d|", $1, $2, $3, $4, $5, $6, $7}'`
echo "1|$INDEX|$CONTENT" >> $ORADBLIBRARYCACHETABLEFILE
INDEX=`expr $INDEX + 1`
done $ORADBLIBRARYCACHESUMTABLEFILE
while read LINE
do
CONTENT=`echo $LINE | awk -F: '{printf "%d|%d|%d|%d|%d|%d|", $1, $2, $3, $4, $5, $6}'`
echo "1|$CONTENT" >> $ORADBLIBRARYCACHESUMTABLEFILE
done