资源描述:
《监控oracle数据库的常用shell脚本》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、监控Oracle数据库的常用shell脚本一.脚本来监控Oracle数据库:1.检查实例的可用性2.检查监听器的可用性3.检查alert日志文件中的错误信息4.在存放log文件的地方满以前清空旧的log文件5.分析table和index以获得更好的性能6.检查表空间的使用情况7.找出无效的对象8.监控用户和事务二.DBA需要的Unix基本知识基本的UNIX命令,以下是一些常用的Unix命令:ps--显示进程grep--搜索文件中的某种文本模式mailx--读取或者发送mailcat--连接文件或者显示它们cut--选择显示的列awk--模式匹配语言df--显示剩余的磁盘空间
2、以下是DBA如何使用这些命令的一些例子:1.显示服务器上的可用实例:$ps–ef
3、grepsmonoracle220861002:32:24?0:04ora_smon_PPRD10oracle521528972008:10:19pts/40:00grepsmon2.显示服务器上的可用监听器:$ps-ef
4、greplistenergrep-vgrep(grep命令应该加上-i参数,即grep-ilistener,该参数的作用是忽略大小写,因为有些时候listener是大写的,这时就会看不到结果)$ps–ef
5、grep-ilisteneroracle965510Mar12?0:
6、01/data/app/oracle/9.2.0/bin/tnslsnrLISTENER-inheritoracle226101002:45:02?0:02/data/app/oracle/10.2.0/bin/tnslsnrLISTENER-inheritoracle526828972008:13:02pts/40:00grep-ilistener3.查看Oracle存档目录的文件系统使用情况$df-k
7、grep/data/dev/md/dsk/d50104977675886105421531735786%/data4.统计alter.log文件中的行数:$cataler
8、t_PPRD10.log
9、wc-l13124$morealert_PPRD10.log
10、wc-l131245.列出alert.log文件中的全部Oracle错误信息:$grepORA-*alert.logORA-00600:internalerrorcode,arguments:[kcrrrfswda.1],[],[],[],[],[]ORA-00600:internalerrorcode,arguments:[1881],[25860496],[25857716],[]6.CRONTAB基本一个crontab文件中包含有六个字段:分钟0-59小时0-23月中的第几天1-3
11、1月份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运行。第二行显示了一个执行热备份的脚本在每个周三和周六的3:00a.m.运行。三.监控数据库的常用Shell脚本以下提供的8个shell脚本覆盖了DBA每日监控
12、工作的90%,你可能还需要修改UNIX的环境变量。1.检查Oracle实例的可用性oratab文件中列出了服务器上的所有数据库$cat/var/opt/oracle/oratab##ThisfileisusedbyORACLEutilities.Itiscreatedbyroot.sh#andupdatedbytheDatabaseConfigurationAssistantwhencreating#adatabase.#Acolon,':',isusedasthefieldterminator.Anewlineterminates#theentry.Linesbeginn
13、ingwithapoundsign,'#',arecomments.##Entriesareoftheform:#$ORACLE_SID:$ORACLE_HOME::##Thefirstandsecondfieldsarethesystemidentifierandhome#directoryofthedatabaserespectively.Thethirdfiledindicates#tothedbstartutilitythatthedatabaseshould,"Y",orshouldnot,#"N",be