归档空间使用率达到90时,及时清理脚本-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3502673
  • 博文数量: 718
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7790
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(718)

文章存档

2024年(4)

2023年(74)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

最近访客
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: oracle

2021-07-07 20:39:51


应对归档突增情况,当达到90%时就强制删除(只保留最近20个)

  1. #!/bin/bash
  2. # clear older archivelog when archive file space used% > 90
  3. # crontab example: */5 * * * * sh /home/oracle/scripts/clear_arch.sh

  4. . ~/.bash_profile
  5. # .~/.profile

  6. # get arch space used

  7. getarchused(){
  8. sqlplus -s "/as sysdba" <<eof
  9. set head off
  10. set feedback off
  11. set time off
  12. set timing off
  13. set echo off
  14. select round((total_mb-free_mb)/total_mb*100,2) used_percent from v\$asm_diskgroup where name ='archdg';
  15. exit
  16. eof
  17. }
  18. archused=$(getarchused)

  19. # export arch_dest='/home/ora/fast_recovery_area'
  20. # archused=` df -p $arch_dest |grep /|awk '{print $5}'|sed 's/\%//g' `

  21. if [ "${archused}" < 90 ]; then
  22. exit
  23. fi

  24. getsql(){
  25. sqlplus -s "/as sysdba" <<eof
  26. set head off
  27. set feedback off
  28. set time off
  29. set timing off
  30. set echo off
  31. select 'delete force noprompt archivelog from sequence 0 until sequence '||max(sequence# - 20)|| ' thread ' || thread# ||';'
  32.   from v\$archived_log group by thread#;
  33. exit
  34. eof
  35. }

  36. deloldarch(){
  37. sql=$(getsql)
  38. echo "begin deleting standby archivelog"
  39. rman target / log=${logfile} append <<eof
  40. $sql
  41. exit;
  42. eof
  43. }

  44. getrole() {
  45. sqlplus -s "/as sysdba" <<eof
  46. set head off
  47. set feedback off
  48. set echo off
  49. set time off
  50. set timing off
  51. select database_role from v\$database;
  52. exit
  53. eof
  54. }

  55. role=$(getrole)
  56. role=`echo ${role} |sed 's/ //g'`
  57. echo $role
  58. if [ "${role}" = "primary" ]; then
  59. deloldarch;
  60. else
  61. echo "error, unable to connect to the database, try again later"
  62. fi
good luck!
阅读(7486) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图