INFORMIX資料庫系統

2021-08-31 08:28:43 字數 2536 閱讀 9889

7.4.3 informix資料庫系統

informix系統使用了兩類日誌檔案:邏輯日誌檔案(logical log file)和物理日誌檔案(physical log file)。邏輯日誌檔案用來存放資料庫系統中所有更新事務的日誌資訊,就是我們這一章所講的資料庫日誌;物理日誌檔案並不存放日誌資訊,它被用來儲存資料被更新前的原有映像。任何事務在更新資料前,都需要將這些資料備份到物理日誌檔案中。

informix系統在下列兩種情況下,需要用到物理日誌檔案:

(1)如果當前事務需要回退,informix系統直接使用物理日誌檔案中的原有資料映像,覆蓋當前事務所做的修改,使資料恢復到事務處理之前的狀態。

(2)informix系統在恢復時使用物理日誌檔案,將資料庫恢復到乙個物理上的一致點,然後再根據邏輯日誌檔案中的日誌資訊,進行事務的前滾和回退。

informix系統中物理日誌檔案的使用,總給人「蛇足」的感覺。如果沒有物理日誌檔案,資料庫系統照樣可以從邏輯日誌檔案中讀出當前事務所有已經執行的更新操作,反方向執行以回退事務,照樣可以完成資料庫系統的恢復。db2和sybase系統就是這樣實現的。物理日誌檔案的使用,雖說提高了事務回退的效率,但事務處理之前的原有資料儲存,既影響事務的處理速度,又要消耗系統資源。在oracle系統中,也存在類似於物理日誌檔案的回退表空間。但oracle系統的回退表空間,除了用做事務的回退之外,還和資料庫系統的併發控制——多版本兩階段鎖機制的實現,有著密切的關係,是資料庫系統不可或缺的乙個組成部分。

在informix系統中,每乙個邏輯日誌檔案、物理日誌檔案並不是對應到乙個作業系統檔案或者裸裝置上。所有的邏輯日誌檔案、物理日誌檔案可以放置在乙個表空間中,系統根據每個日誌檔案的大小,在這個表空間上進行空間的分配。下列配置引數和資料庫日誌有關:

logbuff:設定邏輯日誌緩衝區的記憶體空間。

logfiles:設定邏輯日誌檔案的數目。

logsize:設定單個邏輯日誌檔案的空間大小。

physbuff:設定物理日誌緩衝區的記憶體空間。

physdbs:設定物理日誌檔案使用的表空間。

physfile:設定單個物理日誌檔案的空間大小。

ltapedev:設定對邏輯日誌檔案備份時所使用的備份裝置。可以是磁帶機、作業系統檔案。

ltapeblk:設定對邏輯日誌檔案備份時所使用的塊大小。

ltapesize:設定進行邏輯日誌檔案備份的備份裝置所使用介質的空間大小。

1. 不生成資料庫日誌

在特殊情況下,要提高資料庫系統的處理速度,可以使事務的更新處理不產生日誌資訊。在informix系統中,可以設定整個資料庫,使它處於不記日誌模式,從而對資料庫中所有表的更新處理都不產生日誌資訊。也可以改變單個表的屬性為不記日誌模式,從而只是對該錶的更新操作,不會產生日誌資訊。

另外,向表中插入資料時,可以使用onload工具。使用該工具裝入資料時,要求資料庫處於不記日誌模式,不會產生日誌資訊。在資料裝入完成後,再使用命令改變資料庫的日誌模式。要刪除乙個表中的所有記錄資料,可以首先移走整個表,然後重新建立該錶。更好的方法是使用truncate table命令,該命令刪除表中的所有記錄,不會生成日誌資訊,在保留表結構的同時**表所擁有的磁碟空間。

2. 日誌檔案的歸檔

informix系統只有一種日誌模式,即歸檔日誌模式,系統迴圈地使用所有的邏輯日誌檔案,任何日誌檔案被寫滿之後、再次被使用之前,必須被歸檔儲存。在實際操作時,可以根據需要,設定邏輯日誌的備份裝置引數:ltapedev = /dev/null,資料庫系統會將寫滿的邏輯日誌檔案自動標記為已歸檔,儘管實際的歸檔操作並沒有被執行。另外,物理日誌檔案不需要被歸檔。

3. 長事務的處理

要使informix系統有足夠的日誌資訊存放空間,以保證長事務的順利完成,我們首先要了解和長事務有關的配置引數。

ltxhwm:設定單個事務能夠使用的邏輯日誌檔案數,佔總數目的百分比。一旦達到這個比例,系統就開始回退事務。

ltxehwm:設定單個事務能夠使用的邏輯日誌檔案數,佔總數目的百分比。一旦達到這個比例,該事務就獨享剩餘的邏輯日誌檔案空間,其它事務被掛起。

dynamic_logs:設定是否允許系統自動增加邏輯日誌檔案。這些邏輯日誌檔案在事務完成後被系統刪除。

當乙個事務所使用的邏輯日誌檔案達到配置引數ltxhwm的值後,系統就認定此事務為乙個長事務。為防止事務占用所有的日誌檔案空間而引起系統掛起,系統就開始回滾該事務。由於回滾事務仍舊要產生日誌、要寫入邏輯日誌檔案,當事務所使用的邏輯日誌檔案達到配置引數ltxehwm的值後,系統就暫停其他事務的執行,所有剩餘日誌檔案空間全部用作該事務的回退。

乙個邏輯日誌檔案被寫滿之後,系統就自動切換到下乙個邏輯日誌檔案,這個日誌檔案就成為當前日誌檔案。除此之外,在切換時系統還要檢查新的當前日誌檔案的下乙個日誌檔案。如果它處於活動狀態並且配置引數dynamic_logs被設定,系統就自動在新的當前日誌檔案之後增加乙個新的邏輯日誌檔案。

只要設定配置引數dynamic_logs,同時將ltxhwm和ltxehwm的值設為100,系統就會在需要時建立新的邏輯日誌檔案,一直到事務的完成。通過這種方式,可以保證長事務的處理有足夠的日誌資訊存放空間。

物理日誌檔案在更新事務的處理過程中,要存放資料被更新前的映像。事務處理的資料量越大,需要的空間就越多。因此,管理員在處理長事務時,還要保證物理日誌檔案有足夠可用空間。

資料庫系統mysql MySQL資料庫系統

1 mysql的特點 1 多執行緒 多使用者 2 基於c s 客戶端 伺服器 架構 3 簡單易用 查詢速度快 4 安全可靠 2 mysql編譯安裝 代表鍵盤上tab鍵 1 準備工作 解除安裝使用rpm方式安裝的mysql rpm e mysql nodeps 安裝cmake包 cd media ta...

資料庫系統 資料庫 資料庫管理系統 資料庫系統

繼續寫資料庫系統的文章,第二篇 資料庫 資料庫管理系統 資料庫系統。本文主要談談這三者之間的關係。下方,摘自老師的ppt,非原創。資料庫管理系統 從系統角度看資料庫管理系統 資料庫系統 資料庫指的是長期儲存在計算機內有組織的,大量的,相關聯的,可共享的資料集合。資料應當是有組織的,不應該是雜亂無章的...

資料庫 資料庫系統 1 資料庫系統概述

本節先對資料庫系統有個全貌的了解。資料庫 database,是長期儲存在計算機內 有組織的 可共享的大量資料的集合 資料庫管理系統 dbms,位於使用者與os之間的一層資料管理軟體,負責科學地組織和儲存資料 高效地獲取和維護資料,功能包括 資料庫系統 dbs,是資料庫 資料庫管理系統 應用程式 資料...