版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.wd.wd.wd.数据库维护工作手册文档编号:文档名称:编 写:审 核:批 准:批准日期:目 录 TOC o 1-3 h z HYPERLINK l _Toc914932121概述 PAGEREF _Toc91493212 h 4HYPERLINK l _Toc914932132数据库监控 PAGEREF _Toc91493213 h 4HYPERLINK l _Toc914932142.1数据库监控工作内容 PAGEREF _Toc91493214 h 4HYPERLINK l _Toc914932152.2数据库监控工作步骤 PAGEREF _Toc91493215 h 4HYPERLI
2、NK l _Toc914932162.2.1查看数据库日志 PAGEREF _Toc91493216 h 4HYPERLINK l _Toc914932172.2.2检查是否有失效的数据库对象 PAGEREF _Toc91493217 h 5HYPERLINK l _Toc914932182.2.3查看数据库剩余空间 PAGEREF _Toc91493218 h 5HYPERLINK l _Toc914932192.2.4重点表检查 PAGEREF _Toc91493219 h 5HYPERLINK l _Toc914932202.2.5查看数据库是否正常 PAGEREF _Toc914932
3、20 h 6HYPERLINK l _Toc914932212.2.6死锁检查 PAGEREF _Toc91493221 h 6HYPERLINK l _Toc914932222.2.7监控SQL语句的执行 PAGEREF _Toc91493222 h 6HYPERLINK l _Toc914932232.2.8操作系统级检查 PAGEREF _Toc91493223 h 6HYPERLINK l _Toc914932242.2.9其他 PAGEREF _Toc91493224 h 6HYPERLINK l _Toc914932253数据库维护 PAGEREF _Toc91493225 h 7
4、HYPERLINK l _Toc914932263.1数据库维护工作内容 PAGEREF _Toc91493226 h 7HYPERLINK l _Toc914932273.2数据库维护工作事项 PAGEREF _Toc91493227 h 7HYPERLINK l _Toc914932283.2.1页面修复 PAGEREF _Toc91493228 h 7HYPERLINK l _Toc914932293.2.2数据库对象重建 PAGEREF _Toc91493229 h 7HYPERLINK l _Toc914932303.2.3碎片回收数据重组 PAGEREF _Toc91493230
5、h 7HYPERLINK l _Toc914932313.2.4删除不用的数据 PAGEREF _Toc91493231 h 7HYPERLINK l _Toc914932323.2.5备份恢复 PAGEREF _Toc91493232 h 7HYPERLINK l _Toc914932333.2.6历史数据迁移 PAGEREF _Toc91493233 h 8HYPERLINK l _Toc914932343.2.7定期修改密码 PAGEREF _Toc91493234 h 8HYPERLINK l _Toc914932353.2.8删除掉不必要的用户 PAGEREF _Toc9149323
6、5 h 8HYPERLINK l _Toc914932363.2.9其他 PAGEREF _Toc91493236 h 8HYPERLINK l _Toc914932374数据库管理常用SQL脚本 PAGEREF _Toc91493237 h 9HYPERLINK l _Toc914932385日常维护和问题管理 PAGEREF _Toc91493238 h 17HYPERLINK l _Toc914932395.1目的 PAGEREF _Toc91493239 h 17HYPERLINK l _Toc914932405.2例行工作建议 PAGEREF _Toc91493240 h 17HYP
7、ERLINK l _Toc914932415.3相关填表说明 PAGEREF _Toc91493241 h 17概述数据库的日常监控是使管理员及时了解系统异常的手段。大局部情况下,系统总是正常运行的。只有对正常情况的充分了解,才能通过比照正常情况发现异常情况。对于数据库的日常监控要有记录,文字记录或者电子文档保存。对于数据库异常进展分析,提出解决方案。日常工作包括监控和维护两个局部。此文档中关于数据库的运行命令例如主要针对于ORACLE数据库,但对于SYBASE数据库同样有参考价值,只要换用相对应的语句即可。数据库监控数据库监控数据库监控工作内容制定和改进监控方案,编写监控脚本。对于数据库进展
8、日常监测,提交记录。根据监测结果进展分析、预测,提交相应的系统改进建议方案。数据库监控工作步骤查看数据库日志数据库的日志上会有大量对于管理员有用的信息。ORACLE的Alert日志纪录了数据库系统所报的系统级错误信息,以及数据块失效等严重错误信息。错误信息的产生,会产生相应的跟踪文件,通过查看警告日志和跟踪文件可查找错误原因,对于发现的问题应及时解决和汇报。如:表空间是否满,是否需要进展添加或者扩展。Alert文件中会显示有表块无法扩展的提示。表的块或者页面是否损坏。往往这时alert文件中会显示ora-600的错误。数据库是否进展了异常操作。如:drop tablespace等等。实用命令:
9、报警日志文件alert.log或alrt.ora记录数据库启动,关闭和一些重要的出错信息。数据库管理员应该经常检查这个文件,并对出现的问题作出即使的反响。可以通过以下SQL 找到他的路径select value from v$parameter where upper(name) =BACKGROUND_DUMP_DEST,或通过参数文件获得其路径,或者show parameter BACKGROUND_DUMP_DEST。后台跟踪文件路径与报警文件路径一致,记载了系统后台进程出错时写入的信息。用户跟踪文件记载了用户进程出错时写入的信息,一般不可能读懂,可以通过ORACLE的TKPROF工具转
10、化为可以读懂的格式。用户跟踪文件的路径,你可以通过以下SQL找到他的路径select value from v$parameter where upper(name) =USER_DUMP_DEST,或通过参数文件获得其路径,或者show parameter USER_DUMP_DEST。可以通过设置用户跟踪或dump命令来产生用户跟踪文件,一般在调试、优化、系统分析中有很大的作用。可在参数文件种用SQL_TRACE=TRUE翻开该文件(对所有用户),也可用alter session set sql_trace=true翻开当前会话,也可用execute dbms_system.set_sql
11、_trace_in_session(sid,serial#,true)翻开指定会话。检查是否有失效的数据库对象主要关注索引,触发器,存储过程,函数等等。如:查找user_objects数据字典,看其中是否有状态为invalid的对象。判断失效原因如:视图失效的原因有可能是由于创立视图的基表被删除等等,找出原因可进展对象重建或修复。实用命令:Select object_name,object_typeFrom user_objects Where object_type=INVALID;查看数据库剩余空间剩余空间缺乏时要扩展空间,一般的,当剩余空间小于10时,要进展空间扩展。对于ORACLE数据
12、库,通过查找tablespaces相关的数据字典可以看到有用的信息。检查数据快速增长的表,通过对于dba_segments数据字典的监视可以找到,当过快增长时,协调开发人员,确定解决方案。重点表检查检查系统核心业务表。因为这些表安康与否与日常业务的正常运行密切相关。重点检查这些表的索引是否失效,表的统计信息是否及时更新,如:当这些表进展了大的数据装载或者删除操作之后。原那么上需要检查所有的表,只是由于上面这些表更关键,建议管理员给以更多的关注。重点检查数据量超过百万行的表,各地的情况可能不一样,当数据超过百万行之后,如果索引失效会导致表扫描,占用大量系统IO,严重影响系统性能。查看数据库是否正
13、常包括数据库实例是否正常工作、listener是否工作正常,确保数据库系统环境正常。数据库连接是否正常、检查是否有超出正常水平的连接数。如:平常500个,某天下午突然到达600个。应记录这种异常情况。分析产生这种情况的原因,如:在低版本的ORACLE中,很可能是一些其他异常的应用出错后产生的死连接。死锁检查监控数据库运行过程中,出现的阻塞,记录现象,记录产生阻塞的SQL语句,执行的用户,发生时间,频率,处理杀掉、等待自然解锁等。ORACLE版本中的死锁会在alert文件中产生记录,oracle会自动解锁其实是选择一个杀掉。对于死锁的处理过程要进展记录。可以使用OEM工具或者查找相关的V$视图来
14、确认产生阻塞的语句。监控SQL语句的执行查找效率低下的SQL语句,联系协调开发人员,进展相关处理。可使用ORACLE提供的AWR进展,也可使用ORACLE提供的OEM工具执行,或者自行编制的脚本等等。操作系统级检查运行vmstat,sar,topas(AIX系统),glance(HP系统)等命令检查CPU、内存、虚拟内存等的使用情况。运行df,du,iostat检查磁盘使用情况运行netstat检查网络情况运行手工编制的监控脚本检查。针对于操作系统的不同,使用的命令也会有不同,请参考相应的操作系统文档。建议使用man命令观察相应的帮助信息。其他每天查看晚间定时执行的数据库信息收集作业和备份作业
15、的日志输出,确认都已正常完成。往往不能正常完成是由于如下的原因:请确认脚本是否变动错误的修改造成等等,设备主机,磁盘阵列,磁带库,网络等等是否正常,空间是否足够等等。建议每天按业务峰值情况,对数据库性能数据进展定时采集及分析。数据库维护数据库维护工作内容包括维护、故障诊断、错误修复、备份恢复、历史数据迁移等过程。数据库维护工作事项页面修复根据日常监控的结果,进展页面或者数据库坏块修复,如将表数据导出后重建表,然后导入数据。提交修复记录。数据库对象重建根据数据库监控的结果,重建失效的对象。如:索引、存储过程、函数、视图、触发器等等。实用命令:Alter index rebuild online;
16、碎片回收数据重组当某些数据库运行一段时间后,表会产生碎片,影响数据库的性能。可根据日常检查的结果,运用工具或脚本对于数据库空间进展重组或回收。由于ORACLE数据库本身的原因,在进展了DELETE操作之后也不会使HWMHigh Water Mark高水位线降低,因此不会释放所占用的空间,所以建议在进展了数据迁移之后将全库进展EXP,然后进展IMP操作,以释放占用的空间。删除不用的数据此项工作要得到开发方、设计人员、以及相关人员确实认后,方可执行。备份恢复需要定期对于数据库备份进展有效性检测,定期进展数据恢复的演练操作。以防止万一的数据库事故时准备缺乏。数据库需要采用在线的热备份,不需要关闭数据
17、库进展,在备份的同时可以进展正常的数据库的各种操作,满足了7*24的系统的需要。数据库的备份不能影响用户对数据库的访问。目标需要在线热备份多级增量备份并行备份,恢复减小所需要备份量备份,恢复使用简单可参考如下的方案:每月做一个数据库的全备份包含只读表空间每星期做一次零级备份不包含只读表空间每个星期三做一次一级备份每天做一个二级备份任何表空间改成只读状态后做一个该表空间的备份。当需要时如四个小时归档文件系统就要接近满了备份归档文件。历史数据迁移定期进展历史数据迁移,减少生产数据库的压力。定期修改密码包括SYS,SYSTEM等用户。删除掉不必要的用户对于系统安装时的演示用户,如:hr,scott等
18、。建议每周定期清理和备份一周所产生的Alert日志、跟踪文件和dump文件。分别位于$ORACLE_BASE/admin/$ORACLE_SID/bdump, $ORACLE_BASE/admin/$ORACLE_SID/udump, $ORACLE_BASE/admin/$ORACLE_SID/cdump,等目录下。定期对表进展统计分析,如可使用analyze等命令,8i以上有dbms_stats包来实现,使SQL优化器总是能找到最好的查询策略。制定和执行纪录保证生产库的安全:应绝对制止在生产库上进展开发、测试。其他针对不同的数据库版本的不同特点进展相应的维护操作。具体情况请参见ORACLE
19、文档或者访问metalink。数据库管理常用SQL脚本常用的SQL脚本,在实施时可供数据库管理员参考,在执行时,需要进展相应的修改。剩余空间检查SELECT tablespace_name, sum ( blocks ) as free_blk , trunc ( sum ( bytes ) /(1024*1024) ) as free_m, max ( bytes ) / (1024) as big_chunk_k, count (*) as num_chunksFROM dba_free_spaceGROUP BY tablespace_name表空间数据量情况显示SELECT table
20、space_name, max_blocks, count_blocks, sum_free_blocks, to_char(100*sum_free_blocks/sum_alloc_blocks, 99.99) | %AS pct_freeFROM ( SELECT tablespace_name, sum(blocks) AS sum_alloc_blocksFROM dba_data_filesGROUP BY tablespace_name), ( SELECT tablespace_name AS fs_ts_name, max(blocks) AS max_blocks, cou
21、nt(blocks) AS count_blocks, sum(blocks) AS sum_free_blocksFROM dba_free_spaceGROUP BY tablespace_name )WHERE tablespace_name = fs_ts_name表和索引分析BEGINdbms_utility.analyze_schema ( &OWNER, ESTIMATE, NULL, 5 ) ;END ;检查空间情况SELECT a.table_name, a.next_extent, a.tablespace_nameFROM all_tables a,( SELECT ta
22、blespace_name, max(bytes) as big_chunkFROM dba_free_spaceGROUP BY tablespace_name ) fWHERE f.tablespace_name = a.tablespace_nameAND a.next_extent f.big_chunk检查已经存在的空间扩展SELECT count(*), segment_name, segment_type, dt.tablespace_nameFROM dba_tablespaces dt, dba_extents dxWHERE dt.tablespace_name = dx.
23、tablespace_nameAND dt.next_extent != dx.bytes AND dx.owner = &OWNERGROUP BY segment_name, segment_type, dt.tablespace_name检查没有主键的表SELECT table_nameFROM all_tablesWHERE owner = &OWNERMINUSSELECT table_nameFROM all_constraintsWHERE owner = &OWNERAND constraint_type = P检查失效的主键SELECT owner, constraint_n
24、ame, table_name, statusFROM all_constraintsWHERE owner = &OWNER AND status = DISABLED AND constraint_type = P重建索引,具体参数请根据实际情况进展修改SELECT alter index | index_name | rebuild , tablespace INDEXES storage ( initial 256 K next 256 K ) ; FROM all_indexesWHERE ( tablespace_name != INDEXESOR next_extent != (
25、 256 * 1024 )AND owner = &OWNER比照两个实例的不同SELECT object_name, object_typeFROM user_objectsMINUSSELECT object_name, object_typeFROM user_objects&my_db_link查看动态性能视图Select * from V$FIXED_TABLE查看约束select a.constraint_name, a.constraint_type,a.*from user_constraints awhere table_name=table_name;select cons
26、traint_name, column_name from user_cons_columns where table_name=table_name;查看索引 user_indexes包含索引的名字,user_ind_columns包含索引的列.查看数据库启动参数:show parameter para,v$parameter提供当前会话信息,v$system_parameter提供当前系统信息。其中isses_modifiable,issys_modifiable表示是否允许动态修改。查看进程号:select p.spid, s.username from v$process p, v$s
27、ession s where p.addr=s.paddr;查看数据文件:select name, status from v$datafile;select * from dba_data_files;查看数据文件状态select d.file# f#, , d.status, h.status from v$datafile d, v$datafile_header h where d.file#=h.file#;查看控制文件select name from v$controlfile;select type, record_size, records_total, recor
28、ds_used from v$controlfile_record_section where type=DATAFILE;查看是否归档模式:archive log listselect name, log_mode from v$database;select archiver from v$instance;查看日志组:select groups, current_group#, sequence# from v$thread;select group#, sequence#, bytes, members, status from v$log;select * from v$logfil
29、e; 其中status为空表示正常。查看large poolselect * from v$sgastat where pool=large pool;查看归档位置show parameter archive select destination, binding, target, status from v$archive_dest;查看归档进程select * from v$archive_processes;查看正在备份的数据文件select * from v$backup;查看需要恢复的文件select * from v$recover_file;查看所有归档日志文件select *
30、from v$archived_log;查看恢复时要用到的日志文件select * from v$recovery_log;查看SGA的构造Show sga;select * from v$sgastat;提取library cache的命中率select gethitratio from v$librarycache where namespace=;查看正在运行的SQL语句select sql_text, users_executing, executions, loads from v$sqlarea;select * from v$sqltext where sql_text=sele
31、ct * from emp%;查看library cache reload情况:select sum(pins) “Executions, sum(reloads) “cache Misses, sum(reloads)/sum(pins)from v$librarycache;查看大匿名块select sql_text from v$sqlarea where command_type=47 and length(sql_text)500;查看当前会话的UGA区select sum(value)|bytes “Total session memory from v$mystat, v$sta
32、tname where name=session uga memory and v$mystat.statistic#=v$statname.statistic#;查看所有MTS用户的UGA区:select sum(value)|bytes “Total session memory from v$sesstat, v$statname where name=session uga memory and v$sesstat.statistic#=v$statname.statistic#;查看所有用户使用的最大的UGA区:select sum(value)|bytes “Total sessi
33、on memory from v$sesstat, v$statname where name=session uga memory max and v$sesstat.statistic#=v$statname.statistic#;查看high-water mark以下的块数select table_name, blocks from dba_tables where table_name=table_name;查看会话的I/O:select io.block_gets, io.consistent_gets, io.physical_reads from v$sess_io io, v$
34、session s where s.audsid=USERENV(SESSIONID) and io.sid=s.sid;查看Buffer pool的命中率select name, 1-(physical_reads/(db_block_gets+consistent_gets) “HIT_RATIO from sys.v$buffer_pool_statistics where db_block_gets+consistent_gets0;查看free list的竞争select class, count, time from v$waitstat where class=segment h
35、eader;select event, total_waits from v$system_event where event=buffer busy waits;buffer busy waits可在两种情况发生:1dirty queue已满,2free list竞争。查看free list竞争发生在哪个segment上select s.segment_name, s.segment_type, s.freelists, w.wait_time, w.seconds_in_wait, w.statefrom dba_segments s, v$session_wait wwhere w.ev
36、ent=buffer busy waits and w.p1=s.header_file and w.p2=s.header_block;查看全表扫描发生的次数select name, value from v$sysstat where name like %table scan%;查看大操作的执行情况select sid, serial#, opname, to_char(start_time, HH24:MI:SS) as start_t, (sofar/totalwork)*100 as percent_complete from v$session_longops;查看数据文件的I/
37、Oselect phyrds, phywrts, from v$datafile d, v$filestat f where d.file#=f.file# order by ;查看空闲块数少于10%的segment(blocks在high-water mark以下,empty_blocks其上)select owner, table_name, blocks, empty_blocks from dba_tables where empty_blocks/(blocks+empty_blocks)0.1and blocks+empty_blocks!=0;查看migration和chaininganalyze table table_name compute statistics;select num_rows, chain_cntfrom dba_tables where table_name=table_name;查看表的统计信息analyze table table_name compute statistics;select num_rows, blocks, empty_blocks as empty, avg_space, chain_cnt, avg_row_len fr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 定做油罐合同范本
- 云南省楚雄彝族自治州大姚第一中学2027届高三物理第一学期期中经典试题含解析
- 浙江省绍兴市绍兴一中2027届高二物理第一学期期末学业水平测试试题含解析
- 开卷教育联盟2027届高二上物理期中质量检测试题含解析
- 陕西省西安市第二十五中学2027届高二上物理期中考试试题含解析
- 2025-2026年汽车维修行业风险管理试题
- 2025-2026年孕妇护理操作技能考核试卷
- 河北省沧州市2027届物理高一上期中检测模拟试题含解析
- 2025-2026年护理心理学专项训练题库
- 漂浮式水上光伏电站工程技术方案
- 睡眠中心进修汇报
- 电商用户体验优化团队的岗位职责
- 老年共病的管理策略
- 咳嗽变异性的护理
- 贵州国企招聘2024贵州燃气集团股份有限公司下半年招聘89人笔试参考题库附带答案详解
- 【MOOC】电路分析AⅡ-西南交通大学 中国大学慕课MOOC答案
- 藿香苗购销合同范例
- 交通运输部上海打捞局拖轮船队招聘笔试参考题库含答案解析2024
- 老年专科护士准入(选拔)考试理论试题及答案
- 小学数学课程标准目标解读一年级
- 第五章 工程师的职业伦理
评论
0/150
提交评论