Oracle+DBA日常工作手册word精品文档23页.doc

上传人:1595****071 文档编号:33869011 上传时间:2022-08-12 格式:DOC 页数:23 大小:390.50KB
返回 下载 相关 举报
Oracle+DBA日常工作手册word精品文档23页.doc_第1页
第1页 / 共23页
Oracle+DBA日常工作手册word精品文档23页.doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《Oracle+DBA日常工作手册word精品文档23页.doc》由会员分享,可在线阅读,更多相关《Oracle+DBA日常工作手册word精品文档23页.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、如有侵权,请联系网站删除,仅供学习与交流Oracle+DBA日常工作手册【精品文档】第 23 页Oracle DBA日常工作手册概述2第一章 . 事前阶段3一 、 日常工作每天应做工作内容31、工作内容日常环境监控31.1系统运行环境监控31.2数据库运行状况监控32、工作内容日常性能监控42.1 间隔一段时间使用操作系统top等工具监控系统资源动态运行状况42.2间隔一段时间对数据库性能进行监控43、工作内容日常数据库管理133.1一天内间隔一定时间运行133.2 每天工作结束后、系统空闲时运行25二 、日常工作每隔一周工作内容521. 文件整理工作522. 数据库全量备份522.1 Ora

2、cle 9i RMAN自动化脚本方式全量备份522.2 Oracle 10g OEM 图形方式创建RMAN全量备份数据库任务523. 根据一周数据增长率分析预留数据文件下一周所需增长空间533.1 SQL脚本方式查看533.2 Oracle 9i OEM 数据文件管理543.3 Oracle 10g OEM 数据文件管理554. 索引使用情况及碎片分析554.1表包含的索引及相关列检查554.2自动化脚本方式对索引进行碎片分析564.3打开索引自动监控开关565. 对用户所有表、索引进行统计分析575.1 查询EAS用户所有表、索引的最新统计分析时间575.2 自动化脚本方式对所有表、索引统计

3、分析575.3 Oracle 10g OEM图形化自定义对所有表、索引统计分析的自动化调度任务576. 导出表、索引最新统计分析数据637. 性能报告分析64三 、 日常工作每月应做工作内容641. 性能全面分析64全面分析一次STATSPACK报告64空间使用增长的全面分析642. 备份数据转备64四 日常工作数据库第一次安装部署后需做的工作641. Statspack系统快照采集工具初始化642. 创建统计信息导出表653. 运行EAS用户下所有表、索引统计分析,导出基准统计信息654. 创建Oracle10g 逻辑备份dump文件存放目录65第二章 事中阶段66一、Oracle数据库出现

4、问题时需掌握的相关信息661. 问题症状描述662. 问题在什么地方出现663. 问题在什么时间出现664. 问题在什么条件下出现665. 问题涉及的范围676. 问题是否能重现677. 数据库运行环境软、硬件基本信息678. Oracle性能相关67二、Oracle数据库问题的解决途径68概述该文档主要目的是降低现场实施人员及用户Oracle数据库的管理难度,提高Oracle数据库技术能力,文档针对Oracle9i、10g两个版本提供了一套完整的Oracle数据库监控、管理的思路、方法步骤,依照该手册进行Oracle数据库的日常工作,能有效的把握Oracle后台数据库的整体运行健康状况,通过

5、收集相关重要信息分析,能很好的防范即将出现的系统风险,系统出现问题后尽快的定位问题,现场解决一部分常规数据库问题。对其它专业要求比较强的数据库问题,也能为后续Oracle专家深入分析、诊断问题提供规范、完整的信息。文档按问题处于的阶段分两部分事前阶段、事中阶段,事前阶段描述了每天、每周末、每月末针对数据库所需进行的管理工作,如:日常监控,包括有环境监控、数据库运行状况监控、性能监控;日常数据库管理,包括:系统运行快照采集、表空间管理、数据库备份恢复、表、索引统计分析、TOP会话、SQL执行计划信息查看等。涉及有相关图形化管理工具使用方法、数据库自动脚本、命令使用方法。事中阶段描述了数据库发生问

6、题时处理思路,需要收集哪些相关信息。第一章 . 事前阶段一 、 日常工作每天应做工作内容1、工作内容日常环境监控1.1系统运行环境监控查看Oracle 数据文件、控制文件、联机日志及归档日志存放的文件系统或裸设备空间使用情况。重点关注Oracle软件及数据文件所在卷空间使用率:su - oracleAIX、linux查看磁盘空间:df kv HP-UX查看磁盘空间:bdf检测操作系统CPU、内存、交换区、I/O配置状况AIX :CPU、内存、网络、IO、进程、页面交换:topasLinux、HP-UX :CPU、内存、网络、IO、进程、页面交换: top1.2数据库运行状况监控1.2.1 外部

