宝哥软件园

Oracle数据库11g的五大特性

编辑:宝哥软件园 来源:互联网 时间:2021-08-07

类型:硬件驱动大小:8.3M语言:中文评分:2.6标签页:立即下载Oracle数据库11g五大特性及自我调整

在这里,我先简单介绍一下Oracle11g的五大特性,然后详细介绍它的自调整。

Oracle11g最突出的五个特点是:与以未压缩格式存储数据相比,新的Oracle数据压缩技术可以确保以更少的开销节省三倍以上的磁盘存储空间。这比仅仅节省磁盘空间有更大的优势,因为它可以让企业节省更多的费用,有更多的资金来巩固自己的地位,尤其是对于中型企业来说。自动诊断知识库是一个专门针对严重错误的知识库。这个知识库基本上可以自动完成一些需要数据库管理员手动完成的操作。

作为ADR的一部分,SQL性能分析器(SPA)是最令人兴奋的特性之一。SQL Performance Analyzer是一个整体调整工具,通过它管理员可以定义和重放数据库上的典型工作负载,然后管理员可以调整整体参数,使数据库尽快达到最佳性能。

因为获得了最优的初始参数,所以数据库管理员不需要调整数万条SQL语句。管理员需要做的就是给出一个典型的负载,SAP会根据历史记录来决定SQL的最终设置,而不需要管理员检测哪个SQL设置最合理。

多年来,甲骨文一直试图实现的另一个新功能是“在线更新”(在不关闭机器的情况下更新软件)。事实上,从软件工程的角度来看,很难设计出一个可以在运行时自动升级的软件。由于真实应用集群(RAC)的特点,甲骨文再次给其他数据库供应商带来了更大的压力。在实际使用过程中,数据库产品的用户总是希望产品具有持续的高可用性,这并不是说离下一次补丁更新只有三年时间就足够了。

自动内存管理(AMM)可以追溯到Oracle 9i,当时甲骨文公司推出了第一个自动调整存储池的工具。AMM工具实际上是一种探测机制。实际上,Oracle11g有许多随机访问存储池。当AMM检测到存储池已满时,它会将整个内存从一个区域分配到其他合适的区域。

简而言之,Oracle11g功能强大,技术先进。希望更多的朋友向她学习,利用她,研究她。好了,我们来仔细看看她的自我调整:

如何让数据库自我调整,减少数据库管理员的工作量,是甲骨文公司一直追求的目标。毕竟其数据库的复杂度远超同类数据库;此外,其数据库的维护成本远高于其他数据库。所以甲骨文公司追求甲骨文数据库的自我调整和优化,降低甲骨文数据库的维护成本是可以理解的。

自调整SGA和自调整检查点是Oracle数据库10G版本中的新功能,但在11G版本中真正得到充分发挥,得到了数据库管理员的充分肯定和积极采用。下面,我将带领大家看看这两个新特性如何帮助企业降低维护成本,提高数据库管理效率。

第一,自我调整关卡。

在之前的文章中,我提到过Oracle数据库中有一个存储缓冲区,它包括三个部分,一个叫做脏缓冲区。存储在这个缓冲存储区中的是已经被修改的数据。通常,这些数据不会立即写入数据文件。除非空闲缓冲区用完,否则这些数据不会写入数据文件。但是,在这种情况下,也会出现问题。如果其他用户在空闲缓冲区刚刚用完的时候频繁读写数据库,然后在这个繁忙的时候将更改后的数据写入数据库文件,显然会对数据库的性能造成很大的影响。

因此,作为数据库管理员,我们的假设是,当I/Q操作相对为空时,是否可以将脏缓冲区中的数据写入数据库?依靠数据库管理员的手动管理当然是不现实的。我们的数据库有这个自动判断功能。甲骨文似乎听到了我们很多数据库管理员的声音,在数据库的10G版本中增加了这个功能,在11G版本中进行了改进,这就是自调整检查点的自调整功能。

