oracle数据库新闻,Oracle数据库维护中的前瞻性-程序员宅基地

技术标签: oracle数据库新闻  

数据库管理员必须自始自终都密切关注可能会对他们所管理的各个系统的可用性或者性能有负面影响的潜在数据库问题。通常情况下,可以把数据库管理员监视、维护系统的方式分为两种,分别为反应性监视与前瞻性监视。

20100422085904830.jpg

如上图所示,反应性监视是指在已经出现一个性能或者管理问题后再对数据库进行监视。例如有员工向数据库管理员反应应用系统的速度比较慢。数据库管员跟其他技术人员共同会诊后发现是由于数据库的原因所造成的。此时数据库管理员就需要使用相关的工具来收集数据库的运行数据,以查明问题发生的原因。虽然这最终也可以顺利把问题解决,但是这毕竟与优秀数据库管理员心中的期望还有一点距离。因此反应性监视有点像放马后炮的感觉。问题已经出现,即使数据库管理员能够在最短时间内查明原因、解决问题,但是毕竟对于用户产生了一些不利的影响。故数据库管理员希望能够在故障发生之前就能够了解导致这个故障发生的原因,并及时采取有效措施预防这种故障的最终发生。这就使数据库管理员所期待的前瞻性监视。

前瞻性监视可以让数据库管理员在问题出现之前、期间或者之后查处并响应数据库常见的性能与管理问题。简单的说,在某一个数据库故障发生之前,都会有一些征兆。这就好像一些自然灾害发生时,像蚂蚁、燕子等等都会有一些异常的反应。数据库管理员有必要了解这些征兆。如此的话,我们才能够把这些问题消除来萌芽状态,防止问题的扩大。

Oracle数据库设计者们也一直在往这个方向努力。如在10G以后的数据库版本中,就有了一个自动工作负荷储存库的功能,来帮助数据库管理员收集在数据库运行中的异常数据。通过这些数据的帮助,数据库管理员可以抢在数据库故障发生之前把问题解决了。

一、自动工作负荷存储库的特点

自动工作负荷存储库主要是通过两个回退进程实现的,分别为内存监视器与内存监视灯。这两个进程是一对双胞胎数据,他们可以给数据库管理员带来很大的帮助。如这两个进程会相互合作,从数据库系统全局区中直接收集性能统计数据。如数据库服务器CPU内存的使用率等等。其中内存监视器在其中担任主要角色。默认情况下,内存监视器每个小时会启动一次,并从数据动态性能视图、数据库目录视图和数据库优化器中收集性能等相关的统计信息,然后会把这些信息存储在数据库的表中。这个表就叫做自动工作负荷存储库表。通常情况下,这个表被Sysman用户所拥有,并被存储在Sysaux表空间中。

二、启用自动工作负荷存储库并进行相关的配置

如果数据库管理员需要启用这个自动工作负荷存储库功能,则需要手工对此启动。默认情况下数据库是不会启动这项功能的。笔者的意见是,在数据库设计或者测试的时候,不用启动这项功能。毕竟其本身需要耗用服务器一定的资源。但是在生产服务器(即企业已经在使用的Oracle数据库)系统中,最好启用这项功能。以帮助数据库管理员自动收集数据库的运行性能信息,以实现前瞻性监视的目标。

如果想要启用自动工作负荷存储库功能,则需要配置数据库中的Statistics_level这个参数。这个参数主要有三个值,用来决定内存监视器进程收集统计数据的深度与频率等等。如数据库的规模比较小或者应用时间不长的话,可以把这个参数设置为Basic。在这个参数下,数据库虽然已经启用了自动工作负荷存储库,但是会禁用这项功能的大多数争端监视以及顾问活动。也就是说,此时数据库管理员启动数据库实例时,系统只会收集少量的数据库运行时的统计数据。当数据库规模比较大时这些数据往往不能够帮助数据库管理员排查故障发生的原因。如果数据库设计比较复杂或者企业对于数据库的性能要求比较高,则此时数据库管理员可以把这个参数设置为ALL,这是自动工作负荷存储库收集统计数据的最高级别。在这个级别下,内存监视器将会捕获大部分的统计数据,同时还会收集来自操作系统的执行计划和定时信息。如Oracle数据库的自动备份有时候需要操作系统的任务计划的帮助下才能够完成。那么此时数据库管理员就需要考虑数据库性能下降的原因是否跟这个操作系统的任务计划有关。此时内存监视器收集起来的跟操作系统相关的计划与定时信息就会非常的有用。不过有时候数据库管理员可能只需要收集数据库自深的运行信息,而不需要操作系统的相关信息。此时就可以把这个参数设置为Typical。这个参数是自动工作负荷存储库的标准级别,他会收集跟数据库自深相关的统计信息。

