Oracle一家的幸福生活

??? 一个名叫 Sid 的男人,狂热地爱好拍摄、保存和整理照片。 Sid 的妻子名叫 Debbie ,他们有三个儿子 Logan 、 Archie 和 Chuck 。 ** ( sid ** ** 是 oracle ** ** 实例,照片是数据) **

??? 他有一所很大的房子,同住的有男管家 Simon 和女仆 Pam 。我将介绍他的家庭、他的房子和他的爱好:拍摄、收集和炫耀他的照片。

现在, Sid 快乐地生活着—家庭、朋友和假期。他不时地拍照。事实上,他总是随身带着相机。他不想错过任何东西。

每一个早餐、午餐和晚宴,都会被拍下来。当孩子们从学校回家,镜头摄入他们对父亲的问候。当孩子们做家庭作业的时候,“卡嚓、卡嚓、卡嚓”,照相机的快门响个不停。

** (照相只是要说明数据库不断从外部接受数据) **

??? 棒球赛上,儿子 Archie 的每一个投掷都被拍摄下来。学校的舞会上, Chuck 的父亲拍下了每一个缓慢的舞步以及在苏打水机器旁的交谈。而他的狗—— Sadie 则是这个世界上被拍摄次数最多的狗。

他和他的家庭收藏了数以百万计的照片。一些照片被销毁掉了,一些则经历了改变。 Sid 有一套神奇的系统来处理这些照片。

让我来告诉你一些关于他的家庭、他的房子的事,以及关于他和他的家人如何致力于发展、组织和保护所有这些照片。

Sid 用一架特殊的相机拍摄。他的相机每拍摄一次,就同时产生一张照片和一张底片。他从来不用换胶卷(这是一种科幻技术)。

照片被贴在房间的墙壁上,而底片则被保存在一个安全的地方。

?

1.1.1 Sid 的家

我介绍过 Sid 的家了吗?嗯。那里非常的大而且到处都是照片。因为照片实在是太多了,所以 Sid 必须寻找地方来放置它们。

一些照片被挂在墙上,一些被藏在照相簿内,一些被插入剪贴簿里,一些被放在储藏室的一个盒子里再也不会被撇上一眼。所有这些照片都被放在他家中的某处。 (照相簿和剪贴簿应该指的是 ** SGA ** ** 中的某部分) **

他称呼这些放置照片的地方为“相片空间”。一个相片空间可能是一个有着很多墙壁的房间,或者是有着很多页的剪贴簿。一个房间是照片的逻辑存储单元。 ** (房间是表空间) **

房间内的墙壁则是相片空间中保存照片的物理结构。

** (墙壁是数据文件,房间是由多个墙壁组成的) **

?

1.1. 2 Debbie 的家务事

因为 Sid 忙于拍摄和处理照片,他没有足够的精力来放置和储存它们—那是她妻子的工作。 Debbie 的全名是 Debra Wrider 。 ** (写进程) **

她的 T 恤衫上印着 DBWR —这是一种家庭传统—为所有的东西做标签。

把所有这些照片放置得井井有条是一件巨大的工作,不过 Sid 和 Debbie 已经建立了一个系统。当 Sid 拍摄结束后,他把照片都放在厨房里一个特定的架子上。 ** (架子是 DBBUFFER ** ** ) **

那个特定的架子被称为“ DB_BUFFER_CACHE ”。 Debbie 时常检查那个架子,看看上面是否有新拍摄的照片。在白天,她把从架子上取回的照片分别放置到对应的相片空间。

** (这里没有说明她工作的几个要求,干什么事情都要有激发条件的,不然谁做 ^_^ ** ** ) **

?

事实上,在一场棒球赛或者学校的舞会上, Sid 制作照片的速度太快了。以至于 Debbie 几乎跟不上。这是一个特别的情景, Sid 拍摄照片,然后放置在那个特定的架子上,

Debbie 把这些照片放在剪贴簿里,挂在墙上或者插入照相簿内。

当 Sid 带着照片和底片进入厨房时,他和他妻子之间可能会有这样的一段对话:

** (照片是提交后数据,底片为日志数据) **

Sid :“亲爱的,猜猜我给你带回来了什么?”

