Oracle一家的幸福生活
來源:互聯網
上載者:User
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:“太棒了,你完成後,我就開啟房子。” (執行個體恢複是在資料庫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年以後買入了大量的電腦公司的股票,那時它們剛開始向公眾發行。他所投資的公司總部在加利福尼亞州的紅樹海岸。