Oracle-DBA日常工作手册-(2)【可编辑范本】

Oracle-DBA日常工作手册-(2)【可编辑范本】

ID:81782997

大小:6.28 MB

页数:68页

时间:2022-11-01

上传者:胜利的果实
Oracle-DBA日常工作手册-(2)【可编辑范本】_第1页
Oracle-DBA日常工作手册-(2)【可编辑范本】_第2页
Oracle-DBA日常工作手册-(2)【可编辑范本】_第3页
Oracle-DBA日常工作手册-(2)【可编辑范本】_第4页
Oracle-DBA日常工作手册-(2)【可编辑范本】_第5页
Oracle-DBA日常工作手册-(2)【可编辑范本】_第6页
Oracle-DBA日常工作手册-(2)【可编辑范本】_第7页
Oracle-DBA日常工作手册-(2)【可编辑范本】_第8页
Oracle-DBA日常工作手册-(2)【可编辑范本】_第9页
Oracle-DBA日常工作手册-(2)【可编辑范本】_第10页
资源描述:

《Oracle-DBA日常工作手册-(2)【可编辑范本】》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

OracleDBA日常工作手册概述2第一章. 事前阶段3一、日常工作-每天应做工作内容31、工作内容-日常环境监控ﻩ31.1系统运行环境监控31。2数据库运行状况监控32、工作内容-日常性能监控ﻩ42。1间隔一段时间使用操作系统top等工具监控系统资源动态运行状况ﻩ42.2间隔一段时间对数据库性能进行监控ﻩ43、工作内容-日常数据库管理ﻩ133.1一天内间隔一定时间运行133.2 每天工作结束后、系统空闲时运行25二、日常工作-每隔一周工作内容521.文件整理工作522.数据库全量备份ﻩ522.1Oracle 9iRMAN自动化脚本方式全量备份ﻩ522。2 Oracle 10g OEM图形方式创建RMAN全量备份数据库任务ﻩ523.根据一周数据增长率分析预留数据文件下一周所需增长空间ﻩ533.1SQL脚本方式查看533。2Oracle 9i OEM数据文件管理543.3Oracle10gOEM数据文件管理554. 索引使用情况及碎片分析ﻩ554。1表包含的索引及相关列检查ﻩ554.2自动化脚本方式对索引进行碎片分析ﻩ564。3打开索引自动监控开关565. 对用户所有表、索引进行统计分析ﻩ575。1查询EAS用户所有表、索引的最新统计分析时间575。2 自动化脚本方式对所有表、索引统计分析ﻩ575。3 Oracle10gOEM图形化自定义对所有表、索引统计分析的自动化调度任务ﻩ576。导出表、索引最新统计分析数据ﻩ637.性能报告分析ﻩ64三、日常工作-每月应做工作内容ﻩ641。性能全面分析ﻩ64全面分析一次STATSPACK报告64空间使用增长的全面分析642. 备份数据转备ﻩ64四日常工作-数据库第一次安装部署后需做的工作641.Statspack-系统快照采集工具初始化642。创建统计信息导出表ﻩ65

13.运行EAS用户下所有表、索引统计分析,导出基准统计信息654。 创建Oracle10g逻辑备份dump文件存放目录65第二章事中阶段66一、Oracle数据库出现问题时需掌握的相关信息661。问题症状描述ﻩ662.问题在什么地方出现663. 问题在什么时间出现664。问题在什么条件下出现ﻩ665.问题涉及的范围ﻩ676。问题是否能重现ﻩ677。数据库运行环境软、硬件基本信息678。Oracle性能相关ﻩ67二、Oracle数据库问题的解决途径68