Debbie :“你又拍了很多照片,是吗?你知道我是多么喜欢整理照片啊。”

Sid :“当然了, Archie 的棒球队赢得了最后一局。他在第九局以两个二垒打获胜,我全部都拍摄下来了。”

Debbie :“太好了,那些照片放在相片空间 9 号墙壁的运动类里,看上去一定棒极了。我已经等不及去放置它们了,我将邀请所有的邻居来观赏。”

Sid :“ Archie 也非常高兴。 OK ,我再去拍一些照片,我将在 23 毫秒后回来。哦,顺便说一下,我刚才将那些照片放在 DB_BUFFER_CACHE 架子上。

现在 Sid 的目录号为 1332935 。” Debbie :“知道了,再见。”

为了易于管理照片、框架和日志,他使用一种特殊的数字来建立目录,称之为 Sid 的目录编号。他用这些独特的、不断递增的数字来追踪对这所房子内所有照片的操作。 ** SCN ** ** ) **

Sid 和 Debbie 已经对查阅 Sid 的目录编号感到厌倦。 Sid 在所有的照片、录像带和底片上都写上“ Sid 的目录编号”,累得手要抽筋。

最后,他们将“ Sid 的目录编号”缩略为 SCN 。记住 SCN , Sid 的生活都围绕着它展开。

现在,全家人都知道这个数字被简称为 SCN 。你可以在每一个地方都看到 SCN 。 Sid 把它们写在底片上,然后他把低位和高位的 SCN 写在每一包底片外面。

Debbie 把它们写在她放置照片的地方。这些数字在 Sid 的复杂家庭生活中显得尤为重要。

Debbie 把照片放在框架里,房子里的每一个框架都是一样大小。一些框架只保存了一张照片,一些框架则保存了几张照片。一些特别大的照片则要占据多个框架。 (框架是 ** segment ** ** ) **

Sid 有一张和原物同样大小的照片,拍摄的是他在跳伞后在空中做造型动作,这张照片占据了两个框架。当照片跨越框架时, Sid 称之为照片链。

任何时候,只要 Debbie 改变框架内的照片,她就把照片的 SCN 写在框架上。房子内的每张照片都有一个惟一的数字。他们称照片的这个数字为照片 ID 。 ** ( rowid ** ** ) **

这些照片 ID 帮助 Sid 管理家中所有墙上的照片。如果他需要尽快找到一张照片,他通过照片 ID 来实现。通过照片 ID , Sid 能够迅速找到墙壁和保存照片的框架。

有时候, Sid 会对照片进行一些改变。如果他要编辑一张照片,那么他让 Debbie 通过照片 ID 找到他的照片。 Debbie 给他一份包括所需照片的整个框架的拷贝。 (数据更改前映像)

为防止 Sid 可能改变主意,不喜欢他已经做的一些改变,他把那份拷贝放在一个储藏室内,称之为“回退”储藏室。当 Sid 完成了更改并且确定了以后, Debbie 把更改后的照片放回到墙壁上原先的地方,并且把新的 SCN 写在框架上。如果 Sid 不喜欢他的更改,他们就从“回退”储藏室里取出框架并且把它放回墙上。 (储藏室是回滚段或者 ** UNDO ** ** 空间) **

这样一来,照片就和 Sid 没有改动以前一样。

?

1.1.3 Logan 的家务事

Debbie 为了处理 Sid 的照片已经忙得焦头烂额,所以她没有足够的时间和精力来处理 Sid 的底片。 Sid 认为他的儿子们在玩电子游戏和吃土豆片上浪费了太多的时间,他决定给他们安排任务。

Sid 的大儿子叫做 Logan William Randolph 。 Logan 的衬衫上都印着 LGWR 。 Logan 有一个非常简单但是非常重要的任务。 ** ( LGWR ** ** 日志写进程) **

Sid 的相机产生照片的同时产生了底片, Logan 的任务是将底片放入笔记本里。家中的厨房里竖着另一个架子,架子上 Sid 贴了一个标签,用来标记那些发送给大儿子的底片。

