日常工作手册doc.docx

上传人:b****0 文档编号:16936058 上传时间:2023-07-19 格式:DOCX 页数:61 大小:3.28MB
下载 相关 举报
日常工作手册doc.docx_第1页
第1页 / 共61页
日常工作手册doc.docx_第2页
第2页 / 共61页
日常工作手册doc.docx_第3页
第3页 / 共61页
日常工作手册doc.docx_第4页
第4页 / 共61页
日常工作手册doc.docx_第5页
第5页 / 共61页
日常工作手册doc.docx_第6页
第6页 / 共61页
日常工作手册doc.docx_第7页
第7页 / 共61页
日常工作手册doc.docx_第8页
第8页 / 共61页
日常工作手册doc.docx_第9页
第9页 / 共61页
日常工作手册doc.docx_第10页
第10页 / 共61页
日常工作手册doc.docx_第11页
第11页 / 共61页
日常工作手册doc.docx_第12页
第12页 / 共61页
日常工作手册doc.docx_第13页
第13页 / 共61页
日常工作手册doc.docx_第14页
第14页 / 共61页
日常工作手册doc.docx_第15页
第15页 / 共61页
日常工作手册doc.docx_第16页
第16页 / 共61页
日常工作手册doc.docx_第17页
第17页 / 共61页
日常工作手册doc.docx_第18页
第18页 / 共61页
日常工作手册doc.docx_第19页
第19页 / 共61页
日常工作手册doc.docx_第20页
第20页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

日常工作手册doc.docx

《日常工作手册doc.docx》由会员分享,可在线阅读,更多相关《日常工作手册doc.docx(61页珍藏版)》请在冰点文库上搜索。

日常工作手册doc.docx

日常工作手册doc

OracleDBA日常工作手册

概述

该文档主要目的是降低现场实施人员及用户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:

CPU、内存、网络、IO、进程、页面交换:

top

1.2数据库运行状况监控

1.2.1外部

检查Oracle实例核心后台进程是否都存在、状态是否正常

$ps-ef|grepora_

查看数据库实例是否能正常连接、访问

SQL>selectstatusfromv$instance;

监听是否正常

$lsnrctlstatus

1.2.2内部

是否有表空间出现故障

SQL>selecttablespace_name,statusfromdba_tablespaces;

日志文件是否正常

SQL>Select*fromv$log;

SQL>Select*fromv$logfile;

2、工作内容-日常性能监控

2.1间隔一段时间使用操作系统top等工具监控系统资源动态运行状况

CPU、内存、网络、IO、进程、页面交换等主要活动监控:

top、topas、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语句及用户进程信息采集

⏹通过视图查看当前主要影响性能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];

实际举例

SELECT*FROM

(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)

WHERErownum<=10;

⏹跟踪用户进程获取统计信息:

获取要跟踪的用户进程

SQL>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快照采集,输出快照报表:

●正常工作压力下

●每天业务最高峰期

●特殊业务运行阶段

3.1.2.1Oracle9i自动化脚本方式快照采集

创建当前时间点快照

如需采集当前数据库运行状况快照,取20分钟间隔两次运行该脚本。

自动执行statspack快照脚本:

statspack_auto_exec.sh

#!

/bin/sh

#creator:

james_jiang

#function:

producestatpacksnapshot

echo"AutoExecuteStatspack"

$ORACLE_HOME/bin/sqlplus/nolog<

connectperfstat/perfstat

execstatspack.snap

echo"Autoexecutestatspacksuccessfully!

"

exit

EOF

输出最近两个快照时间点之间的快照信息报表

自动产生最近两个快照时间点统计信息快照脚本:

statspack_auto_report.sh

#!

/bin/sh

#creator:

james_jiang

#function:

getstatpackreport

echo"Autocreatestatspacksnapshot!

"

SQLPLUS=$ORACLE_HOME/bin/sqlplus

LOGFILE=$ORACLE_HOME/spreport.log

REPFILE=$ORACLE_HOME/spreport.lst

$ORACLE_HOME/bin/sqlplus-Sperfstat/perfstat<

SETECHOOFF

SETHEADINGOFF

SETFEEDBACKOFF

SETPAGESIZE0

SETLINESIZE1000

SETTRIMSPOOLON

SPOOL$LOGFILE

selectSNAP_IDfrom(selectSNAP_IDfromstats\$snapshotwhereINSTANCE_NUMBER=1orderbySNAP_TIMEdesc)whererownum<3;

SPOOLOFF;

setechoon

setfeedbackon

setheadingon

exit

EOF

line1=`tail-1$LOGFILE`

line2=`head-1$LOGFILE`

echo"line1is"$line1

echo"line2is"$line2

$ORACLE_HOME/bin/sqlplus-Sperfstat/perfstat<

definebegin_snap=$line1

defineend_snap=$line2

definereport_name=$REPFILE

@?

/rdbms/admin/spreport.sql

echo"Autocreatestatspacksnapshotsuccessfully!

