各位大侠,我是linux/oracle新手。 想写个shell script, 内容如下:
1,自动获得 oracle 数据库名
2,获得当前process的数目, 
select count(*) from v$process;
3,获得当前设定的process数目,
select value from v$parameter where name='processes';
4,如果二者的差小于35, 则发email但是, 我得到错误如下:
[oracle@tudpdb1d02 temp]$ . cp_wf.sh
-bash: eck: command not found ERROR : Invalid number of arguments代码如下:#!/bin/ksh
#############################################################################
#
# check process work flow mailer.
# created 09/22/15 by Xiang.

#
############################################################################
if [ -z "$1" ]; then
echo ""
echo " ERROR : Invalid number of arguments"
exit
fi
sid=$1 # Source databaseORACLE_SID=$sid;export ORACLE_SID
ORAENV_ASK=NO;export ORAENV_ASK. /usr/local/bin/oraenv > /dev/null 2>&1
MACHINE=`hostname -s`;export MACHINE
ENV_SCRIPT=$ORACLE_HOME"/"$ORACLE_SID"_"$MACHINE".env";export ENV_SCRIPT
ENV_FILE=$ORACLE_SID"_"$MACHINE".env";export ENV_FILEPATH=$ORACLE_HOME/bin:$PATH;export PATH
LIBPATH=$ORACLE_HOME/lib:$LIBPATH;export LIBPATH
date=`date +%m.%d.%y.%R`
logfile=/home/oracle/cp_wf.logCount_process=0
Count_param=0
pw=`cat /home/oracle/.pass`
Count_process=`sqlplus -s apps/$pw@$sid<<EOF
set pagesize 0
set heading off
set feedback off
set verify off
select count(*) from v$process;
exit
EOF
`
Count_param=`sqlplus -s apps/$pw@$sid<<EOF
set pagesize 0
set heading off
set feedback off
set verify off
select value from v$parameter where name='processes';
exit
EOF
`MAILLIST="[email protected]";export MAILLIST
if [ Count_param - Count_process < 35 ];then
echo $sid | mail -s "process count reaches the limit less than 5" "$MAILLIST"
fi
exit 0
非常感谢!