ORACLE数据库日常维护作业计划.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE Oracle Advanced Product Services Oracle数据库日常维护手册 INDEX \o S \c 3 \z 2052 TOC \o 1-3 \h \z \u 1.1. 工作内容 3 1.1.1 每日工作 3 1.1.2 每周的工作 (通过工具自动跑出结果,手工进行问题处理) 5 1.1.3 每月的工作(人工分析处理) 22 1.1.4 每年的工作(结合工具进行全面检查) 25 AUTOTEXT PIC Oracle Logo 文档 文档控制 审阅记录 审阅人 职位 分发记录 审阅人 职位 相关文档 PAGE 工作内容 每日工作 检查数据库状态 (目前人工,以后自动,) 确认所有的INSTANCE状态以及listener状态正常,登陆到所有数据库或例程,检测ORACLE后台进程: $ ps –ef|grep ora $ lsnrctl status SQL select status from v$instance; 检查CPU使用率 (自动,无报警即可) top / glance/vmstat sar -u 60 100 例如sar –u 显示内容包括: %usr:CPU处在用户模式下的时间百分比。 %sys:CPU处在系统模式下的时间百分比。 %wio:CPU等待输入输出完成时间的百分比。 %idle:CPU空闲时间百分比 对于%usr,建议客户定期收集,建立系统性能的基线,以便判断系统CPU使用的趋势。如果%usr突然异常增长,建议客户使用topas,glance找到使用CPU最高资源的进程,进行进一步分析。如果是oracle用户进程,可以使用如下语句获得该进程正在执行的SQL: --通过PID找SQL SELECT /*+ ORDERED */ sql_text FROM v$sqltext a WHERE (a.hash_value, a.address) IN ( SELECT DECODE (sql_hash_value, 0, prev_hash_value, sql_hash_value), DECODE (sql_hash_value, 0, prev_sql_addr, sql_address) FROM v$session b WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = pid)) ORDER BY piece ASC; 而且我们通过v$session的sid,可以进一步从v$session_wait得到该进程的等待事件: --通过PID找该进程的等待事件: SELECT /*+ ORDERED */ event,p1,p2,p3 FROM v$session_wait a WHERE a.sid IN ( SELECT b.sid FROM v$session b WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = pid)); 而得到该语句的执行计划,我们可以如下查询: SELECT /*+ ORDERED */ OPERATION , OPTIONS, OBJECT_NAME, OPTIMIZER, ID, PARENT_ID, COST,CARDINALITY,BYTES FROM v$sql_plan a where a.hash_value=hav and a.address=address; 对于%wio,如果该数值过高,表示硬盘存在I/O等待。 对于%idle,表明了系统CPU的空闲率,如果该数值持续低于10,那么系统需要扩充CPU资源。 检查内存使用率 (自动,无报警即可) vmstat 5 5 sar –w 5 5 lsps –s #列出pagespace swapinfo 检查表空间的使用情况 select f.tablespace_name,a.total,f.free,round((f.free/a.total)*100) % Free from(select tablespace_name, sum(bytes/(1024*1024)) total from dba_data_files group by tablespace_name) a, (select tab

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档