宁夏电信帐务结算系统数据库日常维护文档v2[1].0.doc
《宁夏电信帐务结算系统数据库日常维护文档v2[1].0.doc》由会员分享,可在线阅读,更多相关《宁夏电信帐务结算系统数据库日常维护文档v2[1].0.doc(27页珍藏版)》请在三一办公上搜索。
1、宁夏电信帐务结算系统数据库日常维护文档(v2.0) 宏智科技股份有限公司2003年4月资料版本:V2.0日 期:2003年4月密 级:公开资料 内部资料 保密资料 机密资料状 态:初稿 讨论稿 发布版权声明宏智科技股份有限公司20022002年版权所有,保留一切权利非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文的部分或全部,并不得以任何形式传播。Copyright2002 by Wholewise Sci.&Tech. Co.,Ltd.All Right Reserved.No part of this document may be reproduced or transmitte
2、d in any form or by any means without prior written consent of Wholewise Sci.&Tech. Co.,Ltd. 文档控制记录修改记录日期作者版本修改记录2002-11-13刘高智1.0初稿2003/04/30程国谦1.1修订错误2003/05/05程国谦2.0增加DBA所必须掌握的UNIX命令审阅姓名时间职位程国谦2003/04/25技术资源部经理分发拷贝No.姓名分发时间单位1张建雷2003/05/10宁夏电信公司2崔鹏2003/05/10宏智科技宁夏电信计费系统项目经理目录1系统监控41.1CPU使用情况监控41.2
3、内存使用情况监控41.3系统空间使用情况42oracle存储监控52.1检查oracle日志52.2检查数据库数据表空间的使用情况62.3检查表和索引的扩展72.3.1检查扩展数多于100的表和索引72.3.2检查不能扩展的数据库对象72.4检查回滚段使用情况72.4.1检查回滚段配置情况72.4.2检查回滚段争夺82.4.3检查回滚段的扩展83数据库性能监控83.1收集数据库运行信息83.2跟踪应用运行情况93.3定期对数据库对象进行分析93.4定期更新OPS视图103.5检查数据库排序和临时段103.5.1检查内存排序的比例103.5.2检查临时表空间的设置103.6检查重做日志文件使用情
4、况113.6.1检查logswitch113.6.2检查重做日志文件空间请求113.6.3检查重做日志文件的latch113.7检查数据库的命中率113.7.1检查Library Cache命中率113.7.2检查Data Dictionary Cache命中率113.7.3检查buffer cache命中率123.8v$resource_limit124数据库备份125附录A 脚本126附录B. 其它的一些常用脚本167附录C 常用的数据字典198附录D DBA常用unix命令及配置文件221 系统监控1.1 CPU使用情况监控用vmstat命令监控系统,命令输出如下;# vmstat pr
5、ocs memory page faults cpur b w avm free re at pi po fr de sr in sy cs us sy id0 0 0 32243 1091988 7 0 0 0 0 0 2 2040 3341 1387 10 1 89 注意:cpu选项的id值。该值太小表示cpu繁忙。可能存在cpu瓶颈或有不正常进程存在。可用top命令近一步监控占用资源大的进程。1.2 内存使用情况监控用vmstat 命令监控# vmstat procs memory page faults cpur b w avm free re at pi po fr de sr in
6、 sy cs us sy id0 0 0 32243 1091988 7 0 0 0 0 0 2 2040 3341 1387 10 1 89注意:如果memory的free list(free项)持续增大,可能程序存在内存泄漏。Page in(pi)和page out(po)持续为非零值时,表示存在内存瓶颈。1.3 系统空间使用情况用df -k命令检查系统使用空间:注意:检查每个文件系统的使用空间百分比(used),特别是根文件系统(/)、oracle文件系统(/oracle)和归档日志文件系统(/global/arch1,/global/arch2)。不要让使用空间超过80%。当oracl
7、e文件系统没有空余空间时,数据库会出现中断的情况。应定期用df(或df k)命令察看oracle文件系统的使用情况,保证使用率在80%以下。不要将数据库备份文件长期存放在oracle文件系统中。注意定期清除oracle的日志文件。若使用ORACLE并行数据库(OPS),禁止在oracle文件系统中创建数据文件。如果是归档日志文件系统满,需要检查备份系统。如果数据库启动在archive log(归档)模式下,应定期察看archive log的文件系统(在计费周期里,建议每隔12个小时察看一次,根据我们的经验,象宁夏电信这样的集中计费系统,每小时生成的日志文件估计在5GB左右,若不及时将归档日志文
8、件备份出去,将导致数据库系统hang住),保证有足够的空间存放archive log文件。及时的备份archive log文件,并做及时的清理。数据库管理员应定期清理log文件、trc文件、和core文件。Oracle的日志文件有: /oracle/app/oracle/admin/bill/budmp目录下的alert_bill.log文件(数据库日志文件) /oracle/app/oracle/admin/bill/budmp目录下的*.trc 文件(oracle后台进程产生的trace文件) /oracle/app/oracle/admin/bill/udump目录下的*.trc 文件
9、(oracle错误时产生的trace文件) /oracle/app/oracle/admin/bill/cdump目录下的core_* (oracle core dump 文件) /oracle/app/oracle/product/8.1.7/dbs 目录下的core_* (oracle core dump 文件) /oracle/app/oracle/proudct/8.1.7/network/log目录下的listener.log (监听进程日志) /oracle/app/oracle/proudct/8.1.7/network/log目录下的sqlnet.log (sqlnet日志)应
10、特别注意的是listener.log文件,该文件存放在$ORACLE_HOME/network/log目录下。在监听进程配置不正确或监听进程出现错误时,log文件会增长得很快,应定期察看log文件的大小,并清空该文件,但该文件只能采用 $ORACLE_HOME/network/log/listener.log命令清空该文件而不能删除该文件。2 oracle存储监控2.1 检查oracle日志用vi命令查看数据库日志(/oracle/app/oracle/admin/bill/bdump/alert_bill.log文件)检查数据库的报错信息,尤其注意ORA-600错误、ORA-07445错误、
11、ORA-01578错误等对系统影响较大的错误。对数据库的报错,应首先使用oerr命令查看该错误的解释和基本的应对手段。如:对错误ORA-1562oerr ora 165201652, 00000, unable to extend temp segment by %s in tablespace %s/ *Cause: Failed to allocate an extent for temp segment in tablespace./ *Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more/ file
12、s to the tablespace indicated我们可以很轻易的了解到由于磁盘空间不足导致该错误,可以通过增加数据文件或其他方式解决该故障。对于不能处理的报错,请将错误日志和trace文件mail给系统集成事业部、拨打宏智科技服务热线、通过ORACLE metalink网站()开tar或拨打ORACLE 800服务热线 8008100366解决故障。错误的trace文件存放在/oracle/app/oracle/admin/bill/cdump或/oracle/app/oracle/admin/bill/bdump目录下。如:Mon Apr 15 20:01:44 2002Error
13、s in file /oracle/app/oracle/admin/bill/bdump/smon_11866_bill.trc:ORA-00600: internal error code, arguments: 16224, , , , , , , 2.2 检查数据库数据表空间的使用情况使用如下的脚本检查表空间使用情况,相关脚本参见附录A。FREE_SPACE.SQL 检查表空间剩余空间。FREE_PER_TP.SQL 检查表空间剩余空间百分比。当表空间使用空间超过80%,建议进行垃圾表的清理或增加数据库文件扩大表空间大小。l OPS环境下,不要使用一般文件做数据库的数据文件,日志文件,
14、控制文件。一定要用裸设备,裸设备的设备名是/dev/r,同时一定要注意数据文件大小一定要略小于裸设备大小。l 在增加或删除数据文件后,注意及时维护安装配置文档中的数据文件分配表。2.3 检查表和索引的扩展2.3.1 检查扩展数多于100的表和索引使用LAGRE_EXTENT.SQL检查扩展数多于100的表和索引。对于扩展数多的表和索引,建议:修改数据库对象的存储参数并重建该数据对象。2.3.2 检查不能扩展的数据库对象使用MAX_EXTENT.SQL检查因达到maxextent参数引起的表或索引不能扩展。使用NO_SPACE.SQL检查因表空间的最大空闲块小于表的扩展块引起的表或索引不能扩展。
15、对于第一种情况,可暂时将maxextent设为unlimited或通过重建数据库对象的方式彻底解决该问题。对于第二种情况,应将next调小,将pctincrease设为0。以上两种错误,均应考虑对对象的存储策略进行修订,避免再次出现类似故障。2.4 检查回滚段使用情况2.4.1 检查回滚段配置情况使用ROLL_SEGS.SQL脚本查看回滚段配置。回滚段配置及使用注意以下几点: 数据库有足够的回滚段。(见6.2) 回滚段使用独立的表空间。 每个回滚段的initial_extent和next_extent一样大,pct_increase为0。 每个回滚段使用相同的存储策略 system回滚段例外
16、大事务使用少量大的回滚段,小事务使用大量小的回滚段2.4.2 检查回滚段争夺使用ROLL_CONT.SQL检查回滚段竞争。当结果大于1%时,需增加回滚段的数量。2.4.3 检查回滚段的扩展使用ROLL_EXTENT.SQL检查回滚段的扩展。如果大部分回滚段扩展次数较大。则: 在回滚段的存储参数中设置optimal值。Optimal值必须大于minextent值。 增加回滚段的initial和next值。 增加回滚段表空间的大小。如果是某个回滚段扩展较大。则表明数据库中有较大的事务。建议建一个大的回滚段,用于大的事务。平时大的回滚段处于offline状态,在大事务执行时,online大的回滚段。
17、在sql语句中指明事务使用大的回滚段。3 数据库性能监控在日常维护过程中,应定时对数据库系统运行情况进行检查。例如定时检查数据库表空间使用情况;定时对数据库性能进行分析(使用utlbstat/utlestat脚本对数据库的数据库缓冲区命中率等进行监控);定时对数据库的表和索引进行分析;定时对占用系统资源最多的数据库进程进行跟踪并反馈给应用开发人员等以保证数据库系统的运行正常与高效。3.1 收集数据库运行信息ORACLE提供了两个脚本utlbstat.sql和utlestat.sql用于收集数据库运行信息(包括数据库缓冲区命中率、磁盘读写分布等),在数据库最忙的时候执行如下脚本收集信息:Svrm
18、grl alter system set timed_statistics=true;Svrmgrl ?/rdbms/admin/utlbstat.sql执行该语句2030分钟svrmgrl ?/rdbms/admin/utlestat.sql(?$ORACLE_HOME)svrmgrl alter system set timed_statistics=false;在当前目录下将生成一个report.txt文件,可以与在系统空闲或其他时间生成的文件进行比较,判断是否需要修改数据库初始化参数。3.2 跟踪应用运行情况数据库运行过程中可能由于应用sql语句不规范、索引失效或其他问题导致性能下降,
19、响应速度变慢,可以通过如下方式对应用进行跟踪:svrmgrl ?/utlxplansvrmgrl select sid,serial# from v$session where username=&username;svrmgrl execute dbms_system.set_sql_trace_in_session(sid,serial#,true);执行该语句2030分钟左右svrmgrl execute dbms_system.set_sql_trace_in_session(sid,serial#,false);在$ORACLE_BASE/admin/$ORACLE_SID/udum
20、p目录下将生成一个trc文件,可以使用如下命令将其转换为文本文件:$ tkprof out.trc out.txt explain=username/password sys=no3.3 定期对数据库对象进行分析定期对表进行分析有几点需要注意:u 系统表不能进行分析,一旦对系统表进行分析将导致数据库性能缓慢甚至产生其他问题,这是由于ORACLE对系统表的查询的优化方式和一般情况下的SQL优化方式不同。u 需要对所有非系统的表全部进行分析。如果只分析部分表则可能导致数据库执行时选择错误的执行策略,导致数据库性能缓慢。u 由于目前计费帐务系统的应用方式,建议每旬下帐后对所有的应用的表进行分析;但由
21、于部分表记录数可能达到几千万条,这样一个晚上可能无法完成所有表的分析,因此建议采用采样分析。建议在应用部门的配合下,编写一个适合当地的分析脚本(大表采用采样分析10万条,小表则全部分析)并定期进行分析并记录分析时间及执行人以提高系统的运行效率。3.4 定期更新OPS视图在OPS环境下,建议每隔3/4周运行catparr.sql以刷新ops依赖的底层数据字典ext_to_obj视图。由于在OPS的环境下,v$ping和v$cache是依据内部表ext_to_object的信息产生的。而表ext_to_obj是从ext_to_obj_view(由脚本catparr.sql产生的)视图产生的静态表。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宁夏 电信 帐务 结算 系统 数据库 日常 维护 文档 v2
链接地址:https://www.31ppt.com/p-2395290.html