您的位置:首页 > 数据库 > Oracle

足球与oracle系列(1):32路诸侯点兵,oracle32进程联盟 之A组巴西SMON进程的大局观

2014-06-09 08:37 405 查看
声明:

这不是技术文档,既然学来几招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中进程可不止32个,这里只是作比,实际中进程有很多。

想到用足球和oracle作比,首先是因为个人的兴趣所致,其次是觉得这个更贴切,因为足球这项运动是竞技体育中场地最大、参与人数最多的体育运动,和oracle庞杂的知识体系有一个鲜明生动的对应。



本系列将不会根据时间或情节的叙事,而是由作者随意产生的联想,以一种自由的写作风格呈现在大家面前。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