7、检查Oracle实例核心后台进程是否都存在、状态是否正常$ ps -ef|grep ora_查看数据库实例是否能正常连接、访问SQL select status from v$instance;监听是否正常$ lsnrctl status1.2.2 内部是否有表空间出现故障SQL select tablespace_name,status from dba_tablespaces;日志文件是否正常SQL Select * from v$log;SQL Select * from v$logfile;2、工作内容日常性能监控2.1 间隔一段时间使用操作系统top等工具监控系统资源动态运行状况CP

8、U、内存、网络、IO、进程、页面交换等主要活动监控: top、topas、vmstat、iostat等2.2间隔一段时间对数据库性能进行监控2.2.1 Oracle 9i 图形工具Performance Manager监控顶层会话及顶层SQL1 打开OEM控制台,选中要监控的数据库。2 工具中选择 Diagnostic PackPerformance Manager,也可直接选中Top Session或Top SQL。Oracle9i 的Performance Manager工具监控内容主要有:内存的使用情况,IO情况,Oracle数据库进程情况,sql语句运行情况等,主界面如下:可以通过顶层

9、会话下钻获取到相关SQL执行计划等信息,也可以直接查看TopSql选项获取当前执行最频繁、消耗资源最多的SQL语句 在数据页签下面列出了监控的选项列表,可以根据各类选项对SQL语句进行排序。选中相关SQL语句,单击右键选择“下钻”到“解释计划”查看执行计划:执行计划显示如下:2.2.2 Oracle10g OEM工具监控顶层会话及获取SQL详细信息登录Oracle10g OEM,选择性能 其它监视链接:顶级活动点击顶级会话中的会话ID 点击SQL ID,查看该顶级会话中SQL的详细信息点击计划标签,查看该SQL语句的详细执行计划浏览该顶层会话对应SQL语句的详细信息2.2.3 字符界面下Sql

10、语句及用户进程信息采集n 通过视图查看当前主要影响性能SQL语句语法模版SELECT * FROM (SELECT hash_value,address,substr(sql_text,1,40) sql, list of columns, list of derived values FROM V$SQL or V$SQLXS or V$SQLAREA WHERE list of threshold conditions for columns ORDER BY list of ordering columns DESC)WHERE rownum 100000 AND executions

11、10 ORDER BY buffer_gets DESC)WHERE rownum select sid,serial#,username from v$session;开始跟踪结束跟踪Exec dbms_system.set_ev(9,437,10046,8,用户名);Exec dbms_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/ud

12、ump/ytcw_ora_1026.prf aggregate=yes sys=no sort=fchela3、工作内容日常数据库管理 3.1一天内间隔一定时间运行3.1.1检查警告日志文件中最新错误信息Linux、Unix系列平台:vi alertsid.log输入:“/ORA” 回车进行查找Windows 平台下使用常用的文本编辑工具即可查看搜索警告日志文件中Oracle错误信息3.1.2系统运行状况快照采集每天根据实际情况,在以下三个阶段手工运行Statspack快照采集,输出快照报表:l 正常工作压力下l 每天业务最高峰期l 特殊业务运行阶段3.1.2.1 Oracle 9i自动化脚本

13、方式快照采集创建当前时间点快照如需采集当前数据库运行状况快照,取20分钟间隔两次运行该脚本。自动执行statspack快照脚本:statspack_auto_exec.sh#!/bin/sh# creator: james_jiang# function: produce statpack snapshotecho Auto Execute Statspack$ORACLE_HOME/bin/sqlplus /nolog EOFconnect perfstat/perfstatexec statspack.snapecho Auto execute statspack successfully

14、!exitEOF输出最近两个快照时间点之间的快照信息报表自动产生最近两个快照时间点统计信息快照脚本:statspack_auto_report.sh#!/bin/sh# creator: james_jiang# function:get statpack reportecho Auto create statspack snapshot!SQLPLUS=$ORACLE_HOME/bin/sqlplusLOGFILE=$ORACLE_HOME/spreport.logREPFILE=$ORACLE_HOME/spreport.lst$ORACLE_HOME/bin/sqlplus -S per

