收藏 分销(赏)

Oracle管理工作手册样本.doc

上传人:二*** 文档编号:4514741 上传时间:2024-09-26 格式:DOC 页数:72 大小:6.31MB
下载 相关 举报
Oracle管理工作手册样本.doc_第1页
第1页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、ORACLE管理工作手册 EAS产品支持部 蒋俊 请注意:本文献只作为产品简介之用,不属于您与金蝶订立任何合同。本文献仅涉及金蝶既定方略、产品及功能方面信息,不能以本文献作为规定金蝶履行商务条款、产品方略以及开发义务根据。本文献内容也许随时变更,恕不另行告知。前 言概述该文档重要目是减少现场实行人员及顾客Oracle数据库管理难度,提高Oracle数据库技术能力,文档针对Oracle9i、10g两个版本提供了一套完整Oracle数据库监控、管理思路、办法环节,依照该手册进行Oracle数据库寻常工作,能有效地把握Oracle后台数据库整体运营健康状况,通过收集有关重要信息分析,能较好地防范即将

2、浮现系统风险,系统浮现问题后尽快地定位问题,现场解决一某些常规数据库问题。对其他专业规定比较强数据库问题,也能为后续Oracle专家进一步分析、诊断问题提供规范、完整信息。文档按问题处在阶段分两某些事前阶段、事中阶段,事前阶段描述了每天、每周末、每月末针对数据库所需进行管理工作,如:寻常监控,涉及有环境监控、数据库运营状况监控、性能监控;寻常数据库管理,涉及:系统运营快照采集、表空间管理、数据库备份恢复、表、索引记录分析、TOP会话、SQL执行筹划信息查看等。涉及有有关图形化管理工具用法、数据库自动脚本、命令用法。事中阶段描述了数据库发生问题时解决思路,需要收集哪些有关信息。合用范畴适于需求分

3、析、设计、实现和测试、实行所有阶段。适于架构设计师、系统设计师、开发工程师和项目经理。适于EAS产品所有版本。商定符号商定在本文中也许浮现下列标志,它们所代表含义如下。符号阐明表达有潜在风险,如果忽视这些文本,也许导致操作错误、数据丢失、设备性能减少或不可预知成果。表达可以协助您获取更多有关信息或提示您通过其他方式也可以获得相似成果。强调或补充阐明所描述信息。内容商定本处对文中通用信息作如下商定 l $EAS_HOME表达EAS服务器安装根目录,即安装过程中输入本地途径。 l $BOS_HOME表达BOS工具安装根目录,即安装过程中输入本地途径。目 录概述2合用范畴2商定21 事前阶段61.1

4、 寻常工作每天应做工作内容61.1.1 工作内容寻常环境监控61.1.2 工作内容寻常性能监控81.1.3 工作内容寻常数据库管理181.2 寻常工作每隔一周工作内容601.2.1 文献整顿工作601.2.2 数据库全量备份601.2.3 依照一周数据增长率分析预留数据文献下一周所需增长空间611.2.4 索引使用状况及碎片分析641.2.5 对顾客所有表、索引进行记录分析661.2.6 导出表、索引最新记录分析数据721.2.7 性能报告分析731.3 寻常工作每月应做工作内容731.3.1 性能全面分析731.3.2 备份数据转备731.4 寻常工作数据库第一次安装布置后需做工作731.4

5、.1 Statspack系统快照采集工具初始化731.4.2 创立记录信息导出表741.4.3 运营EAS顾客下所有表、索引记录分析,导出基准记录信息741.4.4 创立Oracle10g 逻辑备份dump文献存储目录752 事中阶段752.1 Oracle数据库浮现问题时需掌握有关信息752.1.1 问题症状描述752.1.2 问题在什么地方浮现752.1.3 问题在什么时间浮现762.1.4 问题在什么条件下浮现762.1.5 问题涉及范畴762.1.6 问题与否能重现772.1.7 数据库运营环境软、硬件基本信息772.1.8 Oracle性能有关772.2 Oracle数据库问题解决途

6、径771 事前阶段1.1 寻常工作每天应做工作内容1.1.1 工作内容寻常环境监控1) 系统运营环境监控查看Oracle 数据文献、控制文献、联机日记及归档日记存储文献系统或裸设备空间使用状况。重点关注Oracle软件及数据文献所在卷空间使用率:su - oracleAIX、linux查看磁盘空间:df kv HP-UX查看磁盘空间:bdf检测操作系统CPU、内存、互换区、I/O配备状况AIX :CPU、内存、网络、IO、进程、页面互换:topasLinux、HP-UX :CPU、内存、网络、IO、进程、页面互换: top2) 数据库运营状况监控外部检查Oracle实例核心后台进程与否都存在、

