知识大全 让我们一起学做业余DBA

Posted 文件

篇首语:对搞科学的人来说,勤奋就是成功之母!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 让我们一起学做业余DBA相关的知识,希望对你有一定的参考价值。

让我们一起学做业余DBA!  以下文字资料是由(历史新知网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   前言  这篇文章介绍了DBA每天在监控Oracle数据库方面的职责 讲述了如何通过shell脚本来完成这些重复的监控工作 本文首先回顾了一些DBA常用的Unix命令 以及解释了如何通过Unix Cron来定时执行DBA脚本 同时文章还介绍了 个重要的脚本来监控Oracle数据库     检查实例的可用性    检查监听器的可用性    检查alert日志文件中的错误信息    在存放log文件的地方满以前清空旧的log文件    分析table和index以获得更好的性能    检查表空间的使用情况    找出无效的对象    监控用户和事务    DBA需要的Unix基本知识    基本的UNIX命令    以下是一些常用的Unix命令     ps 显示进程  grep 搜索文件中的某种文本模式  mailx 读取或者发送mail  cat 连接文件或者显示它们  cut 选择显示的列  awk 模式匹配语言  df 显示剩余的磁盘空间    以下是DBA如何使用这些命令的一些例子     显示服务器上的可用实例     $ ps ef | grep smon  oracle Feb ? : ora_smon_oradb   oracle Feb ? : ora_smon_oradb   dliu : : pts/ : grep smon  oracle : : ? : ora_smon_oradb   oracle Mar ? : ora_smon_oradb     显示服务器上的可用监听器     $ ps ef | grep listener | grep v grep  (译者注 grep命令应该加上 i参数 即grep i listener 该参数的作用是忽略大小写 因为有些时候listener是大写的 这时就会看不到结果)  oracle Feb ? : / /bin/tnslsnr listener_db inherit  oracle : : ? : / /bin/tnslsnr listener_db inherit  oracle Feb ? : / /bin/tnslsnr listener_db inherit  oracle Mar ? : / /bin/tnslsnr listener_db inherit    查看Oracle存档目录的文件系统使用情况    $ df k | grep oraarch  /dev/vx/dsk/proddg/oraarch % /u /oraarch    统计alter log文件中的行数     $ cat alert log | wc l       列出alert log文件中的全部Oracle错误信息     $ grep ORA alert log  ORA : internal error code arguments: [kcrrrfswda ] [] [] [] [] []  ORA : internal error code arguments: [ ] [ ] [ ] []     CRONTAB基本  一个crontab文件中包含有六个字段     分钟     小时     月中的第几天     月份     星期几 with = Sunday    Unix命令或者Shell脚本    要编辑一个crontab文件 输入     Crontab e    要查看一个crontab文件 输入     Crontab l   * * /dba/admin/analyze_table ksh   * * /dba/admin/hotbackup ksh /dev/null >&     在上面的例子中 第一行显示了一个分析表的脚本在每个星期 的 am运行 第二行显示了一个执行热备份的脚本在每个周三和周六的 a m 运行      监控数据库的常用Shell脚本  以下提供的 个shell脚本覆蓋了DBA每日监控工作的 % 你可能还需要修改UNIX的环境变量      检查Oracle实例的可用性  oratab文件中列出了服务器上的所有数据库    $ cat /var/opt/oracle/oratab  ###################################################################  ## /var/opt/oracle/oratab ##  ###################################################################  oradb :/u /app/oracle/product/ :Y  oradb :/u /app/oracle/product/ :Y  oradb :/u /app/oracle/product/ :N  oradb :/u /app/oracle/product/ :Y    以下的脚本检查oratab文件中列出的所有数据库 并且找出该数据库的状态(启动还是关闭)    ###################################################################  ## ckinstance ksh ## ###################################################################  ORATAB=/var/opt/oracle/oratab  echo `date`   echo Oracle Database(s) Status `hostname` :\\n     db=`egrep i :Y|:N $ORATAB | cut d : f | grep v \\# | grep v \\* `  pslist= `ps ef | grep pmon`   for i in $db ; do  echo $pslist | grep ora_pmon_$i > /dev/null >$   if (( $? )); then  echo Oracle Instance $i: Down   else  echo Oracle Instance $i: Up   fi  done    使用以下的命令来确认该脚本是可以执行的     $ chmod ckinstance ksh  $ ls l ckinstance ksh   rwxr r oracle dba Mar : ckinstance ksh*    以下是实例可用性的报表     $ ckinstance ksh  Mon Mar : : PST   Oracle Database(s) Status for DBHOST server:  Oracle Instance oradb : Up  Oracle Instance oradb : Up  Oracle Instance oradb : Down  Oracle Instance oradb : Up     检查Oracle监听器的可用性  以下有一个类似的脚本检查Oracle监听器 如果监听器停了 该脚本将会重新启动监听器     #######################################################################  ## cklsnr sh ##  #######################################################################  #!/bin/ksh  DBALIST= pri ano ;export DBALIST  cd /var/opt/oracle  rm f lsnr exist  ps ef | grep mylsnr | grep v grep > lsnr exist  if [ s lsnr exist ]  then  echo  else  echo Alert | mailx s Listener mylsnr on `hostname` is down $DBALIST  TNS_ADMIN=/var/opt/oracle; export TNS_ADMIN  ORACLE_SID=db ; export ORACLE_SID  ORAENV_ASK=NO; export ORAENV_ASK  PATH=$PATH:/bin:/usr/local/bin; export PATH   oraenv  LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH  lsnrctl start mylsnr  fi     检查Alert日志(ORA XXXXX)  每个脚本所使用的一些环境变量可以放到一个profile中     #######################################################################  ## oracle profile ##  #######################################################################  EDITOR=vi;export EDITOR ORACLE_BASE=/u /app/oracle; export  ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/ ; export  ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib; export  LD_LIBRARY_PATH TNS_ADMIN=/var/opt/oracle;export  TNS_ADMIN NLS_LANG=american; export  NLS_LANG NLS_DATE_FORMAT= Mon DD YYYY HH :MI:SS ; export  NLS_DATE_FORMAT ORATAB=/var/opt/oracle/oratab;export  ORATAB PATH=$PATH:$ORACLE_HOME:$ORACLE_HOME/bin:/usr/ccs/bin:/bin:/usr/bin:/usr/sbin:/  sbin:/usr/openwin/bin:/opt/bin: ; export  PATH DBALIST= pri ano ;export  DBALIST    以下的脚本首先调用oracle profile来设置全部的环境变量 如果发现任何的Oracle错误 该脚本还会给DBA发送一个警告的email     ####################################################################  ## ckalertlog sh ##  ####################################################################  #!/bin/ksh   /etc/oracle profile  for SID in `cat $ORACLE_HOME/sidlist`  do  cd $ORACLE_BASE/admin/$SID/bdump  if [ f alert_$SID log ]  then  mv alert_$SID log alert_work log  touch alert_$SID log  cat alert_work log >> alert_$SID hist  grep ORA alert_work log > alert err  fi  if [ `cat alert err|wc l` gt ]  then  mailx s $SID ORACLE ALERT ERRORS $DBALIST < alert err  fi  rm f alert err  rm f alert_work log  done     清除旧的归档文件  以下的脚本将会在log文件达到 %容量的时候清空旧的归档文件     $ df k | grep arch  Filesystem kbytes used avail capacity Mounted on  /dev/vx/dsk/proddg/archive % /u /archive< cha138/Article/program/Oracle/201311/17492

相关参考

知识大全 DBA袖珍指南

管理Oracle9i:DBA袖珍指南  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle

知识大全 Oracle DBA需要的技能

OracleDBA需要的技能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  dba掌握的技术  

知识大全 DBA常用脚本2-性能监控

DBA常用脚本2-性能监控  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据缓冲区的命中率已经

知识大全 如何成为一名Oracle应用DBA

如何成为一名Oracle应用DBA  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!从一个普通的Ora

知识大全 OCP DBA 最新考试通过分数

OCPDBA最新考试通过分数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  lishixinzh

知识大全 对OCP DBA证书的体会

对OCPDBA证书的体会  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  终于把OCPDBA的课程

知识大全 DBA 常用Scripts(第一部分)

OracleDBA常用Scripts(第一部分)!  以下文字资料是由(历史新知网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  以下是

知识大全 OCP DBA 学员一周考试情报

OCPDBA学员一周考试情报  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!      Hikevi

知识大全 DBA应当了解的MySQL客户端程序启动选项

DBA应当了解的MySQL客户端程序启动选项  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  许多

知识大全 Oracle DBA创建数据库试题精选

OracleDBA创建数据库试题精选  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Q:This