- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)