7、状态与否正常$ ps -ef|grep ora_查看数据库实例与否能正常连接、访问SQL select status from v$instance;监听与否正常$ lsnrctl status内部与否有表空间浮现故障SQL select tablespace_name,status from dba_tablespaces;日记文献与否正常SQL Select * from v$log;SQL Select * from v$logfile;1.1.2 工作内容寻常性能监控1) 间隔一段时间使用操作系统top等工具监控系统资源动态运营状况CPU、内存、网络、IO、进程、页面互换等重要活动监控

8、: top、topas、vmstat、iostat等2) 间隔一段时间对数据库性能进行监控Oracle 9i 图形工具Performance Manager监控顶层会话及顶层SQL1 打开OEM控制台,选中要监控数据库。2 工具中选取 Diagnostic PackPerformance Manager,也可直接选中Top Session或Top SQL。Oracle9i Performance Manager工具监控内容重要有:内存使用状况,IO状况,Oracle数据库进程状况,sql语句运营状况等,主界面如下: 可以通过顶层会话下钻获取到有关SQL执行筹划等信息,也可以直接查看TopSql

9、选项获取当前执行最频繁、消耗资源最多SQL语句:在数据页签下面列出了监控选项列表,可以依照各类选项对SQL语句进行排序。选中有关SQL语句,单击右键选取“下钻”到“解释筹划”查看执行筹划: 执行筹划显示如下:Oracle10g OEM工具监控顶层会话及获取SQL详细信息登录Oracle10g OEM,选取性能其他监视链接:顶级活动点击顶级会话中会话ID 点击SQL ID,查看该顶级会话中SQL详细信息点击筹划标签,查看该SQL语句详细执行筹划浏览该顶层会话相应SQL语句详细信息字符界面下Sql语句及顾客进程信息采集l 通过视图查看当前重要影响性能SQL语句语法模版SELECT * FROM (

10、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 10 ORDER BY buffer_gets DESC)WHERE rownum select sid

11、,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/udump/ytcw_ora_1026.prf aggregate=yes sys=no sort=fchel

12、a1.1.3 工作内容寻常数据库管理1) 一天内间隔一定期间运营检查警告日记文献中最新错误信息Linux、Unix系列平台:vi alertsid.log输入:“/ORA” 回车进行查找Windows平台下使用惯用文本编辑工具即可查看搜索警告日记文献中Oracle错误信息系统运营状况快照采集每天依照实际状况,在如下三个阶段手工运营Statspack快照采集,输出快照报表:l 正常工作压力下l 每天业务最高峰期l 特殊业务运营阶段Oracle 9i自动化脚本方式快照采集创立当前时间点快照如需采集当前数据库运营状况快照,取20分钟时间间隔运营该脚本两次自动执行statspack快照脚本:stats

13、pack_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!exitEOF输出近来两个快照时间点之间快照信息报表自动产生近来两个快照时间点记录信息快照脚本:statspack_auto_report

14、.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 perfstat/perfstat EOFSET ECHO OFFSET HEADING OFFSET FEEDBACK OFFSET PAGESIZ

15、E 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 onexitEOFline1=tail -1 $LOGFILEline2=head -1 $LOGFILEecho line1 is$line1echo line2

16、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 controlfile name to f:rman_baksnap_%F.ctl;Rman备份命令写到一种脚本中,在命令行中执行这个脚本RMAN

17、 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 level = 1 format f:rman_bakincre_1_%d_%s_%p.bak(da

18、tabase include current controlfile);backup format f:rman_bakarch%u_%s_%p.bak(archivelog from time sysdate-1 all delete input);增量备份脚本: backup_incre_1.rcvrun allocate channel c1 type DISK ;backup incremental level = 1 format f:rman_bakincre_1_%d_%s_%p.bak(database include current controlfile);backup f

19、ormat f:rman_bakarch%u_%s_%p.bak(archivelog from time sysdate-1 all delete input);显示RMAN备份集信息:RMAN list backupset;手工删除闪回区归档日记oracle 归档日记满解决办法如下,普通 Oracle 或第三方备份软件备份完归档后都应当及时删除已经备份归档日记,否则归档日记会占用大量磁盘空间#su - oracle$rman target / rman DELETE ARCHIVELOG ALL COMPLETED BEFORE SYSDATE-7; #例如删除7天前所有归档或者也可以手工

20、直接通过操作系统 rm 等命令删除归档日记,然后通过如下命令做同步。rman crosscheck archivelog all;rman delete expired archivelog all;上述脚本中涉及文献途径需依照现场环境详细状况进行相应修改。Oracle10g OEM图形化方式设立RMAN备份自动执行任务RMAN备份重要参数设立登录10g OEM,选取维护备份设立磁盘设备备份途径、并行度指定(依照服务器cpu个数匹配)备份方略设立重要是指定备份磁盘位置及备份保存时间,下图设立中为周备份方略考虑,保存近来7天备份。两种RMAN自动调度备份方略1. 使用Oracle建议自动调度备份

21、方略选取维护调度备份选取“调度Oracle建议备份”选取备份目的介质,缺省备份到磁盘介质该备份方略内容描述设立该方略执行数据库全量或增量备份调度时间2. 自定义RMAN自动备份方略选取“调度定制备份”选取备份类型、模式、归档日记、过时备份清理方略 备份目的介质设立(缺省使用前面“备份设立”中设立参数)备份自动执行调度时间设立(普通设立在系统空闲时进行,如晚上12点过后)备份设立信息复查,拟定后提交作业通过查看作业可以理解备份任务进展状况。3. 查看当前数据库RMAN备份信息选取维护备份/恢复中“备份报告”可以查看所有备份执行状况注:前面描述是数据库全量备份调度方略设立,增量备份调度方略设立办法

22、类似,只需要在备份类型中选取增量备份即可。设立完毕后EAS数据库自动备份方略为一周一次全量备份,在星期六晚上12点进行。周一到周五每天晚上12点执行一次增量备份,保存近来7天备份,过期备份、归档日记自动删除。Oracle逻辑备份(EXP/EXPDP)操作系统级设立自动备份任务root顾客登录操作系统,运营crontab e,添加如下内容:50 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 /u

23、sr/app/oracle/expdp/eas_expdp_Sunday.sh /dev/null 2&1#星期日11点50开始导出数据,并删除上周一到周六导出备份数据。逻辑备份脚本逻辑备份脚本 eas_expdp_MontoSat.sh(星期一到星期六)#=# SCRIPT :eas_expdp_MontoSat.sh# AUTHOR :James_jiang# Date :-10-10# REV :1.0# PLATFORM :AIX Linux Solaris HpUnix# PURPOSE :This script is used to run logic backup.# Copyr

24、ight(c) Kingdee Co.,Ltd.# All Rights Reserved#=DAY=date +%uFILE_TARGET=eas_expdp_expr $DAY.dmpFILE_LOG=eas_expdp_expr $DAY.log export FILE_TARGET FILE_LOG #导出Oracle实例名,特别是服务器存在各种实例时需指定ORACLE_SID=orcl ORACLE_BASE=/home/app/oracleORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1export ORACLE_SID ORA

25、CLE_BASE ORACLE_HOMEPATH=$PATH:$HOME/bin:$ORACLE_HOME/binexpdp system/oracle schemas=nm 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

26、 read,write on directory eas_expdp_dir to salhr;Oracle10g 版本逻辑备份使用expdp工具,在布置导出自动任务前需创立导出dmp文献存储目录并授权给EAS数据库顾客:#!/bin/sh#=# SCRIPT :eas_expdp_Sunday.sh# AUTHOR :James_jiang# Date :-10-10# REV :1.0# PLATFORM :AIX Linux Solaris HpUnix# PURPOSE :This script is used to run logic backup.#=DAY=date +%uFIL

27、E_TARGET=eas_expdp_expr $DAY.dmpFILE_LOG=eas_expdp_expr $DAY.log export FILE_TARGET FILE_LOG #导出Oracle实例名,特别是服务器存在各种实例时需指定ORACLE_SID=orcl ORACLE_BASE=/home/app/oracleORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1cd /home/oracle/10gautoexpdprm -f eas_expdp*.dmp eas_expdp*.logexpdp system/oracle

28、schemas=nm directory=eas_expdp_dir dumpfile=$FILE_TARGET logfile=$FILE_LOG job_name=cases_export parallel=4附:上述脚本中导出途径 /usr/app/oracle/expdp需依照现场实际状况修改,备份脚本eas_expdp_MontoSat.sh、eas_expdp_Sunday.sh需赋予可执行权限。Expdp导出目录需要创立,详细办法请参看本文档四寻常工作数据库第一次安装布置后需做工作。依照监控信息,对需要表、索引记录分析Oracle9i 自动化脚本方式对表、索引进行记录分析Orac

