文章詳情頁
Oracle一家的幸福生活
瀏覽:23日期:2023-11-16 17:18:15
??? 一個名叫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:“太棒了,你完成后,我就打開房子。” (實例恢復是在數據庫open之前完成的)?1.1.9夜間程序 Sid家的夜間程序也很有趣。當Sid躺下預備休息的時候,他要求家里所有的東西都放好、關掉和停下。就寢時間的第一個行動是要求房子里所有的客人回家去。 Sid晚上的情緒有四種情況。第一種,有時他很有耐性,等待所有的男女客人自行離去后,再就寢;第二種,Sid沒有耐性,他親自來監督每一個客人, 當客人干完各自的事情(看照片等等)后,他給客人指示出門的方向;第三種,Sid非常沒有耐性,他揪著客人陪他們出門,不讓他們干完正在干的事; 第四種,Sid拉下房子的電閘,大叫“時間到”,房子里一片狼藉。Simon不得不在第二天早晨來清理混亂的場面。 (數據庫關閉的幾種情形)當一個客人走后留下一團糟時,Sid叫來他的女傭PamelaMonica。 她監控客人的活動,并且在客人走后處理善后。她的清潔設備上貼著標簽PMON。 (PMON用戶監控進程,負責對用戶資源的清理和回收)假如Sid沒有忽然拉閘,每個人都打開燈,進行清理。同步處理筆記本來完成各自的任務。Debbie從DB_BUFFER_CACHE架子上取走所有的照片,放到合適的墻壁上。 Logan確保LOG_BUFFER架子是空的,所有的底片都在當前的重做筆記本里。Chuck在房子里兜一圈,用最高和最低的目錄編號(SCN)來更新墻壁和筆記本。 Archie把最后的那張底片放入歸檔的重做筆記本,放到后院的地下室。然后更新控制和告警筆記本。當每個人都干完后,Sid關燈,大伙兒睡覺。 ?1.1.10 Sid的問題 有時候,Sid家會出現問題。當以下這些事件中任何一件發生時,房子里的活動就會停止。 當Sid醒來,而他無法找到初始化文件,則無法開始一天的工作。 有時,Sid需要用Archie保存在后院地下室的底片來恢復丟失的照片,假如他丟失了一張底片,或者在恢復過程中底片遭到破壞。 他無法恢復任何在那張無效底片以后拍攝的所有照片。 Sid一次丟失了幾張底片。他不小心打開相機,曝光了膠卷。這使得他情緒極壞,他的世界似乎走到了盡頭。他聯系了照相機廠家,他們提供了一個非凡的照相機, 帶有兩個膠卷艙。如此一來,萬一膠卷破壞了,他還可以指望另一個艙內的膠卷。Sid稱之為鏡像。 (cluster?)假如后院的地下室滿了,Archie沒有空間來放置新的底片。Archie只是在地下室里等著新的空間。這使得Sid和Debbie也跟著等待,整個Sid的家庭活動陷于停頓狀態。 (hang)假如Debbie得了流感,臥病在床。你猜猜看會怎么樣:Sid瘋狂地關上了門。盡管有這些問題和其他一些家庭挫折及功能失常, 但Sid的家庭仍然可以處理百萬計的照片和數以千計的同時到訪的客人。 ??? 和我一樣,你可能會想知道,Sid怎么會有那么多的時間和精力來進行照片收集活動。他沒有工作嗎?事實上,沒有。錢不是Sid的目標。他不必工作。 他在幾年以前完成了一個聰明的投資。他在1984年以后買入了大量的電腦公司的股票,那時它們剛開始向公眾發行。他所投資的公司總部在加利福尼亞州的紅樹海岸。
排行榜