标签被称为“ LOG_BUFFER ”, Logan 坐在厨房的桌子旁,观察这个特殊的 LOG_BUFFER 架子。当有底片被放到这个架子上时,他立即把底片放在笔记本里。 ** (又一个架是 logbuffer ** ** ) **

Sid 称这些笔记本为“重做笔记本”。他使用这个名称是因为以后他可以用里面的底片重新制作一张照片。 Logan 检查他的架子的频率要比 Debbie 的高得多。

** ( lgwr ** ** 要比 dbwr ** ** 更频繁,不过还是没指名 lgwr ** ** 工作的触发条件) **

Sid 表示,只要有底片,他就可以随时重新制作一份照片。 Logan 和他父亲的对话简短而温馨:

Sid :“ Logan ,底片在架子上了!”

Logan :“知道了,我会立即处理的。”

Logan 按照他得到底片的顺序将这些底片放入“重做笔记本”。一旦当前的笔记本装满了底片,他就换另一个新的笔记本。每一次他更换“重做笔记本”后,

都在“告警笔记本”上做一个记录,然后通知他的兄弟来进行他们的家务活。

** (日志切换点 log switch ** ** ,发生的时候会记录到告警日志中) **

悲哀,是不是?老爸和他的大儿子太专注于底片了!

顺便提到,不是所有的照片都有对应的底片保存。 Sid 指定某些照片不必被做日志,这些照片就没有对应的底片保存在“重做笔记本”里。 Sid 称其为“无日志”。 ** ( nolog ** ** 的情况) **

?

1.1.4 Archie 的家务事

Sid 的第二个儿子 Archibald 则另有任务。他的衬衫上写着 ARCH 。 Archie 从重做笔记本里提取底片后,把它们放置在一个安全的地方。 ** ( ARCHIVE ** ** 归档进程) **

当 Archie 发现 Logan 更换到另一个重做笔记本的时候,他就开始行动。他拿起重做笔记本中的那些底片,把它们放在房子外面的一个安全地方。

Sid 在后院建造了一个控制好温湿的地下室。那是他保存底片的安全地点。如果暴风来到,破坏了房子,他可以使用保存在地下室的底片来替换那些被损坏的照片。

每一份 Logan 的“重做笔记本”拷贝,被称为“归档的重做笔记本”。 可能某一天,你可以听到 Sid 和他次子之间的笑谈:

Sid ::“ Archie ?你在哪里?”

Archie :“老爸,我在自己房间里, Logan 现在切换笔记本了吗?”

Sid :“是的,他刚刚干完。”

Archie :“知道了,老爸。我会复制这些底片并且制作一个新的笔记本放在地下室里。然后,我会更新‘控制笔记本’,并且在‘告警笔记本’里写一个记录。”

Sid :“你是一个好孩子,我知道可以相信你。”

** ( archive ** ** 完成后会更新控制文件,并记入到告警日志中) **

?

1.1.5 Chuck 的家务事

Sid 最小的儿子 Chuck 确保每一件事情都是同步的。他的全名是 Charles Kenneth Patrick Thomas 。他衬衫上的字母是 CKPT , ** ( CKPT ** ** 检查点进程) **

Chuck 的任务是将每一面墙壁、相片册和剪贴簿上的相片数字和控制笔记本中的数字协调起来。当他得到信号,他就开始在房子里奔跑起来,在每一面墙壁上写下数字,

同时将同样的数字也记录在控制笔记本里。这使得每一件事情都协调起来。以下是一段 Sid 和 Chuck 的对话:

Sid :“ hi , Chuck 。”

Chuck :“老爸, Logan 又开始更换笔记本了吗?”

Sid :“是的,儿子,你知道规矩。带着目录编号 1332935 跑遍房间,把这个数字写到每一面墙壁的开头,每一个剪贴簿的封面和照片盒子的顶部。”

Chuck :“没问题,给我几微秒时间搞定”。

Sid :“别忘记把 1332935 写在控制笔记本上!”

Chuck :“老爸,我知道了,同样的事我一天内已经做过几百次了。”

我敢打赌,你已经对阅读这个疯狂的 Sid 之家感到厌倦,是不是?到现在为止,你可能已经看出 Sid 有一个功能失常的家庭。功能失常?是的!不过却有效而可靠。 Sid 喜欢这样。