29、le9i缺省不对表进行改动监控,如果需要依照监控信息来判断与否需对表进行重新记录分析,则需要手工打开表监控开关,如下:打开表监控开关:alter table 表名 monitoring;/监控表信息记录在sys.dba_tab_modifications视图中依照监控信息对顾客记录信息分析收集脚本:dbms_stats.gather_schema_stats(ownname=nmeas,options=GATHER AUTO)Oracle10g 自动化任务表、索引记录分析方式Oracle10g 缺省自动对所有表变动进行监控,并自动执行所有顾客记录分析,可以禁止该缺省方式,在dbconsole中

30、手工配备对特定顾客记录分析任务。Oracle10g 禁用、启用缺省数据库自动记录信息分析收集任务:exec dbms_scheduler.disable(SYS.GATHER_STATS_JOB);exec dbms_scheduler.enable(SYS.GATHER_STATS_JOB);Oracle10g OEM图形工具自定义配备记录分析任务登录OEM,选取管理记录信息管理管理优化程序记录信息选取“操作”收集优化程序记录信息选取“方案”,点击下一步设立顾客记录信息分析自动执行时间调度,示例中设立是从-03-29开始,每天晚上12点自动执行顾客NMEAS记录信息分析。顾客记录信息分析任务

31、设立完整栏目显示提交完毕任务设立查看数据库中所有自动调度任务执行状况OEM中选取栏目:管理记录信息管理(管理优化程序记录信息)选取有关链接作业调度程序上述配备自动记录分析任务运用Oracle自动监控来判断哪些对象改动较大,需要重新进行记录分析,然后在调度时间对其重新进行记录分析。1.2 寻常工作每隔一周工作内容1.2.1 文献整顿工作l 警告日记、跟踪文献、dump文献清理l 备份文献整顿l Statspack记录分析报告整顿1.2.2 数据库全量备份1) Oracle 9i RMAN自动化脚本方式全量备份Rman备份命令写到一种脚本中,在命令行中执行这个脚本RMAN TARGET / NOC

32、ATALOG sys/oracle CMDFILE e: backup_incre_0.rcv LOG e: backup_incre_0.log数据库完全备份脚本:backup_full_0.rcvrun allocate channel c1 type DISK ;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 tim

33、e sysdate-1 all delete input);删除过期备份:RMANdelete expired backup;2) Oracle 10g OEM 图形方式创立RMAN全量备份数据库任务详细办法、环节请参看数据库寻常工作每天应做工作内容中RMAN备份某些。1.2.3 依照一周数据增长率分析预留数据文献下一周所需增长空间1) SQL脚本方式查看数据文献空间使用率查看脚本:SELECT df.tablespace_name,ROUND (df.BYTES / 1024 / 1024) total(MB), ROUND (df.BYTES - x.free) / 1024 / 1024

34、) used(MB), ROUND (x.hw / 1024 / 1024) hwatermarker, ROUND (x.free / 1024 / 1024) free(MB),df.file_name FROM dba_data_files df, (SELECT 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_id

35、ORDER BY 1,22) Oracle 9i OEM 数据文献管理3) Oracle 10g OEM 数据文献管理1.2.4 索引使用状况及碎片分析1) 表包括索引及有关列检查1. 表及索引创立、修改日期检查EAS顾客登录到数据库,执行语句:SQLSELECT 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_N

36、AME LIKE T_% ORDER BY TABLE_NAME;3. 特定表及其关联索引、列详细信息检查SELECT A.TABLE_NAME,A.INDEX_NAME,COLUMN_NAME,CREATED,LAST_DDL_TIME,LAST_ANALYZED 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 t

37、ableindex.list,执行完毕后再spool off;2) 自动化脚本方式对索引进行碎片分析每周监测一次索引碎片状况,依照状况制定索引重建频率以提高索引使用效率。1、产生EAS顾客分析索引脚本:SQLselect analyze index | 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

38、_rows_len/lf_rows_len)*100 from index_stats;索引碎片率(%) = (被删除索引长度/索引总长)*100 4、对碎片率高索引执行重建整顿SQL alter index rebuild;3) 打开索引自动监控开关如数据库中新增长、修改了索引,则可以打开这些索引自动监控监测索引使用状况,依照使用状况,删除未使用索引,并添加能提高查询和解决性能索引。 SQL alter index monitoring usage;SQL alter index nomonitoring usage;SQL select index_name,used from v$object_usage;1.2.5 对顾客所有表、索引进行记录分析1) 查询EAS顾客所有表、索引最新记录分析时间表:SQLse

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 管理财经 > 人员管理/培训管理

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服