15、fstat/perfstat EOFSET ECHO OFFSET HEADING OFFSET FEEDBACK OFFSET PAGESIZE 0SET LINESIZE 1000SET TRIMSPOOL ONSPOOL $LOGFILEselect SNAP_ID from (select SNAP_ID from stats$snapshot where INSTANCE_NUMBER=1 order by SNAP_TIME desc) where rownum3;SPOOL OFF;set echo onset feedback onset heading onexitEOFli

16、ne1=tail -1 $LOGFILEline2=head -1 $LOGFILEecho line1 is$line1echo line2 is$line2$ORACLE_HOME/bin/sqlplus -S perfstat/perfstat connect target sys/oraclermanconfigure controlfile autobackup on;rmanconfigure controlfile autobackup format for device type disk to f:rman_bak%F.ctl;rmanconfigure snapshot c

17、ontrolfile name to f:rman_baksnap_%F.ctl;Rman备份命令写到一个脚本中,在命令行中执行这个脚本RMAN TARGET / NOCATALOG sys/oracle CMDFILE f: backup_incre_1.rcv LOG f: backup_incre_1.log该命令可设置为crontab(unix/linux),bat批处理任务(Windows),在每天特定的时间点自动运行。增量备份脚本: backup_incre_1.rcvrun allocate channel c1 type DISK ;backup incremental lev

18、el = 1 format f:rman_bakincre_1_%d_%s_%p.bak(database include current controlfile);backup format f:rman_bakarch%u_%s_%p.bak(archivelog from time sysdate-1 all delete input);显示RMAN备份集信息:RMAN list backupset;注:上述脚本中涉及的文件路径需根据现场环境具体情况进行相应修改。3.2.2.2 Oracle10g OEM图形化方式设置RMAN备份自动执行任务RMAN备份主要参数设置登录10g OEM,选

19、择维护 备份设置磁盘设备备份路径、并行度指定(根据服务器cpu个数匹配)备份策略设置主要是指定备份磁盘位置及备份保留时间,下图设置中为周备份策略考虑,保留最近7天备份。两种RMAN自动调度备份策略1) 使用Oracle建议的自动调度备份策略选择维护调度备份选择“调度Oracle建议的备份”选择备份目标介质,缺省备份到磁盘介质该备份策略内容描述设置该策略执行数据库全量或增量备份的调度时间2) 自定义RMAN自动备份策略选择“调度定制备份”选择备份类型、模式、归档日志、过时备份清理策略备份目标介质设置(缺省使用前面“备份设置”中设置的参数)备份自动执行的调度时间设置(通常设置在系统空闲时进行,如晚

20、上12点过后)备份设置信息复查,确定后提交作业通过查看作业可以了解备份任务进展情况。3) 查看当前数据库RMAN备份信息选择维护备份/恢复中“备份报告”可以查看所有备份执行情况注:前面描述的是数据库全量备份的调度策略设置,增量备份的调度策略设置方法类似,只需要在备份类型中选择增量备份即可。设置完成后EAS数据库自动备份策略为一周一次全量备份,在星期六晚上12点进行。周一到周五每天晚上12点执行一次增量备份,保留最近7天备份,过期备份、归档日志自动删除。Oracle逻辑备份(EXP/EXPDP)1) 操作系统级设置自动备份任务root用户登录操作系统,运行crontab e,添加以下内容:50

21、23 * * 1-6 su oracle -c /usr/app/oracle/expdp/eas_expdp_MontoSat.sh /dev/null 2&1#星期一到星期六晚上11点50导出数据50 23 * * 0 su oracle -c /usr/app/oracle/expdp/eas_expdp_Sunday.sh /dev/null 2&1#星期日11点50开始导出数据,并删除上周一到周六导出的备份数据。2) 逻辑备份脚本逻辑备份脚本 eas_expdp_MontoSat.sh(星期一到星期六)#!/bin/sh#=# SCRIPT : eas_expdp_MontoSat.

22、sh# AUTHOR : James_jiang# Date : 2007-10-10# REV : 1.0# PLATFORM : AIX Linux Solaris HpUnix# PURPOSE : This script is used to run logic backup.# Copyright(c) 2007 Kingdee Co.,Ltd.# All Rights Reserved#=DAY=date +%aFILE_TARGET=eas_expdp_expr $DAY.dmpFILE_LOG=eas_expdp_expr $DAY.log export FILE_TARGET