"

exit

EOF

3.1.2.2Oracle10gOEM图形管理工具实现系统快照采集

自动化脚本执行快照收集主要是Oracle9i版本的使用方式,Oracle10gOEM图形工具自动执行快照采集,缺省1小时收集一次,可以根据实际情况修改收集间隔时间、降低对系统性能影响。

系统快照自动收集时间、间隔、保留期限设置

登录Oracle10gOEM,选择管理-自动工作量档案库

点击编辑,查看或修改快照收集时间及间隔

Oracle10g缺省系统快照每隔一小时执行一次,保留最近15天的所有快照,可根据实际情况修改调整,点确定后保存所做修改。

创建当前时间点系统快照

点击管理快照和保留的快照集下面的当前快照ID

选择创建保留快照集,点击创建

选择“是”开始执行快照创建

快照在当前时间点成功创建。

输出两个快照时间点之间的快照信息报表

修改原来“创建保留的快照集”为“查看报告”,选择起始快照号,点击创建

选择结束快照号,点击“确定”

开始创建两个快照时间点之间的所有统计信息报告

另存该输出快照报告为HTML文件

注:

生成的统计信息快照报告放在专门目录下,定期对其整理、分析,作为EAS数据库运行整体状况及问题诊断的依据。

3.2每天工作结束后、系统空闲时运行

3.2.1表空间使用率

3.2.1.1SQL脚本方式查看

脚本:

FREESPACE.SQL

SELECTa.tablespace_name,ROUND(100-b.free/a.total*100)used_pct,

      ROUND(a.total/1024/1024)"total(MB)",

      ROUND(b.free/1024/1024)"free_total(MB)",

      ROUND(b.max_free/1024/1024)"free_max(MB)",b.free_cntfragment

 FROM(SELECT  tablespace_name,SUM(BYTES)total

           FROMdba_data_files

       GROUPBYtablespace_name)a,

      (SELECT  tablespace_name,SUM(BYTES)free,MAX(BYTES)max_free,

                COUNT(BYTES)free_cnt

           FROMdba_free_space

       GROUPBYtablespace_name)b

WHEREa.tablespace_name=b.tablespace_name 

3.2.1.2图形界面查看表空间使用率

Oracle9iOEM表空间管理

Oracle10gOEM表空间管理

登录OEM后选择管理-表空间

3.2.2数据库备份及日志清理(RmanandExpdp)

数据库备份主要提供两种方式,物理备份及逻辑备份,物理备份主要使用OracleRMAN工具,逻辑备份主要使用Oracle导出工具Exp及Expdp。

Oracle物理备份(RMAN)

该方式下周一到周五每天做一次增量备份,并检查备份是否正确,同时清理归档日志。

3.2.2.1Oracle9iRMAN自动化脚本增量备份

RMAN备份环境初始化设置:

rmannocatalog

rman>connecttargetsys/oracle

rman>configurecontrolfileautobackupon;

rman>configurecontrolfileautobackupformatfordevicetypediskto'f:

\rman_bak\%F.ctl';

rman>configuresnapshotcontrolfilenameto'f:

\rman_bak\snap_%F.ctl';

Rman备份命令写到一个脚本中,在命令行中执行这个脚本

RMANTARGET/NOCATALOGsys/oracleCMDFILEf:

\backup_incre_1.rcvLOGf:

\backup_incre_1.log

该命令可设置为crontab(unix/linux),bat批处理任务(Windows),在每天特定的时间点自动运行。

增量备份脚本:

backup_incre_1.rcv

run

{allocatechannelc1typeDISK;

backupincrementallevel=1format'f:

\rman_bak\incre_1_%d_%s_%p.bak'

(databaseincludecurrentcontrolfile);

backupformat'f:

\rman_bak\arch%u_%s_%p.bak'

(archivelogfromtime'sysdate-1'alldeleteinput);

}

显示RMAN备份集信息:

RMAN>listbackupset;

注:

上述脚本中涉及的文件路径需根据现场环境具体情况进行相应修改。

3.2.2.2Oracle10gOEM图形化方式设置RMAN备份自动执行任务

RMAN备份主要参数设置

登录10gOEM,选择维护-备份设置

磁盘设备备份路径、并行度指定(根据服务器cpu个数匹配)

备份策略设置

主要是指定备份磁盘位置及备份保留时间,下图设置中为周备份策略考虑,保留最近7天备份。

两种RMAN自动调度备份策略1)使用Oracle建议的自动调度备份策略

选择维护-调度备份

选择“调度Oracle建议的备份”

选择备份目标介质,缺省备份到磁盘介质

该备份策略内容描述

设置该策略执行数据库全量或增量备份的调度时间

2)自定义RMAN自动备份策略

选择“调度定制备份”

选择备份类型、模式、归档日志、过时备份清理策略

备份目标介质设置(缺省使用前面“备份设置”中设置的参数)

