Technology Exchange
免费咨询热线
400-090-9964
系统监视进程最主要的功能是在实例恢复这一块,还有表空间的空闲空间以及临时表空间的临时段整合,它的功能也比较简单易懂,我们就给大家详细的说一说。
1、看一下实例恢复的时候做哪些工作?
1.1、前滚,从redolog中最近一次增量检查点的位置开始进行recovery,把后面的事务重新做一遍,因为从这个点开始的脏块没有被保留到数据文件中,所以要重新做一遍。
1.2、先打开数据库,这是为了提高数据库的可用性,一打开数据库就可以提供服务了。
1.3、然后把没有提交的事务给回滚,有些人不理解,为什么是前滚后不直接回滚然后再打开数据库,而是先打开数据库再回滚呢?目的就是第二点所说的,提高数据库的可用性,先提供服务,回滚的事儿可以在后面慢慢的、基于需要的做,从这一点就可以看出Oracle的设计有多么精细,难怪在数据库软件领域能够独占鳌头。
第二个功能是整合表空间空闲空间,大家注意一点,这个功能是针对字典管理的表空间而言,该管理模式下的表空间的空闲空间需要SMON来整合,整理碎片。而本地管理的表空间就不需要SMON来管理了,它可以自己进行整合,现在大多数的表空间都是使用本地管理的表空间。
最后一个功能就是释放临时段,当排序操作完成,临时段就不需要了,就要释放,提供给新的进程使用。
从上面功能可以看出,SMON平时的工作还是主要在后面两个上,实例恢复比较发生的频率还是少数。