软件维护员2010年培训教程_数据库.ppt_第1页
软件维护员2010年培训教程_数据库.ppt_第2页
软件维护员2010年培训教程_数据库.ppt_第3页
软件维护员2010年培训教程_数据库.ppt_第4页
软件维护员2010年培训教程_数据库.ppt_第5页
已阅读5页,还剩24页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件维护员2010年培训教程,数据库讲解人:肖文斌,深圳市思乐数据技术有限公司软件支持部,Sybase ASE 培训教程,一、Sybase ASE 白皮书推荐学习 二、Sybase ASE系统管理员日常维护 三、sp_sysmon 简介,一、Sybase ASE 白皮书推荐学习,Sybase ASE 快速参考指南 (超链接) 系统管理指南 系统管理指南-第一卷(超链接) 系统管理指南-第二卷 (超链接) 性能和调优系列 性能和调优系列-查询处理和抽象计划 (超链接) 性能和调优系列-监控表 (超链接) 性能和调优系列-使用sp_sysmon 监控 (超链接) 性能和调优系列-使用统计分析提高性

2、能 (超链接) 性能和调优系列-锁定和并发控制 (超链接) 性能和调优系列-物理层面的数据库调优 (超链接),二、Sybase ASE系统管理员日常维护,定期备份 MASTER库 定期备份用户数据库 定期检查最早活动事务 定期检查数据库日志空间 定期检查数据库剩余空间 定期查看(错误)日志 定期检查数据库软件更新 定期更新统计信息 定期进行性能检查 定期检查数据库完整性 定期重新组织表空,定期备份 master 库,Master 库是 ASE 最核心的系统库,它记录了所有数据库的物理和逻辑信息,因此其备份工作独立成节。 建议 master 数据库的备份频度为每周一次。同时,在进行任何系统表操作

3、之前和之后,应事先/立即备份 master 库。如: disk init、 sp_addumpdevice、sp_dropdevice 、 磁 盘 镜 像 命 令 sp_addsegment 、 sp_dropsegment 或sp_extendsegment 等。(在执行 sp_configure 操作后,可以不做 master 库的备份,因为该操作所做的修改可以通过配置文件予以恢复) Master 数据库的备份可以采用在服务停止后,直接复制 master.dat 文件的方式进行。 有关备份 master 数据库的详细信息,请参考 Sybase 手册之 SystemAdministratio

4、n Guide Volume 2中的 Developing a Backup and Recovery Plan 一章。,2.定期备份用户数据库,对于数据库维护而言,定期备份是十分重要的工作。 ASE 管理员应制定合理的备份策略,定期进行数据库备份( dump database)和日志备份( dumptransaction)。建议数据库备份的频度至少为每周一次、日志备份的频度至少为每日一次。可根据应用的实际情况将日志备份调整为每半天一次或每小时一次,以尽可能地降低意外导致的损失。 需要注意的事,除了定期备份外,当发生以下操作之前和之后,也应及时进行数据库备份: 数据库版本升级; 创建新索引;

5、无日志记录操作,如无记录的 writetext、永久表上的 select into、快速批量复制(bcp)到一个没有触发器或索引的表等; dump transaction with truncate_only 或 dump transaction with no_log2。(强烈建议采用 truncate_only,而不是 no_log,否则可能造成问题。) 同时,建议在进行了任何 DDL 操作后,立即备份数据库。,2.定期备份用户数据库,对于小容量并使用文件系统文件为设备的数据库,可以采用直接备份设备文件的方式进行。采用此种方式备份,必须准确地记录设备文件所在的目录。 有 关 备 份 用 户

6、 数 据 库 的 详 细 信 息 , 请 参 考 Sybase 手 册 之 SystemAdministration Guide Volume 2中的 Developing a Backup and Recovery Plan 一章。,3.定期检查最早活动事务,最早活动事务(the oldest active transaction)是指一个数据库中的最早未完成(未提交或未回滚)的事务。它将导致日志空间逐渐减少,持续时间越长,日志空间越少。由于事务的瞬间性,通常并不会存在被记录下来的最早活动事务。但一些特殊情况可能会导致最早活动事务出现。比如,在一个大事务处理过程中,网络出现故障。 在 mas