备份自动执行的调度时间设置(通常设置在系统空闲时进行,如晚上12点过后)

备份设置信息复查,确定后提交作业

通过查看作业可以了解备份任务进展情况。

3)查看当前数据库RMAN备份信息

选择维护-备份/恢复中“备份报告”可以查看所有备份执行情况

注:

前面描述的是数据库全量备份的调度策略设置,增量备份的调度策略设置方法类似,只需要在备份类型中选择增量备份即可。

设置完成后EAS数据库自动备份策略为一周一次全量备份,在星期六晚上12点进行。

周一到周五每天晚上12点执行一次增量备份,保留最近7天备份,过期备份、归档日志自动删除。

建议现场每周周末将RMAN备份的文件脱机保存。

(防止服务器存储介质损坏导致数据丢失)

Oracle逻辑备份(EXP/EXPDP)

1)操作系统级设置自动备份任务

oracle用户登录操作系统,运行crontab-e,添加以下内容:

5023**1-6/home/oracle/10gautoexpdp/eas_expdp_MontoSat.sh>>/home/oracle/10gautoexpdp/expdp.log2>&1

#星期一到星期六晚上11点50导出数据

5023**0/home/oracle/10gautoexpdp/eas_expdp_Sunday.sh>>/home/oracle/10gautoexpdp/expdp.log2>&1

#星期日11点50开始导出数据,并删除上周一到周六导出的备份数据。

2)逻辑备份脚本

逻辑备份脚本eas_expdp_MontoSat.sh(星期一到星期六)

#!

/bin/sh

#====================================================

#SCRIPT:

eas_expdp_MontoSat.sh

#AUTHOR:

James_jiang

#Date:

2007-10-10

#REV:

1.0

#PLATFORM:

AIXLinuxSolarisHpUnix

#PURPOSE:

Thisscriptisusedtorunlogicbackup.

#Copyright(c)2007KingdeeCo.,Ltd.

#AllRightsReserved

#=====================================================

DAY=`date+%u`

FILE_TARGET=eas_expdp_`expr$DAY'.dmp

FILE_LOG=eas_expdp_`expr$DAY`.log

exportFILE_TARGETFILE_LOG

#导出的Oracle实例名,尤其是服务器存在多个实例时需指定

ORACLE_SID=orcl

ORACLE_BASE=/home/app/oracle

ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1

exportORACLE_SIDORACLE_BASEORACLE_HOME

PATH=$PATH:

$HOME/bin:

$ORACLE_HOME/bin

expdpsystem/oracleschemas=nmdirectory=eas_expdp_dirdumpfile=$FILE_TARGETlogfile=$FILE_LOGjob_name=cases_exportparallel=4

逻辑备份脚本eas_expdp_Sunday.sh(星期日)

#!

/bin/sh

#=====================================================

#SCRIPT:

eas_expdp_Sunday.sh

#AUTHOR:

James_jiang

#Date:

2007-10-10

#REV:

1.0

#PLATFORM:

AIXLinuxSolarisHpUnix

#PURPOSE:

Thisscriptisusedtorunlogicbackup.

#=====================================================

DAY=`date+%u`

FILE_TARGET=eas_expdp_`expr$DAY`.dmp

FILE_LOG=eas_expdp_`expr$DAY`.log

exportFILE_TARGETFILE_LOG

#导出的Oracle实例名,尤其是服务器存在多个实例时需指定

ORACLE_SID=orcl

ORACLE_BASE=/home/app/oracle

ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1

cd/home/oracle/10gautoexpdp

rm-feas_expdp*.dmpeas_expdp*.log

expdpsystem/oracleschemas=nmdirectory=eas_expdp_dirdumpfile=$FILE_TARGETlogfile=$FILE_LOGjob_name=cases_exportparallel=4

附:

上述脚本中导出路径/home/oracle/10gautoexpdp需根据现场实际情况修改,备份脚本eas_expdp_MontoSat.sh、eas_expdp_Sunday.sh需赋予可执行权限。

Expdp导出的EAS用户(schemas=用户名)根据现场EAS用户名修改。

Expdp导出目录需要创建,具体方法请参看本文档四日常工作-数据库第一次安装部署后需做的工作。

建议现场每周周末将逻辑备份的dmp文件脱机保存。

(防止服务器存储介质损坏导致数据丢失)

3.2.3根据监控信息,对需要的表、索引统计分析

3.2.3.1Oracle9i自动化脚本方式对表、索引进行统计分析

Oracle9i缺省不对表进行改动监控,如果需要根据监控信息来判断是否需对表进行重新统计分析,则需要手工打开表监控开关,如下:

打开表监控开关:

altertable表名monitoring;//监控表信息记录在sys.dba_tab_modifications视图中

根据监控信息对用户统计信息分析收集脚本:

dbms_stats.gather_schema_stats(ownname=>'nmeas',options=>'GATHERAUTO')

3.2.3.2Oracle10g自动化任务表、索引统计分析方式

Orac

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2