2概述该文档主要目的是降低现场实施人员及用户Oracle数据库的管理难度,提高Oracle数据库技术能力,文档针对Oracle9i、10g两个版本提供了一套完整的Oracle数据库监控、管理的思路、方法步骤,依照该手册进行Oracle数据库的日常工作,能有效的把握Oracle后台数据库的整体运行健康状况,通过收集相关重要信息分析,能很好的防范即将出现的系统风险,系统出现问题后尽快的定位问题,现场解决一部分常规数据库问题。对其它专业要求比较强的数据库问题,也能为后续Oracle专家深入分析、诊断问题提供规范、完整的信息。文档按问题处于的阶段分两部分-事前阶段、事中阶段,事前阶段描述了每天、每周末、每月末针对数据库所需进行的管理工作,如:日常监控,包括有环境监控、数据库运行状况监控、性能监控;日常数据库管理,包括:系统运行快照采集、表空间管理、数据库备份恢复、表、索引统计分析、TOP会话、SQL执行计划信息查看等。涉及有相关图形化管理工具使用方法、数据库自动脚本、命令使用方法。事中阶段描述了数据库发生问题时处理思路,需要收集哪些相关信息.第一章.事前阶段一、日常工作-每天应做工作内容1、工作内容-日常环境监控1。1系统运行环境监控查看Oracle数据文件、控制文件、联机日志及归档日志存放的文件系统或裸设备空间使用情况。重点关注Oracle软件及数据文件所在卷空间使用率:su -oracleAIX、linux查看磁盘空间:df –kvHP—UX查看磁盘空间:bdf检测操作系统CPU、内存、交换区、I/O配置状况AIX :

3CPU、内存、网络、IO、进程、页面交换:topasLinux、HP—UX:CPU、内存、网络、IO、进程、页面交换:top1。2数据库运行状况监控1.2。1外部检查Oracle实例核心后台进程是否都存在、状态是否正常$ps-ef|grepora_查看数据库实例是否能正常连接、访问SQL〉 select statusfromv$instance;监听是否正常$lsnrctl status1。2。2内部是否有表空间出现故障SQL〉selecttablespace_name,status fromdba_tablespaces;日志文件是否正常SQL〉Select *fromv$log;SQL〉Select*fromv$logfile;

42、工作内容-日常性能监控2。1 间隔一段时间使用操作系统top等工具监控系统资源动态运行状况CPU、内存、网络、IO、进程、页面交换等主要活动监控::top、topas、vmstat、iostat等2。2间隔一段时间对数据库性能进行监控2。2。1Oracle9i图形工具-PerformanceManager监控顶层会话及顶层SQL1.打开OEM控制台,选中要监控的数据库.2.工具中选择Diagnostic Pack-Performance Manager,也可直接选中TopSession或TopSQL。Oracle9i 的PerformanceManager工具监控内容主要有:内存的使用情况,IO情况,Oracle数据库进程情况,sql语句运行情况等,主界面如下:

5 可以通过顶层会话下钻获取到相关SQL执行计划等信息,也可以直接查看TopSql选项获取当前执行最频繁、消耗资源最多的SQL语句

6 在数据页签下面列出了监控的选项列表,可以根据各类选项对SQL语句进行排序。选中相关SQL语句,单击右键选择“下钻"到“解释计划”查看执行计划:执行计划显示如下:2。2.2Oracle10gOEM工具监控顶层会话及获取SQL详细信息登录Oracle10gOEM,选择性能-其它监视链接:顶级活动

7

8点击顶级会话中的会话ID点击SQLID,查看该顶级会话中SQL的详细信息

9点击计划标签,查看该SQL语句的详细执行计划

10浏览该顶层会话对应SQL语句的详细信息

112。2。3字符界面下Sql语句及用户进程信息采集n通过视图查看当前主要影响性能SQL语句语法模版SELECT*FROM (SELECT hash_value,address,substr(sql_text,1,40)sql, [listofcolumns],[listofderivedvalues]FROM[V$SQLor V$SQLXSor V$SQLAREA] WHERE[listof thresholdconditions forcolumns] ORDERBY[listoforderingcolumns]DESC)WHERErownum<= [number oftopSQLstatements];实际举例SELECT*FROM(SELECThash_value,address,substr(sql_text,1,40)sql,

12   buffer_gets,executions, buffer_gets/executions"Gets/Exec" FROMV$SQLAREA  WHEREbuffer_gets>100000ANDexecutions〉10 ORDERBY buffer_getsDESC)WHERE rownum〈=10;n跟踪用户进程获取统计信息:获取要跟踪的用户进程SQL> selectsid,serial#,usernamefrom v$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=fchela3、工作内容-日常数据库管理3。1一天内间隔一定时间运行3。1.1检查警告日志文件中最新错误信息Linux、Unix系列平台:vi alertsid。log输入:“/ORA-"回车进行查找Windows平台下使用常用的文本编辑工具即可查看搜索警告日志文件中Oracle错误信息3。1.2系统运行状况快照采集每天根据实际情况,在以下三个阶段手工运行Statspack快照采集,输出快照报表:l正常工作压力下l每天业务最高峰期l特殊业务运行阶段

