DBA日常维护工作手册参考Word下载.doc
《DBA日常维护工作手册参考Word下载.doc》由会员分享,可在线阅读,更多相关《DBA日常维护工作手册参考Word下载.doc(60页珍藏版)》请在冰豆网上搜索。
3.1SQL脚本方式查看 53
3.2Oracle9iOEM数据文件管理 54
3.3Oracle10gOEM数据文件管理 55
4.索引使用情况及碎片分析 55
4.1表包含的索引及相关列检查 55
4.2自动化脚本方式对索引进行碎片分析 56
4.3打开索引自动监控开关 56
5.对用户所有表、索引进行统计分析 57
5.1查询EAS用户所有表、索引的最新统计分析时间 57
5.2自动化脚本方式对所有表、索引统计分析 57
5.3Oracle10gOEM图形化自定义对所有表、索引统计分析的自动化调度任务 57
6.导出表、索引最新统计分析数据 63
7.性能报告分析 64
三、日常工作-每月应做工作内容 64
1.性能全面分析 64
全面分析一次STATSPACK报告 64
空间使用增长的全面分析 64
2.备份数据转备 64
四日常工作-数据库第一次安装部署后需做的工作 64
1.Statspack-系统快照采集工具初始化 64
2.创建统计信息导出表 65
3.运行EAS用户下所有表、索引统计分析,导出基准统计信息 65
4.创建Oracle10g逻辑备份dump文件存放目录 65
第二章事中阶段 66
一、Oracle数据库出现问题时需掌握的相关信息 66
1.问题症状描述 66
2.问题在什么地方出现 66
3.问题在什么时间出现 66
4.问题在什么条件下出现 66
5.问题涉及的范围 67
6.问题是否能重现 67
7.数据库运行环境软、硬件基本信息 67
8.Oracle性能相关 67
二、Oracle数据库问题的解决途径 68
概述
该文档主要目的是降低现场实施人员及用户Oracle数据库的管理难度,提高Oracle数据库技术能力,文档针对Oracle9i、10g两个版本提供了一套完整的Oracle数据库监控、管理的思路、方法步骤,依照该手册进行Oracle数据库的日常工作,能有效的把握Oracle后台数据库的整体运行健康状况,通过收集相关重要信息分析,能很好的防范即将出现的系统风险,系统出现问题后尽快的定位问题,现场解决一部分常规数据库问题。
对其它专业要求比较强的数据库问题,也能为后续Oracle专家深入分析、诊断问题提供规范、完整的信息。
文档按问题处于的阶段分两部分-事前阶段、事中阶段,事前阶段描述了每天、每周末、每月末针对数据库所需进行的管理工作,如:
日常监控,包括有环境监控、数据库运行状况监控、性能监控;
日常数据库管理,包括:
系统运行快照采集、表空间管理、数据库备份恢复、表、索引统计分析、TOP会话、SQL执行计划信息查看等。
涉及有相关图形化管理工具使用方法、数据库自动脚本、命令使用方法。
事中阶段描述了数据库发生问题时处理思路,需要收集哪些相关信息。
第一章.事前阶段
一、日常工作-每天应做工作内容
1、工作内容-日常环境监控
1.1系统运行环境监控
查看Oracle数据文件、控制文件、联机日志及归档日志存放的文件系统或裸设备空间使用情况。
重点关注Oracle软件及数据文件所在卷空间使用率:
su-oracle
AIX、linux查看磁盘空间:
df–kv
HP-UX查看磁盘空间:
bdf
检测操作系统CPU、内存、交换区、I/O配置状况
AIX:
CPU、内存、网络、IO、进程、页面交换:
topas
Linux、HP-UX:
top
1.2数据库运行状况监控
1.2.1外部
检查Oracle实例核心后台进程是否都存在、状态是否正常
$ps-ef|grepora_
查看数据库实例是否能正常连接、访问
SQL>
selectstatusfromv$instance;
监听是否正常
$lsnrctlstatus
1.2.2内部
是否有表空间出现故障
selecttablespace_name,statusfromdba_tablespaces;
日志文件是否正常
Select*fromv$log;
Select*fromv$logfile;
2、工作内容-日常性能监控
2.1间隔一段时间使用操作系统top等工具监控系统资源动态运行状况
CPU、内存、网络、IO、进程、页面交换等主要活动监控:
:
top(HP)、topas(AIX)、vmstat、iostat等
2.2间隔一段时间对数据库性能进行监控
2.2.1Oracle9i图形工具-PerformanceManager监控顶层会话及顶层SQL
1.打开OEM控制台,选中要监控的数据库。
2.工具中选择DiagnosticPack-PerformanceManager,也可直接选中TopSession或TopSQL。
Oracle9i的PerformanceManager工具监控内容主要有:
内存的使用情况,IO情况,Oracle数据库进程情况,sql语句运行情况等,主界面如下:
可以通过顶层会话下钻获取到相关SQL执行计划等信息,也可以直接查看TopSql选项获取当前执行最频繁、消耗资源最多的SQL语句
在数据页签下面列出了监控的选项列表,可以根据各类选项对SQL语句进行排序。
选中相关SQL语句,单击右键选择“下钻”到“解释计划”查看执行计划:
执行计划显示如下:
2.2.2Oracle10gOEM工具监控顶层会话及获取SQL详细信息
登录Oracle10gOEM,选择性能-其它监视链接:
顶级活动
点击顶级会话中的会话ID
点击SQLID,查看该顶级会话中SQL的详细信息
点击计划标签,查看该SQL语句的详细执行计划
浏览该顶层会话对应SQL语句的详细信息
2.2.3字符界面下Sql语句及用户进程信息采集
n通过视图查看当前主要影响性能SQL语句
语法模版
SELECT*FROM
(SELECThash_value,address,substr(sql_text,1,40)sql,
[listofcolumns],[listofderivedvalues]
FROM[V$SQLorV$SQLXSorV$SQLAREA]
WHERE[listofthresholdconditionsforcolumns]
ORDERBY[listoforderingcolumns]DESC)
WHERErownum<
=[numberoftopSQLstatements];
实际举例
(SELECThash_value,address,substr(sql_text,1,40)sql,
buffer_gets,executions,buffer_gets/executions"
Gets/Exec"
FROMV$SQLAREA
WHEREbuffer_gets>
100000ANDexecutions>
10
ORDERBYbuffer_getsDESC)
=10;
n跟踪用户进程获取统计信息:
获取要跟踪的用户进程
selectsid,serial#,usernamefromv$session;
开始跟踪-结束跟踪
Execdbms_system.set_ev(9,437,10046,8,‘用户名'
);
Execdbms_system.set_ev(9,437,10046,0,‘用户名'
生成的跟踪文件在user_dump_dest目录下
tkprof工具输出跟踪报表信息
tkprof/opt/oracle/admin/ytcw/udump/ytcw_ora_1026.trc
/opt/oracle/admin/ytcw/udump/ytcw_ora_1026.prf
aggregate=yessys=nosort=fchela
3、工作内容-日常数据库管理
3.1一天内间隔一定时间运行
3.1.1检查警告日志文件中最新错误信息
Linux、Unix系列平台:
vialertsid.log
输入:
“/ORA-”回车进行查找
Windows平台下使用常用的文本编辑工具即可查看搜索警告日志文件中Oracle错误信息
3.1.2系统运行状况快照采集
每天根据实际情况,在以下三个阶段手工运行Statspack快照采集,输出快照报表:
l正常工作压力下
l每天业务最高峰期
l特殊业务运行阶段
3.1.2.1Oracle9i自动化脚本方式快照采集
创建当前时间点快照
如需采集当前数据库运行状况快照,取20分钟间隔两次运行该脚本。
自动执行statspack快照脚本:
statspack_auto_exec.sh
#!
/bin/sh
#creator:
james_jiang
#function:
producestatpacksnapshot
echo"
AutoExecuteStatspack"
$ORACLE_HOME/bin/sqlplus/nolog<
<
EOF
connectperfstat/perfstat
execstatspack.snap
Autoexecutestatspacksuccessfully!
"
exit
输出最近两个快照时间点之间的快照信息报表
自动产生最近两个快照时间点统计信息快照脚本:
statspack_auto_report.sh
getstatpackreport
Autocreatestatspacksnapshot!
SQLPLUS=$ORACLE_HOME/bin/sqlplus
LOGFILE=$ORACLE_HOME/spreport.log
REPFILE=$ORACLE_HOME/spreport.lst
$ORACLE_HOME/bin/sqlplus-Sperfstat/perfstat<
SETECHOOFF
SETHEADINGOFF
SETFEEDBACKOF