ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:24.39KB ,
资源ID:22044078      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22044078.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库维护工作手册Word文件下载.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库维护工作手册Word文件下载.docx

1、报警日志文件(或alrt.ora)记录数据库启动,关闭和一些重要的出错信息。数据库管理员应该经常检查这个文件,并对出现的问题作出即使的反应。可以通过以下SQL 找到他的路径select value from v$parameter where upper(name) =BACKGROUND_DUMP_DEST,或通过参数文件获得其路径,或者show parameter BACKGROUND_DUMP_DEST。后台跟踪文件路径与报警文件路径一致,记载了系统后台进程出错时写入的信息。用户跟踪文件记载了用户进程出错时写入的信息,一般不可能读懂,可以通过ORACLE的TKPROF工具转化为可以读懂的

2、格式。用户跟踪文件的路径,你可以通过以下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 (sid,serial#,true)打开指定会话。2

3、.1.2 检查是否有失效的数据库对象主要关注索引,触发器,存储过程,函数等等。查找user_objects数据字典,看其中是否有状态为invalid的对象。判断失效原因(如:视图失效的原因有可能是由于创建视图的基表被删除等等),找出原因可进行对象重建或修复。 Select object_name,object_type From user_objects Where object_type=INVALID;2.1.3 查看数据库剩余空间1. 剩余空间不足时要扩展空间,一般的,当剩余空间小于10时,要进行空间扩展。对于ORACLE数据库,通过查找tablespaces相关的数据字典可以看到有用的

4、信息。2. 检查数据快速增长的表,通过对于dba_segments数据字典的监视可以找到,当过快增长时,协调开发人员,确定解决方案。2.1.4 重点表检查1. 检查系统核心业务表。因为这些表健康与否与日常业务的正常运行密切相关。重点检查这些表的索引是否失效,表的统计信息是否及时更新,如:当这些表进行了大的数据装载或者删除操作之后。原则上需要检查所有的表,只是由于上面这些表更关键,建议管理员给以更多的关注。2. 重点检查数据量超过百万行的表,各地的情况可能不一样,当数据超过百万行之后,如果索引失效会导致表扫描,占用大量系统IO,严重影响系统性能。2.1.5 查看数据库是否正常包括数据库实例是否正

5、常工作、listener是否工作正常,确保数据库系统环境正常。数据库连接是否正常、检查是否有超出正常水平的连接数。平常500个,某天下午忽然达到600个。应记录这种异常情况。分析产生这种情况的原因,如:在低版本的ORACLE中,很可能是一些其他异常的应用出错后产生的死连接。2.1.6 死锁检查监控数据库运行过程中,出现的阻塞,记录现象,记录产生阻塞的SQL语句,执行的用户,发生时间,频率,处理(杀掉、等待自然解锁等)。ORACLE版本中的死锁会在alert文件中产生记录,oracle会自动解锁(其实是选择一个杀掉)。对于死锁的处理过程要进行记录。可以使用OEM工具或者查找相关的V$视图来确认产

6、生阻塞的语句。2.1.7 监控SQL语句的执行查找效率低下的SQL语句,联系协调开发人员,进行相关处理。可使用ORACLE提供的AWR进行,也可使用ORACLE提供的OEM工具执行,或者自行编制的脚本等等。2.1.8 操作系统级检查运行vmstat,sar,topas(AIX系统),glance(HP系统)等命令检查CPU、内存、虚拟内存等的使用情况。运行df,du,iostat检查磁盘使用情况运行netstat检查网络情况运行手工编制的监控脚本检查。针对于操作系统的不同,使用的命令也会有不同,请参考相应的操作系统文档。建议使用man命令察看相应的帮助信息。2.1.9 其他每天查看晚间定时执行

7、的数据库信息收集作业和备份作业的日志输出,确认都已正常完成。往往不能正常完成是由于如下的原因:请确认脚本是否变动(错误的修改造成等等),设备(主机,磁盘阵列,磁带库,网络等等)是否正常,空间是否足够等等。建议每天按业务峰值情况,对数据库性能数据进行定时采集及分析。3 数据库维护数据库维护工作内容包括维护、故障诊断、错误修复、备份恢复、历史数据迁移等过程。数据库维护工作事项3.1.1 页面修复根据日常监控的结果,进行页面(或者数据库坏块)修复,如将表数据导出后重建表,然后导入数据。提交修复记录。3.1.2 数据库对象重建根据数据库监控的结果,重建失效的对象。索引、存储过程、函数、视图、触发器等等

8、。Alter index rebuild online;3.1.3 碎片回收(数据重组)当某些数据库运行一段时间后,表会产生碎片,影响数据库的性能。可根据日常检查的结果,运用工具或脚本对于数据库空间进行重组或回收。由于ORACLE数据库本身的原因,在进行了DELETE操作之后也不会使HWM(High Water Mark高水位线)降低,因此不会释放所占用的空间,所以建议在进行了数据迁移之后将全库进行EXP,然后进行IMP操作,以释放占用的空间。3.1.4 删除不用的数据此项工作要得到开发方、设计人员、以及相关人员的确认后,方可执行。3.1.5 备份恢复需要定期对于数据库备份进行有效性检测,定期

9、进行数据恢复的演练操作。以防止万一的数据库事故时准备不足。数据库需要采用在线的热备份,不需要关闭数据库进行,在备份的同时可以进行正常的数据库的各种操作,满足了7*24的系统的需要。数据库的备份不能影响用户对数据库的访问。目标需要在线热备份多级增量备份并行备份,恢复减小所需要备份量备份,恢复使用简单可参考如下的方案:1. 每月做一个数据库的全备份(包含只读表空间)2. 每星期做一次零级备份(不包含只读表空间)3. 每个星期三做一次一级备份4. 每天做一个二级备份5. 任何表空间改成只读状态后做一个该表空间的备份。6. 当需要时(如四个小时归档文件系统就要接近满了)备份归档文件。3.1.6 历史数

10、据迁移定期进行历史数据迁移,减少生产数据库的压力。3.1.7 定期修改密码包括SYS,SYSTEM等用户。3.1.8 删除掉不必要的用户对于系统安装时的演示用户,如:hr,scott等。建议每周定期清理和备份一周所产生的Alert日志、跟踪文件和dump文件。分别位于$ORACLE_BASE/admin/$ORACLE_SID/bdump, $ORACLE_BASE/admin/$ORACLE_SID/udump, $ORACLE_BASE/admin/$ORACLE_SID/cdump,等目录下。定期对表进行统计分析,(如可使用analyze等命令,8i以上有dbms_stats包来实现,使

11、SQL优化器总是能找到最好的查询策略。制定和执行纪录保证生产库的安全:应绝对禁止在生产库上进行开发、测试。3.1.9 其他针对不同的数据库版本的不同特点进行相应的维护操作。具体情况请参见ORACLE文档或者访问metalink。4 数据库管理常用SQL脚本常用的SQL脚本,在实施时可供数据库管理员参考,在执行时,需要进行相应的修改。1. 剩余空间检查SELECT tablespace_name, sum ( blocks ) as free_blk , trunc ( sum ( bytes ) /(1024*1024) ) as free_m, max ( bytes ) / (1024)

12、as big_chunk_k, count (*) as num_chunksFROM dba_free_spaceGROUP BY tablespace_name2. 表空间数据量情况显示SELECT tablespace_name, max_blocks, count_blocks, sum_free_blocks, to_char(100*sum_free_blocks/sum_alloc_blocks, ) | %AS pct_freeFROM ( SELECT tablespace_name, sum(blocks) AS sum_alloc_blocksFROM dba_data_

13、files, ( SELECT tablespace_name AS fs_ts_name, max(blocks) AS max_blocks, count(blocks) AS count_blocks, sum(blocks) AS sum_free_blocksGROUP BY tablespace_name )WHERE tablespace_name = fs_ts_name3. 表和索引分析BEGIN ( &OWNER, ESTIMATE, NULL, 5 ) ;END ;4. 检查空间情况SELECT , , FROM all_tables a,( SELECT tablesp

14、ace_name, max(bytes) as big_chunkGROUP BY tablespace_name ) fWHERE = AND 5. 检查已经存在的空间扩展SELECT count(*), segment_name, segment_type, FROM dba_tablespaces dt, dba_extents dxAND != AND = GROUP BY segment_name, segment_type, 6. 检查没有主键的表SELECT table_nameFROM all_tablesWHERE owner = MINUSFROM all_constrai

15、ntsAND constraint_type = P7. 检查失效的主键SELECT owner, constraint_name, table_name, status AND status = DISABLED AND constraint_type = 8. 重建索引,具体参数请根据实际情况进行修改SELECT alter index | index_name | rebuild tablespace INDEXES storage ( initial 256 K next 256 K ) ; FROM all_indexesWHERE ( tablespace_name != INDE

16、XESOR next_extent != ( 256 * 1024 )AND owner = 9. 对比两个实例的不同SELECT object_name, object_typeFROM user_objectsFROM user_objects&my_db_link10. 查看动态性能视图Select * from V$FIXED_TABLE11. 查看约束select , ,a.*from user_constraints awhere table_name=table_name;select constraint_name, column_name from user_cons_col

17、umns where table_name=12. 查看索引 user_indexes包含索引的名字,user_ind_columns包含索引的列.13. 查看数据库启动参数:show parameter para,v$parameter提供当前会话信息,v$system_parameter提供当前系统信息。其中isses_modifiable,issys_modifiable表示是否允许动态修改。14. 查看进程号:select , from v$process p , v$session s where =;15. 查看数据文件:select name, status from v$dat

18、afile;select * from dba_data_files;16. 查看数据文件状态select # f#, , , from v$datafile d, v$datafile_header h where #=#;17. 查看控制文件select name from v$controlfile;select type, record_size, records_total, records_used from v$controlfile_record_section where type=DATAFILE;18. 查看是否归档模式:archive log listselect na

19、me, log_mode from v$database;select archiver from v$instance;19. 查看日志组:select groups, current_group#, sequence# from v$thread;select group#, sequence#, bytes , members, status from v$log;from v$logfile;其中status为空表示正常。20. 查看large poolfrom v$sgastat where pool=large pool;21. 查看归档位置show parameter archi

20、ve select destination, binding, target, status from v$archive_dest;22. 查看归档进程from v$archive_processes;23. 查看正在备份的数据文件from v$backup;24. 查看需要恢复的文件from v$recover_file;25. 查看所有归档日志文件from v$archived_log;26. 查看恢复时要用到的日志文件from v$recovery_log;27. 查看SGA的结构Show sga;from v$sgastat;28. 提取library cache的命中率select

21、 gethitratio from v$librarycache where namespace=;29. 查看正在运行的SQL语句select sql_text, users_executing, executions, loads from v$sqlarea;from v$sqltext where sql_text=select * from emp%;30. 查看library cache reload情况:select sum(pins) “Executions”, sum(reloads) “cache Misses”, sum(reloads)/sum(pins)from v$

22、librarycache;31. 查看大匿名块select sql_text from v$sqlarea where command_type=47 and length(sql_text)500;32. 查看当前会话的UGA区select sum(value)|bytes “Total session memory” from v$mystat, v$statname where name=session uga memory and v$#=v$#;33. 查看所有MTS用户的UGA区: from v$sesstat, v$statname34. 查看所有用户使用的最大的UGA区: wh

23、ere name=session uga memory max35. 查看high-water mark以下的块数select table_name, blocks from dba_tables where table_name=table_name;36. 查看会话的I/O:select , , from v$sess_io io, v$session s where =USERENV(SESSIONID) and =;37. 查看Buffer pool的命中率select name, 1-(physical_reads/(db_block_gets+consistent_gets) “H

24、IT_RATIO” from $buffer_pool_statistics where db_block_gets+consistent_gets0;38. 查看free list的竞争select class, count, time from v$waitstat where class=segment header;select event, total_waits from v$system_event where event=buffer busy waits;buffer busy waits可在两种情况发生:1dirty queue已满,2free list竞争。39. 查看f

25、ree list竞争发生在哪个segment上select , , , , , from dba_segments s, v$session_wait wwhere =buffer busy waits and = and =;40. 查看全表扫描发生的次数select name, value from v$sysstat where name like %table scan%;41. 查看大操作的执行情况select sid, serial#, opname, to_char(start_time, HH24:MI:SS) as start_t, (sofar/totalwork)*100

26、 as percent_complete from v$session_longops;42. 查看数据文件的I/Oselect phyrds, phywrts, from v$datafile d, v$filestat f where #=# order by ;43. 查看空闲块数少于10%的segment(blocks在high-water mark以下,empty_blocks其上)select owner, table_name, blocks, empty_blocks from dba_tables where empty_blocks/(blocks+empty_blocks) and blocks+empty_blocks!=0;44. 查看migration和chaininganalyze table table_name compute statistics;select num_rows, chain_cnt45. 查看表的统计信息select num_rows, blocks, empty_blocks as empty, avg_space, chain_cnt,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1