133.1.2。1 Oracle 9i自动化脚本方式快照采集创建当前时间点快照如需采集当前数据库运行状况快照,取20分钟间隔两次运行该脚本。自动执行statspack快照脚本:statspack_auto_exec。sh#!/bin/sh#creator: james_jiang#function:  producestatpacksnapshotecho"Auto ExecuteStatspack"$ORACLE_HOME/bin/sqlplus/nolog〈

14exitEOFline1=`tail —1$LOGFILE`line2=`head -1$LOGFILE`echo”line1is”$line1echo”line2is”$line2$ORACLE_HOME/bin/sqlplus -Sperfstat/perfstat〈<EOFdefinebegin_snap=$line1defineend_snap=$line2definereport_name=$REPFILE@?/rdbms/admin/spreport。sqlecho ”Autocreatestatspacksnapshot successfully!”exitEOF3。1.2。2Oracle 10gOEM图形管理工具实现系统快照采集自动化脚本执行快照收集主要是Oracle9i版本的使用方式,Oracle10gOEM图形工具自动执行快照采集,缺省1小时收集一次,可以根据实际情况修改收集间隔时间、降低对系统性能影响。系统快照自动收集时间、间隔、保留期限设置登录Oracle10g OEM,选择管理 -自动工作量档案库

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

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

17创建当前时间点系统快照点击管理快照和保留的快照集下面的当前快照ID

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

19选择“是”开始执行快照创建快照在当前时间点成功创建。

20输出两个快照时间点之间的快照信息报表修改原来“创建保留的快照集”为“查看报告”,选择起始快照号,点击创建

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

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

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

24注:生成的统计信息快照报告放在专门目录下,定期对其整理、分析,作为EAS数据库运行整体状况及问题诊断的依据.3.2每天工作结束后、系统空闲时运行3.2.1表空间使用率3.2。1.1 SQL脚本方式查看脚本:FREESPACE.SQLSELECT a.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       GROUPBY tablespace_name) a,      (SELECT   tablespace_name, SUM(BYTES) free, MAX(BYTES)max_free,                COUNT(BYTES)free_cnt            FROMdba_free_space       GROUPBY tablespace_name)bWHEREa。tablespace_name=b。tablespace_name 3.2。1.2图形界面查看表空间使用率Oracle9iOEM表空间管理 

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

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

27Oracle物理备份(RMAN)该方式下周一到周五每天做一次增量备份,并检查备份是否正确,同时清理归档日志.3.2.2。1Oracle 9iRMAN自动化脚本增量备份RMAN备份环境初始化设置:rmannocatalogrman〉connecttargetsys/oraclerman>configure controlfile autobackupon;rman〉configurecontrolfileautobackupformatfordevicetypediskto’f:\rman_bak\%F。ctl';rman>configuresnapshotcontrolfilenameto’f:\rman_bak\snap_%F.ctl';Rman备份命令写到一个脚本中,在命令行中执行这个脚本RMAN TARGET/NOCATALOGsys/oracleCMDFILEf:\backup_incre_1。rcvLOG f:\backup_incre_1。log该命令可设置为crontab(unix/linux),bat批处理任务(Windows),在每天特定的时间点自动运行。增量备份脚本: backup_incre_1。rcvrun{allocatechannelc1 typeDISK ;backup incrementallevel =1format'f:\rman_bak\incre_1_%d_%s_%p.bak’(databaseincludecurrent controlfile);backupformat 'f:\rman_bak\arch%u_%s_%p。bak'(archivelogfrom time’sysdate-1'all deleteinput);}显示RMAN备份集信息:RMAN〉listbackupset;