** (检查点进程负责更新控制文件、数据文件的头信息,以使其保持一致) **

?

1.1.6 控制笔记本

这个家庭怎样维持所有这些活动? Sid 、 Debbie 、 Logan 、 Archie 和 Chuck 断定,要想把这项照片收集和整理工作处理的井井有条,必须要制作很多详细的笔记。

他们每个人都把自己的东西写入一个日志,称之为“控制笔记本”。 ** (控制文件) **

控制笔记本有一个记录整个房子中每一堵墙壁、剪贴簿和照片盒子的家庭财产清单条目。如果 Sid 增加了一个房间,来放置更多的照片,他在控制笔记本里做一个记录。

当 Logan 更换重做笔记本时,他在控制笔记本里做摘要记录。每次 Archie 制作一个归档的重做笔记本放入地下室时,他把名字和 SCN 的范围写在控制笔记本里。

每次 Chuck 在房子里跑完一圈,他把细节也记录在控制笔记本里。这特殊的笔记本动态保存了所有地方的资产情况,和房子里以数字表示的进程。

** (控制文件中包含数据库名、数据文件、日志文件、归档文件,检查点及 scn ** ** 等相关信息) **

?

1.1.7 告警日志

时不时的总会有些意外发生,也可能出现错误。 Debbie 可能在把照片放进框架的时候发生问题,因为那面墙上已经没有多余的空间了。 Archie 可能无法折叠起底片条,

因为有人把苏打水喷在上面。 Sid 考虑到了所有的可能,他买了一个螺旋轴的笔记本,放在厨房的抽屉里。在笔记本的面子上写上“告警日志”。

每一个家庭成员将遇到的问题写在这个日志里。他们不仅要记下发生的错误,还要记下正常的活动过程。

这个告警日志是一个用来保存在 Sid 家里已经和即将发生的事情的便利场所。如果他们要解释某个情形下额外的细节,他们制作一个新的“追踪笔记本”,把信息记录在里面。

这样一来,这个告警笔记本不会变得比它原先的样子更杂乱。

** (告警日志记录实例所有的变动和错误信息) **

?

1.1.8 清晨程序

全家早晨一起醒来,也总是同时上床睡觉。他们称这些时间为一天的“启动”和“关闭”。下面是早晨的启动程序:

Sid 从床上起来,端上一杯咖啡开始他的一天。在咖啡壶边上,他将一系列指令保存在笔记本里,称之为初始化参数文件。阅读这列指令帮助他开始新的一天。

啜着咖啡,他走过去确认控制笔记本是否放在老地方。他在房子里打转叫醒 Debbie 、 Chuck 、 Logan 、 Archie 、 Simon 和 Pamela (你很快就会遇到他们)。

当每一个人都醒来后,就打开控制笔记本。确认根据控制笔记本的内容,所有的照片墙壁都没有问题,当所有的东西都被检查过以后,他打开房子迎接宾客,

并开始拍摄照片。 Sid 雇佣了一个男管家, Simon ,在早晨帮助他, Simon 的燕尾服上写着字母 SMON (省掉名字里的一个字母)。有些早晨房子里特别凌乱,

因为在前一个就寝时间,家庭的每一个成员都没有及时清理好各自的事物。当 Simon 就位后, Sid 打开窗帘,挂好电话,打开门锁,他的家庭开放,准备好了迎接客人。

** (启动后执行必要的系统清理和实例恢复是 smon ** ** 一项主要工作) **

?

Sid 和 Simon 可能这样开始一天 :

Simon :“早上好,先生。我今天能帮你做什么吗?”

Sid :“是的 Simon ,早上好。看来我们这里很凌乱啊。我们昨天晚上突然中断了。你能否处理一下所有这些没有完成的照片和‘回退’。”

Simon :“当然了,所有这些底片在重做笔记本里的都要被重新制作,然后以简单的顺序放置在正确的框架里。”

Sid :“你处理完这些后,接着处理‘回退’,是吗?”

Simon :“当然了,先生。我从回退储藏室里取出照片框架,然后把旧的版本放回它们原来的地方。”

Sid <SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Tim

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus