a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 62|回复: 0

[综合] Oracle辅导:Oracle中最容易被忽视的两个重要进程

[复制链接]
发表于 2012-8-4 13:54:49 | 显示全部楼层 |阅读模式
在Oracle数据库中有两个历程很是的细微,可是其浸染却长短常的巨年夜。因为其斗劲小而往往被数据库打点员所轻忽。笔者此次就给巨匠提醒提醒,不要轻忽了这两个历程的浸染。如不美观操作的好的话,会削减系统打点员不少的工作。一、系统看管历程SMON 9 u( O& ^' K8 W) h+ G( g
  这个历程对于Oracle数据库来说,可以操作一句话来归纳综合,即人小鬼年夜。其负责的内容并不是良多,可是对于数据的平安与数据库的机能饶暌剐很关头的浸染。如跟着表空间中的数据不竭的成立、删除、更新等等,在表空间中难免会发生碎片。因为这些碎片的存在,数据库的机能会逐渐的降低。而此刻系统看管历程SMON的浸染,就可以解决这些碎片。SMON历程会将各个表空间的余暇碎片合并在一路,让数据库系统加倍轻易分配。年夜而提高数据库的机能。此外,在数据库运行的过程中,会因为断电或者其他的原因而发生故障。此时因为数据高速缓存中的脏缓存块还没有来得及写入到数据文件中,年夜而导致数据的丢失踪。在数据库启动的时辰,系统看管历程SMON会不才一次启动例程的时辰,自动篡夺重做日志文件并对数据库进行恢复。也就是说,进行将已提交的事物写入数据文件(已经写入到日志文件中而没有写入到数据文件中的数据)、回退未提交的事务操作。可见,SMON历程在Oracle数据库中是一个斗劲小可是却很是主要的脚色。
, B- u3 b: o% R0 Y' e- _  在打点这个历程的时辰,笔者认为首要需要注重两个问题。一是其启动的机缘。一般情形下,例程年夜头启动的时辰,会启动这个系统看管历程。然后在这个例程运行时代,这个历程也会被系统按期的叫醒,然后其会搜检是否有工作需要其完成。最主要的是,在有需要的时辰,数据库打点员可以经由过程其他历程来启动这个SMON系统系统看管历程,来完成一些特定的工作。
8 m! \7 `( j! t' H  第二需要注重表空间设置装备摆设对这个历程的影响。在表空间打点中,有一个参数叫做PCTINCREASE。如不美观将这个参数设置为0的话,则这个 SMON系统看管历程对于这个表空间的浸染就要打折扣了。在设置为0的情形下,SMON历程就不会对这个表空间中的余暇碎片进行清算、合并操作。也就是说,需要数据库打点员经由过程数据的导出导入等手工操作,才能够解决表空间的碎片问题。显然这会增添数据库打点员的工作量。为此笔者成立,除非有出格的需要,不要将这个参数设置为0。让SMON历程自动对表空间中的碎片进行打点,自动合并表空间中的余暇碎片。不外如不美观某个表空寄这个参数设置为0的话,不会影响到系统看管历程的其他用途,如不会影响到在例程非正常封锁时对数据的恢复操作。即即使这个参数设置为0 ,在有需要的时辰其仍然可以操作重做日志文件中的记实来恢复相关的数据。
! D& g7 \0 {' U) J/ Q: n二、归档历程ARCH
' @. O  A. L5 M! T1 d/ f' |  在重做日志文件打点中有归档与非归档两种模式。在日志进行切换时,如不美观不合错误原先的日志文件进行归档,而直接笼盖的话,就叫做非归档模式。相反,在写入下矣闽日志文件的时辰,会先对方针日志文件进行归档,这就叫做归档模式。归档历程ARCH就是负责在重做日志文件切换后将已经写满的重做日志文件复制到归档日志文件中,以防止轮回写入重做日志文件时将其笼盖。所以说,只稀有据库运行在归档模式时,这个ARCH历程才会被启动。在任何一中操作模式下,重做日志文件城市被轮回使用。所以当LGWR历程在进行日志切换,需要用到下矣闽日志文件时,则数据库会被且则的挂起,进行方针日志文件的归档工作。直到这个方针重做日志文件归档完毕后,数据库才会恢复正常。所以说,归档日志的操作,有时辰也会影响数据库的机能,出格是当需要进行频仍的多量量数据更改的时辰。
& K& A4 ~1 k6 t0 L  那媚暌剐什么体例可以提高归档功课的效率呢?笔者如下一些建议可供数据库打点员参考。
4 `9 _; N, Q, n  一是可以增添归档历程的个数。在默认情形下,一个例程只会启动一个归档历程ARCH。当ARCH历程正在归档一个重做日志文件时,任何其他的历程都不能够访谒这个重做日志文件。如不美观在Oracle数据库中,可以按照需要启动多个归档历程ARCH。在Oracle数据库中,启动多个归档历程时分为手工与自动两个体例。为了提高重做日志文件归档的速度,当用户历程发生斗劲长时刻的期待时, LGWR历程会按照机缘情形来自动启动多个归档历程。在Oracle数据库中其最多可以启动十个归档历程。此外如不美观数据库打点员执政署数据库的时辰,估量日志归档功课会影响到数据库的机能,就可以手工来启动多个归档历程。这是经由过程初始化参数LOG_ARCHIVE_MAX_PROCESSES确定的。可以将这个参数设置为年夜于1 的数值(注重不能够跨越9个归档历程)。如斯的话,数据库在建树例程的时辰就会启动多个归档历程。不外笔者仍是倾向于让数据库系统来自动打点这个历程。数据库打点员最好不要干与。此外需要注重,这个ARCH归档历程个数与DBWR历程个数的区别。默认情形下,DBWR历程也只有一个。为了提高数据库的机能,可以按照情形增添这个DBWR历程的个数。不外其增添时受到CPU数目的限制,即一个DBWR历程需要使用一个自力的CPU。如不美观想启动三个DBWR 历程的话,就必需采用3个CPU措置器。而对于ARCH归档历程来说,则没有这个限制。即使只有一个CPU措置器,其也可以启动三个甚至更多的ARCH历程。
5 i* Q' d4 y6 ?  s4 T1 c7 \: ~  二是增添重做日志文件来延迟归档日志历程启动的侍旧肃离。凡是情形下,只有当前一个重做日志文件写满、需要进行日志切换的时辰,才会触发这个 ARCH归档日志历程。所以如不美观重做文件斗劲年夜,其日志切换的侍旧肃离就会延迟。则ARCH归档日志历程的启动侍旧肃离业会斗劲长。所以说,经由过程调整重做日志文件的巨细,可以延迟归档历程启动的侍旧肃离。年夜而降低因为归档历程启动而对数据库机能造成的负面影响。. |" I4 @: M, J( D( V5 z, U
  三是在数据库初始化的过程中,可能需要导入年夜量的数据。此时会对数据库中的数据进行年夜量的插入、删除、更新等操作,年夜而导致重做日志文件切换频仍。这就会导致数据库需要频仍启动ARCH归档历程。数据库年夜量的更新操作、重做日志文件(LGWR历程)、归档重做日志文件(ARCH)历程之间就形成了一条无形的链条。因为“蝴蝶效应”,年夜而降低了数据库的机能。为此在需要的时辰,需要砍断这跟链条,以提高数据库的机能。如可以在数据年夜量导入、更新、删除的时辰,不往日志文件中插入记实,或者姑且增添重做日志文件的空间。如斯的话,在进行这些操壮杀就可以避免进行重做日志切换或者延迟重做日志切换的侍旧肃离。年夜而ARCH归档日志历程也可以避免或者延迟那侍旧肃离,年夜而提高数据库的机能。当数据库初始化完成之后,再将其恢复过来。这些姑且性的调整虽然斗劲麻烦,可是却可以提高数据库的机能。为此笔者认为这是值得的。
) p$ z( n2 l0 h6 M) r. g2 c# R/ w  可见以上两个历程在Oracle数据库中其浸染虽然有限,可是却跟数据库的机能互相关注。在日常操作中,矫捷使用这个两个历程的特征,就可以提高某些操作的速度。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-16 16:06 , Processed in 0.164034 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表