闲谈重做Oracle日志文件

经过长时间学习重做Oracle日志文件,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。在Windows 2000 Server中可以通过“性能”工具来监控磁盘的活动,对VMS和Unix多数磁盘进行每秒40次以上的I/O是过度的,应当给予调节。

10年积累的成都做网站、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有柳北免费网站建设让你可以放心的选择与我们合作。

分布I/O以解决磁盘争用

(1)存放重做Oracle日志文件
重做Oracle日志文件是顺序写入磁盘的,所以尽量不要将重做Oracle日志文件跟数据文件存放在同一个磁盘上。如果不得不将数据文件跟重做Oracle日志文件存放在同一个磁盘上,那么该盘空间不应该属于SYSTEM表空间、RBS表空间,以及其它如DATA和INDEX表空间。它们都会直接导致与重做Oracle日志文件之间的争用,而且还会有增加写入日志数据库读写速度的可能性。

(2)存放档案日志文件
在进行大量数据事务处理的时候,数据库选择归档功能将会导致其与重做日志磁盘间的争用。而且当档案重做Oracle日志文件出现空间不够时,将会引起数据库的冻结。所以档案日志文件不能与SYSTEM表空间、RBS表空间或INDEX表空间段存储在同一设备上,也不能与任何联机重做Oracle日志文件存放在同一设备上。它只允许与一些小的、静态的文件存放到一起。

(3)存放数据代码文件
为了减少数据库文件和数据库代码之间的争用,应避免将数据库文件作为代码文件而放在同一磁盘中。如果数据文件不得不放在同一磁盘设备中,那么应当将最不常用的数据文件放在那儿。

(4)减少非Oracle文件的I/O

(5)优化DBWR进程争用

数据库写进程(DBWR)、日志写进程(LGWR)与归档进程(ARCH)三种后台处理进程可以空闲存取磁盘上的数据库文件。这三个进程之间常因同时读写争用而导致I/O争用,而DBWR进程还有自我争用发生的可能。通过对DBWR赋值可以有效的解决DBWR的自我争用问题。

通常在操作系统中为每个实例创建多个DBWR进程,并通过初始参数DB_WRITERS来确定DBWR的个数。建议将赋值在n与2n之间,这里的n是指磁盘的个数。如果赋值不能很好的解决DBWR的内部争用,可以通过异步I/O来减少DBWR的内部争用。由于I/O进程的执行都是并行的,所以异步的I/O仅需一个DBWR即可解决问题。

(6)表数据存放策略
将大表的数据划分成若干小部分,并将这些部分存储在不同磁盘的不同数据文件中。用create tablespace创建表空间,在datafile子句中指定数据文件,每个文件应在不同的盘上。如我们需要在三个磁盘上存放数据文件,可使用如下代码:

 
 
 
  1. create tablespace trip  
  2. datafile 'file_on_disk_1' size 500k,  
  3. 'file_on_disk_2' size 500k,  
  4. 'file_on_disk_3' size 500k; 

(7)指定表空间和表大小
用“create table”创建表,在tablespace子句中指定表空间,在storage子句中指定表的大小,如以下SQL语句:

 
 
 
  1. create table striptab (  
  2. ……  
  3. Tablespace strip 1500k  
  4. Storage (initial 495k next 495k minextent 5 pctincreate 0); 

(8)清除其它的磁盘I/O
数据块空间的分配因数据库中的数据被存放在数据块中,因此如何分配数据块中的空间将直接影响其存取性能。

当用update语句更新一行数据时,可能使该行的数据增加,从而使其在一个数据块内容纳不下。这时,Oracle就寻找能容纳下该行的数据块,如果能找到这样的块,便把该行全部存入新块中(这称为行移动)。如果找不到能容纳该整行的数据块,则把该行切成若干片,然后把每一片分别存放在一个数据块中,于是这样的行被存放在多个数据块中,这种行称为链接行。查询一个链接行则需要多次I/O操作,从而产生I/O瓶颈,这将降低数据的存取性能。以上介绍重做Oracle日志文件。

文章标题:闲谈重做Oracle日志文件
文章出自:http://www.shufengxianlan.com/qtweb/news13/213313.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联