23、 FILE_LOG expdp salhr/salhr schemas=salhr directory=eas_expdp_dir dumpfile=$FILE_TARGET logfile=$FILE_LOG job_name=cases_export parallel=4 逻辑备份脚本 eas_expdp_Sunday.sh(星期日)sqlplus /as sysdbaSQLcreate directory eas_expdp_dir as /usr/app/oracle/expdp;SQLgrant read,write on directory eas_expdp_dir to sal

24、hr;Oracle10g 版本逻辑备份使用expdp工具,在部署导出自动任务前需创建导出dmp文件存放目录并授权给EAS数据库用户:#!/bin/sh#=# SCRIPT : eas_expdp_Sunday.sh# AUTHOR : James_jiang# Date : 2007-10-10# REV : 1.0# PLATFORM : AIX Linux Solaris HpUnix# PURPOSE : This script is used to run logic backup.#=DAY=date +%aFILE_TARGET=eas_expdp_expr $DAY.dmpFIL

25、E_LOG=eas_expdp_expr $DAY.log export FILE_TARGET FILE_LOG cd /usr/app/oracle/expdprm -f eas_expdp*.dmp eas_expdp*.logexpdp salhr/salhr schemas=salhr directory=eas_expdp_dir dumpfile=$FILE_TARGET logfile=$FILE_LOG job_name=cases_export parallel=4 附: 上述脚本中导出路径 /usr/app/oracle/expdp需根据现场实际情况修改,备份脚本eas_

26、expdp_MontoSat.sh、eas_expdp_Sunday.sh需赋予可执行权限。Expdp导出目录需要创建,具体方法请参看本文档 四 日常工作数据库第一次安装部署后需做的工作3.2.3根据监控信息,对需要的表、索引统计分析3.2.3.1 Oracle9i 自动化脚本方式对表、索引进行统计分析Oracle9i缺省不对表进行改动监控,如果需要根据监控信息来判断是否需对表进行重新统计分析,则需要手工打开表监控开关,如下:打开表监控开关:alter table 表名 monitoring;/监控表信息记录在sys.dba_tab_modifications视图中根据监控信息对用户统计信息分

27、析收集脚本:dbms_stats.gather_schema_stats(ownname=nmeas,options=GATHER AUTO)3.2.3.2 Oracle10g 自动化任务表、索引统计分析方式Oracle10g 缺省自动对所有表变动进行监控,并自动执行所有用户统计分析,可以禁止该缺省方式,在dbconsole中手工配置对特定用户统计分析任务。Oracle10g禁用、启用缺省数据库自动统计信息分析收集任务:exec dbms_scheduler.disable(SYS.GATHER_STATS_JOB);exec dbms_scheduler.enable(SYS.GATHER_

28、STATS_JOB);Oracle10g OEM图形工具自定义配置统计分析任务登录OEM,选择管理统计信息管理管理优化程序统计信息选择“操作”搜集优化程序统计信息选择“方案”,点击下一步设置用户统计信息分析自动执行的时间调度示例中设置的是从2007-03-29开始,每天晚上12点自动执行用户NMEAS统计信息分析,用户统计信息分析任务设置完整栏目显示提交完成任务设置查看数据库中所有自动调度任务执行情况OEM中选择栏目:管理统计信息管理(管理优化程序统计信息)选择相关链接作业调度程序注:上述配置的自动统计分析任务利用Oracle自动监控来判断哪些对象改动较大,需要重新进行统计分析。然后在调度的时

29、间对其重新进行统计分析。二 、日常工作每隔一周工作内容1. 文件整理工作n 警告日志、跟踪文件、dump文件清理n 备份文件整理n Statspack统计分析报告整理2. 数据库全量备份2.1 Oracle 9i RMAN自动化脚本方式全量备份Rman备份命令写到一个脚本中,在命令行中执行这个脚本RMAN TARGET / NOCATALOG sys/oracle CMDFILE e: backup_incre_0.rcv LOG e: backup_incre_0.log数据库完全备份脚本: backup_full_0.rcvrun allocate channel c1 type DISK

30、 ;backup incremental level = 0 format f:rman_bakincre_0_%d_%s_%p.bak(database include current controlfile);backup format f:rman_bakarch%u_%s_%p.bak(archivelog from time sysdate-1 all delete input);删除过期备份:RMANdelete expired backup;2.2 Oracle 10g OEM 图形方式创建RMAN全量备份数据库任务具体方法、步骤请参看数据库日常工作每天应做工作内容中RMAN备份

