免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: nodream2008
打印 上一主题 下一主题

菜鸟-监控数据表空间脚本的疑惑~~~,请高手赐教! [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-02-01 18:21 |只看该作者
我分析是在进入sqlplus之后脚本把spool命令当成了系统命令所以找不到这个命令,是不是和环境变量有关呢?

论坛徽章:
0
12 [报告]
发表于 2007-02-01 18:24 |只看该作者
没写here文档的起始标记

论坛徽章:
0
13 [报告]
发表于 2007-02-01 19:01 |只看该作者
try
#!/bin/sh
export ORACLE_HOME=`grep "^*" /etc/oratab |cut -f2 -d:`
export PATH=$ORACLE_HOME/binPATH
export LD_LIBRARY_PATH=$ORACLE_HOME/libORACLE_HOME/rdbms/libLD_LIBRARY_PATH

v_LoginInfo=scott/tiger@orcl

#Run sqlplus
sqlplus ${v_LoginInfo} <<SQL_BLOCK > /dev/null

spool test.dat
select * from emp;

quit
SQL_BLOCK

论坛徽章:
0
14 [报告]
发表于 2007-02-02 11:40 |只看该作者
非常感谢各位的帮助,现在问题已经解决了,我将代码贴出来一起分享。还请高手帮看一下还存在什么错误。谢谢~~~~~


  1. #####################################################################
  2. ## ck_tbsp.sh ##
  3. #####################################################################
  4. #!/bin/ksh

  5. v_LoginInfo=oracle/oracle@db1
  6. v_AlertFilePath=/templv/chusb/tablespace.alert

  7. #Run sqlplus

  8. sqlplus -s ${v_LoginInfo} > /dev/null   << END

  9. set feed off
  10. set termout off
  11. set feedback off
  12. set linesize 100
  13. set pagesize 200
  14. spool $v_AlertFilePath
  15. SELECT F.TABLESPACE_NAME,
  16. TO_CHAR ((T.TOTAL_SPACE - F.FREE_SPACE),'999,999') "USED(MB)",
  17. TO_CHAR (F.FREE_SPACE, '999,999') "FREE(MB)",
  18. TO_CHAR (T.TOTAL_SPACE, '999,999') "TOTAL(MB)",
  19. TO_CHAR ((ROUND ((F.FREE_SPACE/T.TOTAL_SPACE)*100)),'999')||' %' FREE
  20. FROM (
  21. SELECT TABLESPACE_NAME,
  22. ROUND (SUM (BLOCKS*(SELECT VALUE/1024
  23. FROM V\$PARAMETER
  24. WHERE NAME = 'db_block_size')/1024)
  25. ) FREE_SPACE
  26. FROM DBA_FREE_SPACE
  27. GROUP BY TABLESPACE_NAME
  28. ) F,
  29. (
  30. SELECT TABLESPACE_NAME,
  31. ROUND (SUM (BYTES/1048576)) TOTAL_SPACE
  32. FROM DBA_DATA_FILES
  33. GROUP BY TABLESPACE_NAME
  34. ) T
  35. WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME
  36. AND (ROUND ((F.FREE_SPACE/T.TOTAL_SPACE)*100)) < 90;
  37. spool off

  38. exit
  39. !
  40. END


  41. if [ `cat tablespace.alert|wc -l` -gt 0 ]
  42. then
  43. cat tablespace.alert -l tablespace.alert > tablespace.tmp
  44. mailx -s "TABLESPACE ALERT for ${2}" $DBALIST < tablespace.tmp
  45. fi


复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP