ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle体系结构(第二篇)

Oracle体系结构(第二篇)

原创 Linux操作系统 作者:猫猫X狗狗 时间:2013-07-24 22:10:39 0 删除 编辑
1.日志缓冲区保存了数据库相关操作的日志,然后由LGWR后台进程将其从日志缓冲区写进磁盘的日志文件里。
2.上述操作的目的:便于出现异常情况时,可以根据日志文件中记录的动作,再继续执行一遍,从而保护数据的安全。
3.当日志文件全部写满后,ARCH将第一个日志文件备份到归档文件。
4.COMMIT无法左右数据何时从数据缓冲区刷入到数据区。缓冲区的数据积累到一定程度后,再批量刷入到磁盘中。

5.COMMIT时日志缓冲区会把要操作的动作写到磁盘的日志文件中。这样,Oracle不一定非要将数据从数据缓冲区写到磁盘了。
6.假使断电,也可以依据磁盘里的日志文件重新操作一次,将刚才数据缓存区丢失的数据找回。
7.什么时候将数据缓存区数据写到磁盘的动作是由进程CKPT来触发的,CKPT触发DBWR写出。
8.通过调整 FAST_TART_MTTR_TARGET 参数可以调配CKPT在适当的时候去调用DBWR。
9.Oracle在将数据缓存区数据写到磁盘前,会先进行日志缓冲区写进日志文件的操作,之后才会完成刷到磁盘的操作,这就是所谓的凡事有记录。
10.PMON:Processes Monitor  进程监视器。执行更新的语句时,未提交时崩溃了,此时PMON会自动回滚该操作,无须人工进行ROLLBACK。
11.SMON:System Monitor 系统监视器。与PMON不同,SMON关注的是系统级的操作,而非单个进程,重点工作在于instance recovery,此外还有清理临时表空间,清理回滚段表空间,合并空闲空间等。
12.LCKn:仅使用于RAC数据库,最多可以有10个进程,用于实例间的封锁。
13.RECO:用于分布式数据库的恢复。
14.CKPT:用于触发DBWR从数据缓冲区写出数据到磁盘。CKPT执行越频繁,DBWR写出越频繁。
15.DBWR:负责把数据从数据缓存区写到磁盘里,执行该操作前必须通知LGWR,先完成日志缓冲区写到磁盘的动作后,方可进行。
16.LGWR:把日志缓存区的数据从内存写到磁盘的RECO文件里,完成数据库对象的创建,更新数据等操作过程的记录。
17.LGWR执行的规则:(1).每隔3秒钟,LGWR运行一次;(2).任何COMMIT触发LGWR运行一次;(3).DBWR要把数据从数据缓存区写到磁盘,触发LGWR运行一次;(4).日志缓冲区满三分之一或记录满1M,触发LGWR运行一次;(5).联机日志文件切换,触发LGWR运行一次。
18.LGWR是“劳模”!
19.一致读的原理:查询的记录由查询的这一时间点决定,后面即使变化了,也根据回滚段保存的前镜像记录,取到那个时间点的数据。SCN,System Change Number。
20.一般情况下建议使用SGA内存大小自动分配。如果一定要手动分配,将SGA_TARGET设置为0,再把SHARED_POOL_SIZE和DB_CACHE_SIZE设置为非0即可。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29067657/viewspace-767046/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-07-23

  • 博文量
    2
  • 访问量
    1604