31、部分3. 根据一周数据增长率分析预留数据文件下一周所需增长空间3.1 SQL脚本方式查看数据文件空间使用率查看脚本: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 FROM dba_data_files df, (SELE

32、CT file_id, MAX (block_id * p.VALUE) hw, SUM (BYTES) free FROM dba_free_space, v$parameter p WHERE p.NAME = db_block_size GROUP BY file_id) x WHERE x.file_id = df.file_idORDER BY 1, 23.2 Oracle 9i OEM 数据文件管理3.3 Oracle 10g OEM 数据文件管理4. 索引使用情况及碎片分析4.1表包含的索引及相关列检查1、 表及索引创建、修改日期检查EAS用户登录到数据库,执行语句:SQLSEL

33、ECT OBJECT_NAME,OBJECT_TYPE,CREATED,LAST_DDL_TIME,STATUS FROM USER_OBJECTS;2、 表包含的索引及索引相关列检查SQL SELECT INDEX_NAME,TABLE_NAME,COLUMN_NAME FROM USER_IND_COLUMNS WHERE TABLE_NAME LIKE T_% ORDER BY TABLE_NAME;3、 特定表及其关联索引、列详细信息检查SELECT A.TABLE_NAME,A.INDEX_NAME,COLUMN_NAME,CREATED,LAST_DDL_TIME,LAST_ANA

34、LYZED FROM USER_IND_COLUMNS A,USER_OBJECTS B,USER_INDEXES C WHERE A.INDEX_NAME=B.OBJECT_NAME AND B.OBJECT_NAME=C.INDEX_NAMEAND C.TABLE_NAME IN(,)注:如需输出语句执行结果信息,可在语句执行前spool tableindex.list,执行完成后再spool off;4.2自动化脚本方式对索引进行碎片分析每周监测一次索引的碎片情况,根据情况制定索引的重建频率以提高索引使用效率。1、产生EAS用户分析索引的脚本:SQLselect analyze inde

35、x | index_name | VALIDATE STRUCTURE from user_indexes; 2、执行EAS用户下所有索引分析:SQL analyze index VALIDATE STRUCTURE;.3、基于分析结果,查看索引碎片率:SQL select name,del_lf_rows_len,lf_rows_len,(del_lf_rows_len/lf_rows_len)*100 from index_stats;索引碎片率(%) = (被删除的索引长度/索引总长)*100 4、对碎片率高的索引执行重建整理SQL alter index rebuild; 4.3打开索

36、引自动监控开关如数据库中新增加、修改了索引,则可以打开这些索引的自动监控。监测索引的使用情况,根据使用情况,删除未使用的索引,并添加能提高查询和处理性能的索引。 SQL alter index monitoring usage; SQL alter index nomonitoring usage;SQL select index_name,used from v$object_usage;5. 对用户所有表、索引进行统计分析5.1 查询EAS用户所有表、索引的最新统计分析时间表:SQLselect table_name,last_analyzed from user_tables order

37、 by 2;索引:SQLselect table_name,index_name,last_analyzed from user_indexes order by 1,3注:last_analyzed字段显示的日期太老,则表明该表或索引最近未做统计分析,如果恰好最近大量更新、导入或删除了记录,需要重新对其执行统计分析。5.2 自动化脚本方式对所有表、索引统计分析对用户所有对象进行完整统计信息分析收集脚本:dbms_stats.gather_schema_stats(ownname=nmeas,method_opt=FOR ALL INDEXED COLUMNS SIZE auto,estima

38、te_percent =100,degree=DBMS_STATS.DEFAULT_DEGREE,cascade=true) 9i需(加入crontab或bat任务)5.3 Oracle 10g OEM图形化自定义对所有表、索引统计分析的自动化调度任务登录OEM,选择管理统计信息管理管理优化程序统计信息“操作”搜集优化程序统计信息范围选项方案中选择“定制选项”添加用来做统计信息收集的EAS用户配置周统计信息收集Oracle相关参数配置周统计信息收集任务执行的调度时间(下图中配置的为每周星期六晚上12点自动执行统计信息搜集)浏览周统计信息收集任务配置的完整信息提交完成周统计信息收集任务配置注: 每周末EAS用户下所有表、索引通过上述任务执行完整的统计分析。6. 导出表、索引最新统计分析数据将导出的统计分析数据导入测试库,可以在测试库重新构建性能关键或所有sql语句执行计划、与基准执行计划进行比较。导出用户当前统计信息:exec dbms_stats.export_schema_stats(nmeas,stats_export)注:存储导出信息的表stats_export需在安装部署EAS后台数据库时创建。可以考虑与周统计信息

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