28注:上述脚本中涉及的文件路径需根据现场环境具体情况进行相应修改。3.2。2.2 Oracle10gOEM图形化方式设置RMAN备份自动执行任务RMAN备份主要参数设置登录10g OEM,选择维护 - 备份设置磁盘设备备份路径、并行度指定(根据服务器cpu个数匹配)

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

30两种RMAN自动调度备份策略1)使用Oracle建议的自动调度备份策略选择维护-调度备份

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

32选择备份目标介质,缺省备份到磁盘介质该备份策略内容描述

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

34

351)自定义RMAN自动备份策略选择“调度定制备份”

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

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

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

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

40

41通过查看作业可以了解备份任务进展情况。1)查看当前数据库RMAN备份信息选择维护-备份/恢复中“备份报告”可以查看所有备份执行情况

42注:前面描述的是数据库全量备份的调度策略设置,增量备份的调度策略设置方法类似,只需要在备份类型中选择增量备份即可。设置完成后EAS数据库自动备份策略为一周一次全量备份,在星期六晚上12点进行。周一到周五每天晚上12点执行一次增量备份,保留最近7天备份,过期备份、归档日志自动删除。Oracle逻辑备份(EXP/EXPDP)1) 操作系统级设置自动备份任务root用户登录操作系统,运行crontab–e,添加以下内容:5023**1-6su–oracle—c/usr/app/oracle/expdp/eas_expdp_MontoSat.sh〉 /dev/null2〉&1#星期一到星期六晚上11点50导出数据5023**0su– oracle—c/usr/app/oracle/expdp/eas_expdp_Sunday.sh〉/dev/null2>&1#星期日11点50开始导出数据,并删除上周一到周六导出的备份数据。

432)逻辑备份脚本逻辑备份脚本 eas_expdp_MontoSat。sh(星期一到星期六)#====================================================#SCRIPT :eas_expdp_MontoSat.sh# AUTHOR   :James_jiang#Date  : 2007—10—10# REV :1.0# PLATFORM:AIXLinux SolarisHpUnix#PURPOSE : Thisscriptis used torunlogic backup.#Copyright(c)2007 KingdeeCo。,Ltd.# AllRightsReserved#=====================================================DAY=`date+%u`FILE_TARGET=eas_expdp_`expr$DAY'。dmpFILE_LOG=eas_expdp_`expr$DAY`.logexportFILE_TARGETFILE_LOG#导出的Oracle实例名,尤其是服务器存在多个实例时需指定ORACLE_SID=orcl ORACLE_BASE=/home/app/oracleORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1exportORACLE_SIDORACLE_BASEORACLE_HOMEPATH=$PATH:$HOME/bin:$ORACLE_HOME/binexpdpsystem/oracleschemas=nmdirectory=eas_expdp_dirdumpfile=$FILE_TARGET logfile=$FILE_LOG job_name=cases_export parallel=4逻辑备份脚本 eas_expdp_Sunday。sh(星期日)sqlplus”/assysdba”SQL>createdirectoryeas_expdp_dir as’/usr/app/oracle/expdp';SQL〉grant read,writeondirectoryeas_expdp_dirto salhr;Oracle10g版本逻辑备份使用expdp工具,在部署导出自动任务前需创建导出dmp文件存放目录并授权给EAS数据库用户:#!/bin/sh#=====================================================#SCRIPT:eas_expdp_Sunday.sh#AUTHOR :James_jiang

