❶ 如何用sql獲取informix 物理日誌使用率的相關推薦
1.物理日誌
物理日誌的作用在於保持一批dbspace頁的前映象。這些「前映象」代表了所有數據在物理上與邏輯上都保持一致的這樣一個時刻。將物理日誌中的前映象與邏輯日誌中的邏輯日誌記錄結合起來,可以恢復資料庫自上一次已知的一致點以來發生的所有事務。這樣的已知的一致點稱為檢查點。在快速恢復過程中,第一步首先用到物理日誌,將整個系統恢復在Online中最近一次檢查點時所處的物理一致的狀態。
1) 物理日誌的存放地址
當IDS初始化時,將會在rootdbs中創建物理日誌。
當IDS處於靜止方式時,用戶可將物理日誌從一個dbspace移到另一個dbspace中。用戶這樣做的目的是想盡量提高效率。
物理日誌的位置由配置文件中的PHYSDBS參數指定。這個參數僅當用戶決定將物理日誌從 rootdbs中移到另一個dbspace中才必須被改變;否則,該參數在預設情況下,仍包含著rootdbs的名稱。
物理日誌的大小由配置參數PHYSFILE指定,以kb為單位。用戶可以修改物理日誌文件的位置和大小。
2) 物理日誌的內容
物理日誌是一組連續的磁碟頁面,每一個都包含有一個特別的Online頁的副本。物理日誌中的頁面可以是除了blobspace中blobpage以外的其它任何Online頁面。甚至可對應於系統開銷頁,例如chunk空閑鏈頁、blobspace空閑映象頁、blobspace點陣圖頁等等,這些頁也必須在其上的數據被修改並刷新到磁碟上之前被復制到物理日誌中去。
Blobspace blobpage並不出現在物理日誌中,這是因為blob採用與其它數據類型不同方法記錄日誌。
3) 物理日誌前映象
在某一次檢查點後,某個頁面第一次被修改時,該頁的「前映象」將被寫入共享內存中的物理日誌緩沖區。在該被修改的頁從共享內存刷新到磁碟上之前,該頁的「前映象」應首先被刷新到磁碟上物理日誌中。需要注意的是,僅當對頁面的第一次修改才會導致往物理日誌中寫「前映象」。先寫日誌文件原則是為快速恢復所必需的。
4) 檢查點操作邏輯地清空物理日誌
每次Online檢查點操作以後,物理日誌中逐漸被填上發生修改的「前映象」。當再一次檢查點操作發生以後的瞬間,這時Online中的數據在物理上是一致的,這時也就再不需要原來的Online物理日誌中的「前映象」了。(這對於繼續執行的事務也同樣適用。如果某一個這樣的事務需要執行回滾操作,則執行回滾所需的信息都已包含在邏輯日誌文件中了。)在檢查點操作完成時,Online將邏輯上清空邏輯日誌,Online僅僅重置物理日誌中的指針,標明下一組「前映象」所存儲的起始位置。Online 循環使用物理日誌,不斷地覆蓋那些已過時的數據。
檢查點操作是唯一可以清空物理日誌的機制。如果物理日誌75%的空間已被佔用,則Online將啟動一次檢查點操作。
2.邏輯日誌
邏輯日誌文件的作用在於自上一次Online archive以來,對Online數據所發生的變化進行記錄。Online把邏輯日誌分成三個或更多個相互分離的磁碟空間,每磁碟空間稱為一個邏輯日誌文件。相應於每一個邏輯日誌文件有一個唯一標識號。
1) 邏輯日誌與快速恢復
Online使用邏輯日誌可以恢復自上一次已知的物理一致點以來發生的所有事務。這一已知的物理一致點在Online系統中稱為檢查點。快速恢復中,當Online使用物理日誌將整個系統恢復到上一次檢查點時所處的狀態以後,Online將使用邏輯日誌記錄將整個系統恢復到最近一次邏輯日誌記錄時刻的邏輯一致性狀態,這實際上是快速恢復的第二步驟。
2) 邏輯日誌與數據恢復
將邏輯日誌文件的備份磁帶與最近一次的Online的archive結合在一起,可以將Online系統重新恢復到最近一次邏輯日誌記錄時的狀態。
3) 邏輯日誌文件被循環使用
Online通過標識一個邏輯日誌文件為used(使用)狀態來保護邏輯日誌文件不被覆蓋,直至該文件被備份到磁帶上並且快速恢復已不再需要該邏輯日誌文件時為止。當一個邏輯日誌文件中的所有記錄對應的事務都已完成時,快速恢復過程將不再需要該邏輯日誌文件。如果上面所說的兩個重要條件都已被滿足,即邏輯日誌文件已被備份到磁帶上,並且快速恢復也已不再需要該邏輯日誌文件,這時Online將該邏輯日誌文件標記為free(空閑)狀態,該文件也就可以被再次用以填如邏輯日誌記錄。
在 Online處理過程中,Online按數字順序依次填充空閑的(即狀態為free)的邏輯日誌文件。當第一個邏輯日誌文件變滿時,Online接著開始填充下一個邏輯日誌文件,如果下一次邏輯日誌的狀態為「used」而不是「free」,則正常的Online處理將被掛起。Online不能跳過該標記為「used」狀態的邏輯日誌文件而去填充別的空閑的日誌文件。保證空閑的邏輯日誌文件在Online處理過程中總可以被得到,這是Online管理員的職責。
Online至少需要三個邏輯日誌文件以便循環使用邏輯日誌文件,當一個邏輯日誌文件在接收當前記錄時,Online有可能正將另一個日誌文件往磁帶上備份,第三個日誌文件是當前日誌文件已滿,而備份另一個日誌文件的工作尚未完成時所需要的。(這個使用三個邏輯日誌緩沖區的考慮是類似的)。
4) 邏輯日誌文件:標識號與備份
邏輯日誌備份帶以邏輯日誌所包含的唯一數值標記。每當一個日誌文件填滿時,邏輯日誌標識號就增加數值1。例如,如果一個Online系統包含三個邏輯日誌文件,則相應的三個日誌文件的標識號為1、2、3。當邏輯日誌文件1第一次被釋放以便循環使用時,它將變為邏輯日誌文件4,第二次它又將變為邏輯日誌文件7。
5) 邏輯日誌文件的內容
邏輯日誌文件中包含下述五種類型的記錄:
所有資料庫的SQL定義語句。
檢查點記錄。
有關配置修改的記錄。
對於那些創建時使用日誌登錄的資料庫的SQL數據操縱語句。
有關某個資料庫日誌登錄狀態變化的記錄。
即使沒有一個資料庫創建時使用了事務日誌登錄,在處理過程中,Online也會將前面三種類型的記錄寫入邏輯日誌文件。邏輯日誌記錄可以跨越Online的整個頁面,但它們卻不能跨越邏輯日誌文件。
6) 邏輯日誌文件的配置
當Online初始化時將會在rootdbs中創建邏輯日誌文件。在Online處於靜止方式以後,用戶可以從rootdbs中刪除一個或多個邏輯日誌文件,也可以往另一個dbspace中增加一個或多個邏輯日誌文件。用戶有可能為了提高效率而這樣做。
在Online磁碟空間初始化以後,用戶就不能再修改邏輯日誌文件的大小了。如果一邏輯日誌文件被刪除,則由該邏輯日誌文件占據的空間將被釋放掉,並被鏈入chunk空閑鏈頁。
7) 大小與數目方面的限制
Online管理員決定每一個邏輯日誌文件的大小,以及分配給整個邏輯日誌的磁碟空間的大小。每個邏輯日誌文件至少要被分配到200K的磁碟空間。
邏輯日誌文件的最小數目為3,最大數目則由一頁上可容納的邏輯日誌描述字的數目所決定。對於一個2K大小的頁,最大的日誌文件數目為60。
8) 影響邏輯日誌文件填充速度的因素
下列四個因素會影響一個事務的大小與持續時間:
邏輯日誌文件記錄的大小
事務打開時間的長度
CPU與邏輯日誌的活動級別(Actirity Level)
事務回滾的頻率(Freqency)
邏輯日誌記錄的長度隨處理操作與當前Online的環境而變化。一般來講,數據行越長,邏輯日誌記錄也就越大。
不僅如此,其它一些因素還會影響單一事務的大小與操作時間。例如,一條Alter table語句將會為每一次往新修改了的表中的插入操作生成一條邏輯日誌記錄。數據行的大小與表的大小都將會影響生成的邏輯日誌記錄的數目與大小。然而在一些情況下,數據行大小是無關緊要的。例如,邏輯日誌中的一條檢查點記錄將包含對應於所有檢查點發生時刻仍處於打開狀態的事務的項目。檢查點記錄的大小僅僅反映了當前的資料庫活動的級別與類型,而不涉及到任何特定的行的大小。
事務的持續時間也是一個不能為用戶所控制的主要的變化量。一個應用,也許並不需要過多的邏輯日誌記錄空間,但如果用戶允許事務在很長時間內保持打開,這時就可能造成生成長事務錯誤。在保證不產生長事務錯誤的前提下,可用的邏輯日誌空間越多,就有可能允許越長的事務保持打開狀態。
CPU的能力可能影響Online伺服器進程完成事務的能力。重復地往邏輯日誌文件寫,增加了每個伺服器進程完成事務所需的CPU時間。邏輯日誌操作的增加,可能還隱含著同時增加了對邏輯日誌鎖與latch的競爭。(也正是這個原因,用戶才有可能需要將邏輯日誌文件從rootdbs移到另一個不太活躍的dbspace中去)。
回滾的頻率也影響著邏輯日誌被填充的速率。盡管回滾記錄很小,但回滾本身也需要邏輯日誌文件空間。而且,回滾也增加對邏輯日誌的操作。
❷ 關於informix資料庫,我AIX系統有個資料庫叫abc,我想導出該庫,用命令dbexport abc -ss,然後drop掉這
本語句訪問一個當前資料庫以外的資料庫。然而,當前資料庫不使用事務日誌,而外
部的資料庫使用。這種操作是不被支持的。在單個事務中使用的資料庫必須全都使用
日誌或者全都不使用日誌。