首页 > 代码库 > 足球与oracle系列(1):32路诸侯点兵,oracle32进程联盟 之A组巴西SMON进程的大局观
足球与oracle系列(1):32路诸侯点兵,oracle32进程联盟 之A组巴西SMON进程的大局观
声明:
这不是技术文档,既然学来几招oracle简单招式,就忍不了在人前卖弄几下。纯为茶余饭后与数朋库友的插科打诨,只为轻松中带有一丝的诙谐,IT技术也能用来调侃一番,还蛮耐人寻味。
同时近来数月oracle知识点忘记了不少,为了把知识点重现,点滴间偶出灵感乍现,以一种自由的形式将其发布,由于本人学艺不精,文中列举的例子或故事,其中必然会有与技术联系牵强之处,望大家海涵。只当是一部小菜鸟的杂记,不要把这当做技术文章喔,亲!看过、笑过,就好。
欢迎拍砖,这将是我成长的最大动力。
线索一:32路诸侯点兵,oracle32进程联盟
之A组 巴西 SMON进程的大局观
巴西一直以来以一个强者的身份在世界足坛活跃着,它就如同是oracle中的SMON进程一样,是相当重要的,一旦实例崩溃了,需要由SMON来对其恢复。如果有一天足球落寞了(应该是不会出现,哈哈),必然是需要由有着足球王国之称的巴西来力挽狂澜了!
看看与巴西队同组的小伙伴们,克罗地亚如同是临时表空间,欧洲来到了美洲,哈哈,大家懂得。。。
墨西哥如同回滚段表空间,是为了让我们记住北美洲球队的历史表现,正如回滚段一样可以维护着读一致性。
最后就剩喀麦隆了,这支颠沛的球队,不得不说国家的动荡会对球队带来一些影响,同时我们也更庆幸的是动荡消灭不了一个国家对于足球的热爱,但毕竟实例还是要逊色于其它球队,把你比作实例间的空闲空间吧,望有一天重新使用起来,变得强大起来。
SMON进程:
简述:
重要的后台进程,实例启动时负责实例的恢复。还会清理不再被使用的临时段。在并行服务器环境下,该进程对有故障的实例、故障CPU进行实例恢复。SMON会消耗很多的CPU。SMON会被周期性的唤醒,执行处理诸如以下的事务一样,这像极了2014世界杯的主办国——巴西,足球造诣强大,但同时世界杯的筹划上有的忙了,O(∩_∩)O哈哈~
工作细化:
1、清理临时表空间
举例:当建立一个索引,在创建期间分配给索引的扩展区被标识为temporary。如果create index会话因某些原因异常 中断,SMON会负责清理。其它操作创建的临时扩展区,SMON同样是会这样处理的。
2、清理回滚段
SMON将执行回滚段的自动收缩到它的optimal尺寸(前提是已经被设置了)。
3、合并空闲空间
举例:如果正在使用数据字典管理表空间,SMON会负责把那些在表空间中空间的并且相互近邻的extent接合成一个 较大的空闲扩展区(前提是默认的pctincrease设置为非零的存储子句的字典管理表空间)。
4、将不可用文件事务恢复为活动
举例:假设如果文件可能已经不可用或没装载到磁盘上时。SMON将会恢复它。这个类似于启库期间。文件不能用于 恢复,SMON恢复在实例恢复期间跳过的故障事务。
5、RAC故障节点的实例恢复
举例:集群环境下,当一个节点实例崩溃时,集群中的其它几点将开启故障的实例的重做日志文件,为故障实例执行 所有数据的恢复。
6、清理OBJ$
SMON将负责删除不在被需要的行的进程。
7、回滚段的脱机
当实际应用中需要对active事务的回滚段进行脱机或不可用时,回滚段不是真正意义上的脱机,它被标志为“offline”,在后台进程中,SMON将周期性的使它真正脱机,直到完成为止。
[08:07:05oracle@gc1]$ps -ef|grep ‘ora_.*‘; --可以查看运行进程有哪些
--进程命名格式:ora_进程具体名字_实例名
oracle 3075 1 0 08:06 ? 00:00:00 ora_pmon_PROD
oracle 3077 1 0 08:06 ? 00:00:00 ora_vktm_PROD
oracle 3081 1 0 08:06 ? 00:00:00 ora_gen0_PROD
oracle 3083 1 0 08:06 ? 00:00:00 ora_diag_PROD
oracle 3085 1 0 08:06 ? 00:00:00 ora_dbrm_PROD
oracle 3087 1 0 08:06 ? 00:00:00 ora_psp0_PROD
oracle 3089 1 0 08:06 ? 00:00:00 ora_dia0_PROD
oracle 3091 1 0 08:06 ? 00:00:00 ora_mman_PROD
oracle 3093 1 0 08:06 ? 00:00:00 ora_dbw0_PROD
oracle 3095 1 0 08:06 ? 00:00:00 ora_lgwr_PROD
oracle 3097 1 0 08:06 ? 00:00:00 ora_ckpt_PROD
oracle 3099 1 0 08:06 ? 00:00:00 ora_smon_PROD
oracle 3101 1 0 08:06 ? 00:00:00 ora_reco_PROD
oracle 3103 1 1 08:06 ? 00:00:00 ora_mmon_PROD
oracle 3105 1 0 08:06 ? 00:00:00 ora_mmnl_PROD
oracle 3107 1 0 08:06 ? 00:00:00 ora_d000_PROD
oracle 3109 1 0 08:06 ? 00:00:00 ora_d001_PROD
oracle 3111 1 0 08:06 ? 00:00:00 ora_d002_PROD
oracle 3113 1 0 08:06 ? 00:00:00 ora_s000_PROD
oracle 3115 1 0 08:06 ? 00:00:00 ora_s001_PROD
oracle 3117 1 0 08:06 ? 00:00:00 ora_s002_PROD
oracle 3119 1 0 08:06 ? 00:00:00 ora_s003_PROD
oracle 3121 1 0 08:06 ? 00:00:00 ora_s004_PROD
oracle 3123 1 0 08:06 ? 00:00:00 ora_s005_PROD
oracle 3125 1 0 08:06 ? 00:00:00 ora_s006_PROD
oracle 3127 1 0 08:06 ? 00:00:00 ora_s007_PROD
oracle 3129 1 0 08:06 ? 00:00:00 ora_s008_PROD
oracle 3131 1 0 08:06 ? 00:00:00 ora_s009_PROD
oracle 3139 1 0 08:06 ? 00:00:00 ora_qmnc_PROD
oracle 3153 1 1 08:06 ? 00:00:00 ora_cjq0_PROD
oracle 3183 1 10 08:06 ? 00:00:02 ora_j000_PROD
oracle 3185 1 0 08:06 ? 00:00:00 ora_j001_PROD
oracle 3189 1 2 08:06 ? 00:00:00 ora_j003_PROD
oracle 3191 1 0 08:06 ? 00:00:00 ora_j004_PROD
oracle 3193 1 0 08:06 ? 00:00:00 ora_q000_PROD
oracle 3195 1 0 08:06 ? 00:00:00 ora_q001_PROD
想到用足球和oracle作比,首先是因为个人的兴趣所致,其次是觉得这个更贴切,因为足球这项运动是竞技体育中场地最大、参与人数最多的体育运动,和oracle庞杂的知识体系有一个鲜明生动的对应。
本系列将不会根据时间或情节的叙事,而是由作者随意产生的联想,以一种自由的写作风格呈现在大家面前。