44#Date   :2007-10—10#REV:1.0#PLATFORM :AIXLinuxSolarisHpUnix#PURPOSE  : Thisscriptisused to runlogicbackup.#=====================================================DAY=`date +%u`FILE_TARGET=eas_expdp_`expr$DAY`.dmpFILE_LOG=eas_expdp_`expr$DAY`.logexport FILE_TARGETFILE_LOG#导出的Oracle实例名,尤其是服务器存在多个实例时需指定ORACLE_SID=orcl ORACLE_BASE=/home/app/oracleORACLE_HOME=$ORACLE_BASE/oracle/product/10。2。0/db_1cd/home/oracle/10gautoexpdprm-feas_expdp*。dmpeas_expdp*.logexpdpsystem/oracleschemas=nmdirectory=eas_expdp_dirdumpfile=$FILE_TARGET logfile=$FILE_LOGjob_name=cases_exportparallel=4附:上述脚本中导出路径/usr/app/oracle/expdp需根据现场实际情况修改,备份脚本eas_expdp_MontoSat.sh、eas_expdp_Sunday.sh需赋予可执行权限。Expdp导出目录需要创建,具体方法请参看本文档 四日常工作-数据库第一次安装部署后需做的工作3.2。3根据监控信息,对需要的表、索引统计分析3。2。3.1Oracle9i自动化脚本方式对表、索引进行统计分析Oracle9i缺省不对表进行改动监控,如果需要根据监控信息来判断是否需对表进行重新统计分析,则需要手工打开表监控开关,如下:打开表监控开关:alter table表名monitoring;//监控表信息记录在sys.dba_tab_modifications视图中根据监控信息对用户统计信息分析收集脚本:dbms_stats.gather_schema_stats(ownname=〉'nmeas',options=>’GATHERAUTO’)

453。2.3.2Oracle10g自动化任务表、索引统计分析方式Oracle10g缺省自动对所有表变动进行监控,并自动执行所有用户统计分析,可以禁止该缺省方式,在dbconsole中手工配置对特定用户统计分析任务。Oracle10g禁用、启用缺省数据库自动统计信息分析收集任务:execdbms_scheduler.disable('SYS.GATHER_STATS_JOB');execdbms_scheduler。enable('SYS.GATHER_STATS_JOB');Oracle10gOEM图形工具自定义配置统计分析任务登录OEM,选择管理-统计信息管理-管理优化程序统计信息选择“操作”-搜集优化程序统计信息

46选择“方案”,点击下一步

47设置用户统计信息分析自动执行的时间调度示例中设置的是从2007-03-29开始,每天晚上12点自动执行用户NMEAS统计信息分析,

48用户统计信息分析任务设置完整栏目显示

49提交完成任务设置

50查看数据库中所有自动调度任务执行情况OEM中选择栏目:管理-统计信息管理(管理优化程序统计信息)选择相关链接-作业调度程序

51注:上述配置的自动统计分析任务利用Oracle自动监控来判断哪些对象改动较大,需要重新进行统计分析。然后在调度的时间对其重新进行统计分析。一、日常工作-每隔一周工作内容1.文件整理工作n警告日志、跟踪文件、dump文件清理n备份文件整理nStatspack统计分析报告整理2.数据库全量备份2。1Oracle 9iRMAN自动化脚本方式全量备份Rman备份命令写到一个脚本中,在命令行中执行这个脚本RMANTARGET/NOCATALOGsys/oracleCMDFILEe:\backup_incre_0.rcv LOGe:\backup_incre_0.log数据库完全备份脚本: backup_full_0。rcvrun{allocatechannel c1typeDISK;backupincrementallevel=0format’f:\rman_bak\incre_0_%d_%s_%p。bak'(databaseinclude currentcontrolfile);backup format 'f:\rman_bak\arch%u_%s_%p。bak'(archivelogfrom time’sysdate-1'alldeleteinput);}删除过期备份:RMAN〉deleteexpired backup;2.2Oracle10gOEM图形方式创建RMAN全量备份数据库任务具体方法、步骤请参看数据库日常工作-每天应做工作内容中RMAN备份部分

521.根据一周数据增长率分析预留数据文件下一周所需增长空间3.1SQL脚本方式查看数据文件空间使用率查看脚本:SELECT df.tablespace_name,ROUND(df.BYTES /1024 /1024)"total(MB)",  ROUND((df.BYTES — x.free)/1024/1024) "used(MB)",    ROUND(x.hw/1024/1024)hwatermarker,   ROUND(x。free/1024 /1024)”free(MB)",df.file_name  FROMdba_data_filesdf, (SELECT  file_id, MAX(block_id *p.VALUE) hw, SUM (BYTES) free     FROMdba_free_space,v$parameterp   WHERE p.NAME='db_block_size’ GROUPBYfile_id) x WHERE x。file_id=df。file_idORDERBY1,2

533.2Oracle9iOEM 数据文件管理