7、ter 数据库中,系统表 syslogshold 为每个数据库记录了最早活动事务(如果存在的话)以及复制服务的截断点(如果存在的话),也就是说在该表中,每个数据库可能存在 0、1 或 2 条记录。 可以通过查询 syslogshold 表获取最早活动事务的情况。建议检查频度为每周一次。 有 关 备 份 用 户 数 据 库 的 详 细 信 息 , 请 参 考 Sybase 手 册 之 SystemAdministration Guide Volume 2中的 Backing Up and Restoring User Databases和 Managing Free Space with Thr

8、esholds 章节、Reference Manual: Procedures中的 System Procedures 一章以及Reference Manual: Tables中的 System Tables一章。,4.定期检查数据库日志空间,ASE 数据库采取的是先记日志的机制。每当用户执行修改数据库的操作时,ASE 会自动地将变化写入日志中。一条 SQL 语句所产生的所有变化都被记录到日志后,它们才被写到数据页在缓冲区的拷贝中。日志对于数据库的数据安全性、完整性至关重要。如果当日志空间满了再来处理,有可能会造成一定的损失。因此,需要定期检查数据库日志空间。 可以通过 sp_spaceuse

9、d syslogs 查看日志空间。有关该存贮过程的详细说明,请参考System Administration Guide Volume 2中的 Managing Free Space withThresholds 一章和Reference Manual: Procedures中的 System Procedures 一章。 管理员应根据应用类型、业务量以及日志空间的大小来制订检查的频度。建议至少每周一次。,5.定期检查数据库剩余空间,通常在设计时,数据库的容量比当前容量大很多。然而,随着时间的流逝、数据量的不断增加,数据库剩余空间逐渐减少。建议检查的频度至少为每月一次。(根据摩尔存储定律,每隔

10、 912 个月数据容量将翻一翻) 可以通过 sp_helpdb 查看数据库的使用情况,有关该存贮过程的详细说明,请参考Reference Manual: Procedures中的 System Procedures 一章。,6.定期查看(错误)日志,实际上,定期查看日志是任何系统的管理员都必须养成的良好习惯。日志详细记录了数据库的运行过程情况,任何异常也会在日志中体现。查看日志并不需要多少时间,通常 25 分钟就足够了。将此项工作定期化,管理员就可以大致掌握数据库的运行状况,并及时分析异常并做出正确的响应。有鉴于此,强烈建议日志查看的频度为每日一次。 同时,在数据库发生任何异常时,请首先查看日

11、志。 如何阅读日志,请参考 Sybase ASE 手册之System Administration GuideVolume 1中的 Diagnosing System Problems 一章。,7.定期检查数据库软件更新,虽然用户都希望能有一个没有 Bug 的软件,然而遗憾的是:任何软件都存在 BUG,ASE 自然也不会例外。因此,及时获取补丁并更新,是非常重要的工作。 强烈建议: ASE 管理员应至少每月查看一次 Sybase 官方网站的 EBF 包发布情况;建议在打补丁或更新前,管理员应认真阅读 Targeted CR-List,分析并权衡更新可能对现有应用可能带来的影响。 只要可能,管理

12、员也应认真阅读 Target CR-List,了解当前 ASE 版本存在哪些问题,从而采取相应的措施,避免潜在的损失。,8.定期更新统计信息,ASE 查询优化器依靠统计信息来生成查询计划,统计信息的正确与否,直接决定了 SQL 的执行速度。一个真实的例子是:一个应用系统运行一段时间后,性能急骤下降。监控过程中发现,一些查询 SQL 的 SARG 明明建有索引,但查询计划显示并未使用索引,而是全表扫描。在更新统计信息后,系统速度恢复正常。 建议根据表的更新程度,采取不同的频度执行此项工作。在 ASE15 之前,只能凭经验来估计需要更新的频度。而自版本 15 开始, ASE 引入了一个datach

