前段時間,好友王胖子問了熊熊乙個問題,他們的
oracle
資料庫,有個主要的表空間設定的自動增長,每次增長
100m
,卻無法滿足業務需求,問了一下
oracle
方面,說是自動增長的步長太小了,於是胖子在資料庫裡查詢了一下,有了以下的問題
胖子:「熊,在麼,問個問題?」
熊熊:「?
啥問題」
胖子:「看看,我這個資料檔案設定的自動增長是
100m
,這個步長的單位是位元組麼?」
熊熊:「應該不是具體的數量,我真一時想不起來單位是什麼了」
胖子:「我查了一下,我這個是
12800
,可是除以
1024
的話怎麼也不是
100啊」
熊熊:「讓我想想,誰沒事關注他啊,我們平時都是如果低於
20%的可用空間,就自動增加資料檔案了,那個自動增長只是給自己乙個心理安慰罷了」
胖子:「。。。」
這段對話以後,熊熊覺得很沒面子,確實,從來沒想過那麼深,對於這種表空間的容量激增情況,大多數是採用再加乙個資料檔案,這樣也能降低
i/o的負載,而且,頻繁的資料檔案自動增長,如果步長不足,導致不能馬上滿足增長需求,大量的
ddl請求會導致死鎖,嚴重的話會拖垮資料庫,因此基本上熊熊對錶空間的增長都採用增加資料檔案的方法,當然,存在即合理,既然有自動增長這個選項,肯定是有其意義的,那麼到底是怎麼回事呢,居然沒深入研究過,丟人啊~
於是趕緊查官方文件,終於找到了答案,如下圖所示
熊熊給每個表空間都設定了自動增長,分別是每次5m到
10m不等,跟胖子說,我用的是
10m自增長,所以每次是
1280
,你丫用
100m
,所以是
12800
,這樣的話肯定沒有說服力,從官方文件顯示,這個
increment_by
代表的是所需的塊數,那麼乙個塊預設是
8k,這樣計算就有答案了。
1280*8192/1024/1024=10m
那麼胖子那邊的自增長就是
12800*8192/1024/1024=100m
,步長為
100m
,這樣就合理了,讓胖子用
alter
命令重新改了步長大小,並且先再手工增加乙個資料檔案緩解燃眉之急。
通過這件事情,雖然不算啥大事,但是感覺,學技術應該學本質,而不只是滿足於會做事,熊熊一直說技術不是重點,但是從未否認過技術不重要,這就像比如
oracle
,你的rac、dg
、gc、gg
、tt等安裝配置弄的很熟練了,但是不了解真正的原理,不了解事務本質,出了問題,照樣沒法解決,然後最後的辦法就是大不了重灌一下。
這個事讓熊熊想起了剛學計算機的時候,基本上
windows
系統出點問題,就會重做系統,以至於老媽總是說,熊熊的系統很少用超過乙個月,基本上老是看熊熊在裝系統~
就好比是去面試,面試官問我們,備份策略如何考慮啊?通常大家應該是按照自己很熟悉的正向思維去考慮問題,但是熊熊覺得不只如此,應該透過問題本質,就是面試官問這個問題的實際含義,備份恢復是資料的重中之重,不會隨便問問技術細節,而是要問到本質,熊熊感覺,應該考慮到對方的資料當量是多少?
如何考慮備份情況,要保留多長時間,出了問題如何恢復,對業務的影響,資料是否需要審計,有沒有帶庫,儲存是否存在單點?有沒有做容災考慮,備份採用的是內建的指令碼策略(比如
rman
)還是第三方工具(比如
nbu、
tsm),恢復的時間,操作的複雜性,模擬演練等,總之,個人認為考慮的越全面,既是對自己的面試負責,也同時讓對方覺得你夠專業~
通過這件小事讓熊熊感覺路還很長,光能夠知其然還不夠,更要知其所以然,這樣我們才能在工作中出現問題的時候做到不慌亂,井然有序~
一家之言,僅供參考~
透過表象看本質!?
做了這麼多年學生,一直不知道該如何搞科研。直到有一天,我在興致勃勃的調 調整著引數,看著結果。就在這時,導師也蠻有興致的走過看,並發問,這結果說明了什麼?為什麼不能?那什麼方法能?這些方法有什麼異同?導師連珠炮式問了下去。留下傻傻的我在一邊,我還沒調研過。那就去調研一下,只是這樣的看是不能幫你解決你...
軟體測試 透過表象看本質
前情概要 職位詳情頁需要新增乙個相似職位的列表,通過所在城市等要求等條件來判斷 相同時會出現在相似職位列表中 職位的城市在資料庫中存兩個字段 city name,city zipcode 職位詳情頁顯示的所在城市欄位為city name 相似職位查詢所在城市欄位為city zipcode 對於職位資...
透過現象看本質
例子 你回家的時候,發現沒帶鑰匙,你聯絡了乙個鎖匠來開鎖,結果他很快來了,並且在一分鐘之內給你開啟了鎖,問你要1000元,你會覺得很不值 但是如果乙個鎖匠用了幾個小時或者更長時間幫你開啟了鎖,你會看到他的努力,要同樣的錢,你會覺得很合理 這實際上是乙個誤區,人往往會看到一些表面的努力,而忽略了一些隱...