543。3 Oracle10g OEM 数据文件管理2.索引使用情况及碎片分析4.1表包含的索引及相关列检查1、表及索引创建、修改日期检查EAS用户登录到数据库,执行语句:

55SQL〉SELECTOBJECT_NAME,OBJECT_TYPE,CREATED,LAST_DDL_TIME,STATUS FROM USER_OBJECTS;1、表包含的索引及索引相关列检查SQL>SELECT INDEX_NAME,TABLE_NAME,COLUMN_NAME FROMUSER_IND_COLUMNSWHERETABLE_NAMELIKE'T_%'ORDERBYTABLE_NAME;2、特定表及其关联索引、列详细信息检查SELECTA.TABLE_NAME,A.INDEX_NAME,COLUMN_NAME,CREATED,LAST_DDL_TIME,LAST_ANALYZEDFROMUSER_IND_COLUMNSA,USER_OBJECTS B,USER_INDEXESCWHERE A。INDEX_NAME=B。OBJECT_NAMEANDB。OBJECT_NAME=C.INDEX_NAMEANDC.TABLE_NAMEIN('','')注:如需输出语句执行结果信息,可在语句执行前spooltableindex。list,执行完成后再spool off;4.2自动化脚本方式对索引进行碎片分析每周监测一次索引的碎片情况,根据情况制定索引的重建频率以提高索引使用效率.1、产生EAS用户分析索引的脚本:SQL>select'analyzeindex '|| index_name ||'VALIDATE STRUCTURE’fromuser_indexes;2、执行EAS用户下所有索引分析:SQL>analyzeindex〈index_name〉 VALIDATESTRUCTURE;……。。3、基于分析结果,查看索引碎片率:SQL>selectname,del_lf_rows_len,lf_rows_len,(del_lf_rows_len/lf_rows_len)*100fromindex_stats;索引碎片率(%)= (被删除的索引长度/索引总长)*1004、对碎片率高的索引执行重建整理SQL>alterindex〈索引名〉rebuild;4。3打开索引自动监控开关如数据库中新增加、修改了索引,则可以打开这些索引的自动监控。监测索引的使用情况,根据使用情况,删除未使用的索引,并添加能提高查询和处理性能的索引。SQL〉alterindex<索引名> monitoringusage; 