13、ange 函数,可以获取表的更新程度,从而更灵活地更新统计信息。 需要注意的是,更新统计信息是极消耗系统资源的,因此应尽可能避免在业务时间内执行此项工作。同时,强烈建议不要使用 update all 模式,对于大表而言,update all 将是一个灾难。同时对于大数据量的表,应使用采样更新。建议的采样率为 10%到 20%。 如何更新统计信息以及为哪些列增加统计信息,请参考 Sybase ASE 手册之 Performance and Tuning:Monitoring and Analyzing的 Using Statistics toImprove Performance 一章以及Ref

14、erence Manual: procedures。,9.定期进行性能检查,使用 sp_sysmon 存贮过程(所有 ASE 版本),定期检查数据库运行性能。也可以使用 MDA(也称 mon 表,要求 ASE 版本为 12.5.0.3 以上),或者配合相关工具,如 DB X-ray、Spotlight、Sybase DB Expert 等。 有关 sp_sysmon 存贮过程的详细信息,请参考 Sybase ASE 手册之ReferenceManual: procedures。 有关 MDA的详细信息,请参考 Sybase ASE手册之Performance and Tuning:Monito

15、ring and Analyzing中的 Monitoring Tables 一节。 建议的频度为每周一次,尤其是在业务高峰期。,10. 定期检查数据库完整性,DBCC(database consistency checker)提供了检查数据库逻辑和物理完整性的命令。其主要功能是: 使用 checkstorage 或 checktable 和 checkdb 检查页级和行级上的页链和数据指针; 使用 checkstorage、checkalloc、checkverify、tablealloc 和 indexalloc 检查分配页。 需要注意的是,DBCC 需要消耗大量的资源,因此应尽可能地避免

16、在业务时间内执行此项工作。建议定期 DBCC 的频度为每季度一次。另外,一旦发现硬件存贮可能存在问题,应尽快进行 DBCC 检查。 关于 DBCC 的详细信息,请参考 Sybase 手册之System Administration GuideVolume 2的 Checking Database Consistency 一章。,11. 定期重新组织表空间,数据库运行一段时间后,频繁的表更新活动最终可能会导致空间利用不充分以及性能的降低。因此需要定期的重新组织表空间。 需要注意的是,重新组织表空间需要足够的空余空间,建议应保证 1.5 倍表原有空间以上。同时,重组表空间需要大量的资源,因此应尽可

17、能地避免在业务时间内执行此项工作。 建议定期重新组织表空间的频度为每月一次。,三、sp_sysmon 简介,使用 sp_sysmon 何时运行 sp_sysmon 调用 sp_sysmon 实例sp_sysmon,1.使用 sp_sysmon,sp_sysmon 提供了系统中活动的详细报告,并为您提供多种方法,用于指定希望接收的信息类型、收集报告数据的时间间隔,以及确定如何生成报告的其它选项。 sp_sysmon 报告由若干单独的部分组成。运行 sp_sysmon 可以生成完整报告,也可以仅生成其中某一部分。另外,您还可以自行指定一个时间间隔,使报告按该间隔在所需时间段的起点和终点运行或执行存

18、储过程。 sp_sysmon 仅报告来自采样周期的监控数据。请确保在作出有关调优的决策时以代表性数据为依据。例如,若要对螺旋锁进行调优,应以高峰利用率报告中的数据作为决策依据。但对于减少引擎数目的决策,则应以代表典型工作负荷和高峰工作负荷的多个样本为依据。 报告的数据是通过一组由 Adaptive Server 维护的监控计数器进行收集的。其它一些应用程序也使用这些计数器,如 Monitor Server。缺省情况下, sp_sysmon 报告在被调用时会清除这些计数器。清除计数器可能会影响使用它们的其它应用程序,导致计数器所报告的数据失效。,1.使用 sp_sysmon,警告! 若要控制 s