数据库管理员可以根据企业对数据库性能的要求、可以允许数据库当机的时间、服务器的配置等因素来考虑要选择的级别。通常情况下,如果在同一个服务器中,除了Oracle数据库外还部署了其他应用服务的话,那么笔者建议最好采用All级别。此时数据库管理员可以知道尽可能多的信息,帮助管理员及早把问题消除掉。

三、配置合适的时间参数

在启用自动工作负荷存储库之后,数据库管理员还需要考虑一些时间上的分配问题。如这个自动负荷存储库表中的数据需要保存多久。由于数据库运行统计信息的数量,随着其级别的不同,数据量有多少。但是只要采用了Typical或者All这两个级别后,其信息量还是很可观的。故如果不定时清除这些数据的话,则这个表没有多少时间就会占用很大的空间了。为此这个表必须循环利用,以减少存储空间。默认情况下,自动负荷存储表中的内容只会被保存七天,也就是说这个表中存储的是最近七天的数据库运行信息。但是如果数据库环境设计比较复杂可能会产生大量的统计信息,则此时数据库管理员就需要缩短这个时间。而有时候某些异常数据可能会周期性的出现,故数据库管理员需要了解几个周期之内的数据,此时就需要延长这个循坏周期。为此数据库管理员要能够更改这个周期,以方便其工作。如果数据库管理员需要跟该这个周期的话,那么就需要执行Dbms_Workload_Reposttory程序,设置其中的retention参数。注意这里是用分钟为单位。如果数据库管理员想要把这个时间设置为10天的话,则就需要把这个参数设置为60*24*10=14400分钟。注意这里是以分钟为单位。如果数据库管理员不知道这个内容或者误以为这里是以天为单位的,而把这个参数设置为10的话,那么这个工作负荷存储库表中就不会记录有价值的信息。

另外,默认情况下工作负荷存储库的内存监视器是每60分钟收集一下信息。不过有时候数据库管理员可能需要根据实际情况来缩短这个统计的周期或者严惩周期。如为了测试的需要要把这个周期缩短为10分钟以判断是否正常启用了自动工作负荷存储库时,就需要把这个周期缩短。此时也是采用如上那个程序,不过参数是interval了。如果要把这个时间调整为30分钟,则只需要把这个参数设置为30即可。注意此时这里是以分钟为单位。如果此时数据库管理员要让这个工作负荷存储库表保留10天的纪录,同时每隔30分钟统计数据库运行的信息,就可以执行以下的命令来完成:Execute Dbms_Workload_Reposttory.modify_snapshot_settings(interval=30,retention=14400)。即可以完成如上的需求。笔者再次强调一下,这个命令中都是以分钟为单位的。另外,如果同时缩短统计周期并延长工作负荷存储库表的存储周期,那么在这两个因素的共同作用下,这个表的容量会很快的膨胀起来。数据库管理员需要注意这个问题。通常情况下,笔者建议可以缩短这个统计周期,但是不建议延长表的存储周期。如果数据库管理员确实需要一段时期内的性能数据的话,则可以先把这个表导出来进行备份。这可以避免工作负荷存储表对数据库表空间的侵蚀。再者,缩短内存监视器收集系统统计数据周期会增加数据库的额外开销,这也是数据库管理员在调整这两个参数时需要注意到的内容。

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

文章转载自:网络转载

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39874379/article/details/116391875

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法