56SQL> alterindex〈索引名〉nomonitoringusage;SQL〉 selectindex_name,used fromv$object_usage;1.对用户所有表、索引进行统计分析5.1查询EAS用户所有表、索引的最新统计分析时间表:SQL>select table_name,last_analyzed fromuser_tables orderby2;索引:SQL〉select table_name,index_name,last_analyzedfrom user_indexesorderby1,3注:last_analyzed字段显示的日期太老,则表明该表或索引最近未做统计分析,如果恰好最近大量更新、导入或删除了记录,需要重新对其执行统计分析。5。2 自动化脚本方式对所有表、索引统计分析对用户所有对象进行完整统计信息分析收集脚本:dbms_stats。gather_schema_stats(ownname=〉'nmeas',method_opt=>’FORALLINDEXED COLUMNSSIZE auto',estimate_percent =〉100,degree=>DBMS_STATS。DEFAULT_DEGREE,cascade=〉true)9i需(加入crontab或bat任务)5。3Oracle 10gOEM图形化自定义对所有表、索引统计分析的自动化调度任务登录OEM,选择管理-统计信息管理-管理优化程序统计信息-“操作”-搜集优化程序统计信息

57范围选项方案中选择“定制选项"

58添加用来做统计信息收集的EAS用户配置周统计信息收集Oracle相关参数

59配置周统计信息收集任务执行的调度时间(下图中配置的为每周星期六晚上12点自动执行统计信息搜集)

60浏览周统计信息收集任务配置的完整信息

61提交完成周统计信息收集任务配置

62注: 每周末EAS用户下所有表、索引通过上述任务执行完整的统计分析。1.导出表、索引最新统计分析数据将导出的统计分析数据导入测试库,可以在测试库重新构建性能关键或所有sql语句执行计划、与基准执行计划进行比较。导出用户当前统计信息:exec dbms_stats.export_schema_stats(’nmeas','stats_export')注:存储导出信息的表stats_export需在安装部署EAS后台数据库时创建.可以考虑与周统计信息收集放在同一job中

631.性能报告分析就一周来的statspack报告进行整理、分析,主要关注:n数据库整体性能状况指标n数据库主要等待事件n最消耗cpu、内存资源、I/O的SQL语句二、日常工作-每月应做工作内容1.性能全面分析全面分析一次STATSPACK报告n数据库主要性能指标n数据库主要等待事件n最消耗cpu、内存资源、I/O的SQL语句空间使用增长的全面分析n确定是否需要扩充存储空间n考虑预留足够下个月使用的空间2. 备份数据转备将一个月以来的Rman备份文件打包,转存到外部存储介质,有条件最好存放异地。三 日常工作-数据库第一次安装部署后需做的工作1.Statspack-系统快照采集工具初始化Oracle9i 自动化脚本方式初始化Statspack工具安装statspack工具SQL〉@?/rdbms/admin/spcreate创建用户perfstat要求输入口令:perfstat要求输入表空间:users

64及临时表空间:temp……创建完成。注:Oracle10gOEM图形化系统快照采集不用进行Statspack初始化1.创建统计信息导出表创建用户统计信息导出表:exec dbms_stats。create_stat_table(’nmeas’,’stats_export')2.运行EAS用户下所有表、索引统计分析,导出基准统计信息对用户所有对象进行完整统计信息分析收集脚本:dbms_stats.gather_schema_stats(ownname=>'nmeas’,method_opt=〉'FORALLINDEXED SIZE auto’,estimate_percent=>dbms_stats.auto_sample_size,degree=>DBMS_STATS。DEFAULT_DEGREE,cascade=>true)导出用户当前统计信息:execdbms_stats。export_schema_stats(’nmeas','stats_export')3.创建Oracle10g逻辑备份dump文件存放目录Oracle用户登录操作系统,执行:sqlplus"/assysdba”SQL〉createdirectoryeas_expdp_dir as ’/usr/app/oracle/expdp’;SQL>grantread,writeondirectory eas_expdp_dir to eas用户名;注:目录/usr/app/oracle/expdp根据实际环境修改。

65第一章事中阶段既使按规范操作手册对数据库进行日常监控、管理,也不能避免数据库运行过程中产生各式各样的问题,这些问题涉及的原因方方面面,因此,在出现问题的事中阶段关键是收集、掌握问题发生时所有相关信息,并对其进行分析,准确的定位问题,找出最好的解决办法。一、Oracle数据库出现问题时需掌握的相关信息1.问题症状描述返回的错误代码及描述信息:lEAS应用返回“ORA-”错误信息l警告日志文件-Alertsid。log出现“ORA—”错误信息2.问题在什么地方出现l安装db的哪一步l备份、恢复到哪一步报错l应用程序运行时报错l应用程序连接报错l数据库正常启动、关闭报错l数据库正常使用报错(日志文件)3.问题在什么时间出现l一段时间内持续出现l某个特定时间点出现4.问题在什么条件下出现l硬、软件升级,更新补丁后l批处理作业在运行导致

66l操作系统存储进行改动l反病毒软件运行l业务高峰期(并发用户数多少,此时是否有大量用户在做报表、计算等复杂业务)1.问题涉及的范围l个别系统或区域l相关的所有系统或区域2.问题是否能重现3.数据库运行环境软、硬件基本信息l操作系统平台版本、补丁号l数据库版本、补丁号l第三方软件版本、补丁号lCpu、内存、交换区配置l存储配置及空间使用率4.Oracle性能相关如出现Oracle数据库整体性能下降、某功能响应时间过长甚至没反应等性能问题,除了需了解上述的信息外,还需要进行额外信息收集:lOracle数据库这段时间系统运行快照报告l定位该功能主要sql后,导出及相关表、索引结构及统计数据注:该信息收集的方法、步骤请参看第一章相关章节

67二、Oracle数据库问题的解决途径l现场对问题进行分析,结合数据库相关知识、经验积累解决l参看Oracle相关技术手册解决l通过电话、EMAIL等方式咨询各类Oracle专家解决

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
关闭