检查点是一种将内存中修改的数据与数据库中的数据文件同步的方法。Oracle数据库定期将检查点之间修改的数据写入数据文件。这种方法的一个要求是服务器有足够的可用内存来提高为即将到来的操作找到空闲内存的性能。

所以这个检查点的设置和很多参数有关,比如服务器的内存等等。尽管在以前的版本中,数据库管理员可以通过设置相关的初始化参数来指定预期的崩溃恢复时间。但实际上,由于该设置的复杂性和影响因素较多,很少有数据库管理员会对该参数进行调整,全部采用其默认设置。

当我使用Oracle11g数据库时,我印象最深的是数据库可以自我调整检查点。这个功能虽然在10G中已经提出,但总是不尽人意。11G做了一些改进,让这个新功能得到了大家的认可。利用数据库的自动检查点调整,数据库会自动判断数据库的繁忙程度,具体是I/Q操作的繁忙程度。当数据库空闲时,它会自动将脏缓冲期的内容写入数据文件,从而减少对数据库吞吐量的影响,提高数据库的运行性能。

其实这个关卡的自我调节功能就像一个交警。道路繁忙、下班高峰时段,部分保洁车无法进入车道;只有道路相对空闲时,清洁车才能进入车道进行清理。从而将清洗车对车道正常运行的影响降到最低。

当然,这种改进可能不会马上被用户注意到。

然而,当我们比较前后的数据库日志时,我们会发现它们之间有很大的差异。使用数据库的检查点自调整功能后,数据库的查询性能,尤其是查询大量数据的性能得到了显著的提升。

不过话说回来,虽然数据库的自调功能是一个很好的“交警”,但是当车真的很多的时候,再好的“交警”也无能为力。此时就需要对硬件进行改进,比如增加服务器的内存等等。毕竟数据检查点等自调整功能只能提高硬件的利用率,本质上并不能提高硬件的容量。第二,自我调整系统全局区域。SGA是英文缩写,中文意思是系统全球区域。它是所有用户共享的存储区域。系统的全局区域就像网格,每个网格都是一个存储组件,用于存储满足每种内存分配需求的内存池。例如,用户最近查询的数据块将保存在其中一个网格中;数据库结构等变更需求也将存储在这些网格中。

现在有一个问题,网格大小的问题。如果网格太大,整个网格包含的内容不到三分之一,显然是一种浪费,这些空间本来可以用于其他目的;如果网格太小,无法存储信息,将再次出现内存分配错误。

如果数据库管理员自己调整这些网格的大小,难度可想而知。因为这些空间的需求是不确定的,所需的容量会随着服务的不同而变化。因此,数据库管理员希望数据库能够动态分配系统的全局区域,使数据库能够根据实际需求划分这些网格的存储空间。当然有一个前提,就是不超过总容量。

在Oracle 10G和11G的数据库系统中,增加和改进了这个功能,实现了系统全局区域的动态分配。也就是说,我们数据库管理员只需要算出一个系统全局区域的总大小,然后,里面的网格如何划分,我们就不需要在意了。Oracle数据库会根据住在里面的客人数量来分配。Oracle数据库将负责优化整个系统全局区域的内存分配。数据库改进后,这些房间的大小不是固定的,而是随着业务量的不同而实现动态轮廓。在这种情况下,一方面不会浪费房间内的空间,一个房间不会拥挤,其他房间都是空的;另一方面,存储信息时不会因为空间不足而出现内存存储错误。

通过这种自调整系统全局区域的功能,Oracle数据库可以智能地合理分配数据库服务器的内存,提高内存使用效率,提高数据库的性能。

但是,这两个功能提供了用户定义的功能,例如定义系统全局区域的总大小和检查点的恢复时间。虽然定义比较简单,但有一个问题:定义有多大才能让它合理?很难确定。因为这个根据不同的企业应用不同,没有参考标准。通常,数据库管理员可能需要观察数据库性能一年以上才能得到合理的值。所以我的建议是一开始就采用默认设置。让数据库根据服务器的硬件配置获得合理的参数。今后如有必要,根据相关信息设定合理的数值。

更多资讯
游戏推荐
更多+