19、p_sysmon 是否清除计数器,请指定 noclear 选项。如果指定 noclear 选项, sp_sysmon 便不会清除计数器,这样 sp_sysmo可以与 Monitor Server 和其它 sp_sysmon 会话同时运行。缺省情况下,当您使用采样间隔运行 sp_sysmon 时, noclear 处于启用状态,使用 begin_和 end_sample 参数运行 sp_sysmon 时则处于禁用状态。 在单 CPU 服务器上运行时, sp_sysmon 约占用 5% - 7% 的开销,在多处理器服务器上运行时所占的比例更多 (百分比可能因站点而异)。开销量随 CPU 数量的增多

20、而增加。 sp_sysmon noclear 和 Monitor Server 使用相同的内部计数器。在未使用该选项运行时, sp_sysmon 会将这些计数器重新设置为 0,导致与 sp_sysmon 一起使用的 Monitor Server 产生错误输出。 sp_sysmon 与监控表共享某些计数器。在已经执行一个 sp_sysmon 命令时开始执行第二个命令会清除所有计数器,这样第一个 sp_sysmon 会话所生成的报告将不准确。,1.使用 sp_sysmon,注意: sp_sysmon 的性能调优提示以您通过 sp_sysmon 提供的采样间隔为基准。 请先根据您的系统要求详细地查看

21、所有建议,再将它们纳入生产系统。 Sybase 强烈建议您使用自己的数据建立测试区域,并在实施任何建议之前测试所有更改。 由于 sp_sysmon 提供的是系统的快照视图,因此当工作负荷发生变化时您可能需要重新考虑各项建议。 注意 不能在具有缺省大小的 tempdb 的 Adaptive Server 上运行 sp_sysmon。 至少要将 tempdb 的大小增加 2MB,使 Adaptive Server 不会将临时数据库的日志空间用尽。,2.何时运行 sp_sysmon,可以在对 Adaptive Server 配置参数进行调优之前和之后运行 sp_sysmon以收集用于比较的数据。该数

22、据为性能调优奠定基础并可用它观察配置改变结果。 当系统表现出您希望研究的行为时,可使用 sp_sysmon。例如,若要了解系统在典型负载条件下的行为,可以在典型负载的正常情况下运行sp_sysmon。例如,从晚 7:00 开始运行 sp_sysmon 10 分钟 (即批处理作业开始之前、大部分日间 OLTP 用户离开站点之后)并不合理。应在正常 OLTP 负载期间和批处理作业运行期间运行 sp_sysmon。 在多数测试中,最好先启动应用程序,然后在高速缓存有可能达到稳定状态时,开始执sp_sysmon。如果要尝试测试容量,请确保服务器的给定工作量能够使其在测试期间处于繁忙状态。 如果服务器在

23、采样间隔的部分时间内处于空闲状态,则许多统计信息,尤其是那些按秒测量的数据,其值将显得非常低。,2.何时运行 sp_sysmon,一般来讲,在以下情况下使用 sp_sysmon 会产生有价值的信息: 高速缓存或内存池的配置改变前后 在可能影响性能的任何 sp_configure 更改 (例如对内存大小、高速缓存或磁盘 I/O 相关选项的更改)前后 在应用程序组合中添加新查询前后 增减 Adaptive Server 引擎数前后 增加新磁盘设备并指派对象时 在高峰期,用于查找争用或瓶颈问题 在压力测试期间,用于评估针对最大预期应用程序负载的 AdaptiveServer 配置 性能似乎降低或运行

24、不正常时,2.何时运行 sp_sysmon,另外, sp_sysmon 在查询或应用程序开发期间也十分有用。例如,当您: 使用索引和更新,以查看报告为 deferred_varcol 的某些更新是否产 生直接更新与延迟更新 检查特定查询或查询混合的高速缓存行为 为创建并行索引调优参数和高速缓存配置,3.调用 sp_sysmon,按以下方式使用 sp_sysmon: 以固定时间间隔使用,可提供指定分钟数内的样本 使用 begin_sample 和 end_sample 参数启动和停止采样 您还可以定制输出以提供所需的信息: 可以输出整个报告。 可以只输出报告的一部分,如 “高速缓存管理”或 “锁管理”。 注意 “高速缓存向导”部分是报告的一个特殊

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论