资源描述:
《监控oracle数据库的常用shell脚本》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、监控Oracle数据库的常用shell脚本我会陆陆续续搜集好的脚本共享到群上。这次是8个。一.脚本来监控Oracle数据库:1.检查实例的可用性2.检查监听器的可用性3.检查alert日志文件中的错误信息4.在存放log文件的地方满以前清空旧的log文件5.分析table和index以获得更好的性能6.检查表空间的使用情况7.找出无效的对象8.监控用户和事务二.DBA需要的Unix基本知识基本的UNIX命令,以下是一些常用的Unix命令:ps--显示进程grep--搜索文件中的某种文本模式mailx--读取或者发送mailcat--连接文件或者显示它们cut--选择显示的列awk--模式匹配语
2、言df--显示剩余的磁盘空间以下是DBA如何使用这些命令的一些例子:1.显示服务器上的可用实例:$ps–ef
3、grepsmon oracle22086 1 002:32:24? 0:04ora_smon_PPRD10oracle 521528972 008:10:19pts/4 0:00grepsmon2.显示服务器上的可用监听器:$ps-ef
4、greplistenergrep-vgrep(grep命令应该加上-i参数,即grep-ilistener,该参数的作用是忽略大小写,因为有些时候listener是大写的,这时就会看不到结果)$ps–ef
5、grep-i
6、listener oracle 9655 1 0 Mar12? 0:01/data/app/oracle/9.2.0/bin/tnslsnrLISTENER-inherit oracle22610 1 002:45:02? 0:02/data/app/oracle/10.2.0/bin/tnslsnrLISTENER-inheritoracle 526828972 008:13:02pts/4 0:00grep-ilistener3.查看Oracle存档目录的文件系统使用情况$df-k
7、grep/data/dev/md/dsk/d5
8、0 1049776758861054215317357 86% /data4.统计alter.log文件中的行数:$catalert_PPRD10.log
9、wc-l 13124$morealert_PPRD10.log
10、wc-l 131245.列出alert.log文件中的全部Oracle错误信息:$grepORA-*alert.logORA-00600:internalerrorcode,arguments:[kcrrrfswda.1],[],[],[],[],[]ORA-00600:internalerrorcode,arguments:[1881],[25860
11、496],[25857716],[]6.CRONTAB基本一个crontab文件中包含有六个字段:分钟0-59小时0-23月中的第几天1-31月份1-12星期几0-6,with0=Sunday7.Unix命令或者Shell脚本要编辑一个crontab文件,输入:Crontab-e要查看一个crontab文件,输入:Crontab-l04**5/dba/admin/analyze_table.ksh303**3,6/dba/admin/hotbackup.ksh/dev/null2>&1在上面的例子中,第一行显示了一个分析表的脚本在每个星期5的4:00am运行。第二行显示了一个执行热备份的脚本在
12、每个周三和周六的3:00a.m.运行。三.监控数据库的常用Shell脚本以下提供的8个shell脚本覆盖了DBA每日监控工作的90%,你可能还需要修改UNIX的环境变量。1.检查Oracle实例的可用性oratab文件中列出了服务器上的所有数据库$cat/var/opt/oracle/oratab##ThisfileisusedbyORACLEutilities. Itiscreatedbyroot.sh#andupdatedbytheDatabaseConfigurationAssistantwhencreating#adatabase.#Acolon,':',isusedasthefie
13、ldterminator. Anewlineterminates#theentry. Linesbeginningwithapoundsign,'#',arecomments.##Entriesareoftheform:# $ORACLE_SID:$ORACLE_HOME:14、Y>:##Thefirstandsecondfieldsarethesystemidentifierandhome