Informix Online數據庫日常管理及維護
一、啟動、關閉Informix數據庫
1.自動啟動Informix
啟動Online命令為:oninit
但一般情況下,將啟動命令建立在/etc/rc2.d目錄下,名字為S96informix,這樣當啟動操作系統時,Online隨之啟動。
編輯文件/etc/rc2.d/S96informix為如下內容:
INFORMIXDIR=/usr/informix INFORMIXSERVER=picc_online ONCONFIG=onconfig.picc export INFORMIXDIR NFORMIXSERVER ONCONFIG INFORMIXDIR/bin/oninit |
修改文件屬性如下:$chmod +x /etc/rc2.d/S96informix
2.自動關閉Informix
關閉Online命令為:onmode -ky
但一般情況如下,將關閉命令建立在/etc/rc0.d目錄下,名字為K01informix,這樣當關閉操作系統時,Online隨之關閉。
編輯文件/etc/rc0.d/K01informix如下:
INFORMIXDIR=/usr/informix INFORMIXSERVER=picc_online ONCONFIG=onconfig.picc export INFORMIXDIR INFORMIXSERVER ONCONFIG INFORMIXDIR/bin/onmode -ky |
修改文件屬性如下:$chmod +x /etc/rc0.d/K01informix
二、Informix Online常見工作模式
offline(停止態)
quiescent ( 系統維護態)
online(運行態)
#p#
三、管理Informix Online磁盤空間
Online初始化時,自動建立了一個名為rootdbs的dbspace。該rootdbs存儲Online的管理信息,包括物理日志、邏輯日志等。當你建立一個數據庫或表時,如果不指定dbspace,作為缺省,該庫或表建立在rootdbs中。所以,如果你想將庫或表建立在某個dbspace中,則必須在SQL語句中指定dbspace名字。如數據庫名為‘stores’,我們將這個數據庫建立在‘workdbs’dbspace中,SQL語句如下:
create database stores in workdbs;
另外,建chunk或dbspace時,要指定原始磁盤設備名路徑,所需磁盤空間大小,以及該塊磁盤空間在原始磁盤設備中的偏移量。其中,偏移量非常關鍵,要小心設置,否則容易造成chunk塊之間空間上的重疊與覆蓋。
例如:假定原始磁盤設備/informixdbs1有500M空間,其中rootdbs用去前100M,如果要在/informixdbs1中建立一個新的chunk,偏移量應大于100M。
1.用onspaces命令建立dbspace
$onspaces -c -d dbspace名字 -p 磁盤設備 -o 偏移量 -s 尺寸
其中:
-c: 表示建立新的dbspace
-d: dbspace名字
-p: 原始磁盤設備全路徑名,如/informixdbs1
-o: 偏移量,以K字節為單位
-s: dbspace中第一個chunk 尺寸,以K字節為單位
2.用onspaces命令增加chunk
$onspaces -a dbspace名字 -p 原始磁盤設備 -o 偏移量 -s 尺寸
其中:
-a: 表示為某個dbspace增加一個chunk, 后跟dbspace名字
-p: 原始磁盤設備全路徑名,如/informixdbs1
-o: 偏移量,以K字節為單位
-s: chunk的尺寸,以K字節為單位
例如某數據庫系統,在原始磁盤設備/informixdbs1上建立三個DBSPACE:
rootdbs:Online初始化時缺省建立,第一個chunk尺寸為100M, 偏移量為0;
workdbs:存放應用數據庫數據,第一個chunk尺寸為100M,偏移 量為100M;
tmpdbs:存放系統臨時文件數據,第一個chunk尺寸為50M,偏移量為200M;
*tmpdbs必須在online初始化之前建立;
建立命令如下:
$onspaces -c -d workdbs -p /informixdbs1 -o 100000 -s 100000;
$onspaces -c -d tmpdbs -p /informixdbs1 -o 200000 -s 50000;
四、Informix Online日志管理
1.數據庫日志方式:
◆無日志方式(對應非事物性應用)
◆無緩沖區日志方式
◆帶緩沖區日志方式
◆符合ANSI標準日志方式
針對保險業務特點,INFORMIX建議使用無緩沖區日志方式建立數據庫,以保證機器崩潰時,交易事務不會丟失,與帶緩沖區日志方式相比,數據庫并行處理速度慢。
可使用ontape命令修改數據庫日志方式
用ontape打開事務日志:
$ontape -s -U stores; 打開數據庫stores日志,日志方式為無緩沖區日志;
用ontape結束日志:
$ontape -N lifeins; 將數據庫lifeins改為無日志方式。
2.物理日志的管理
物理日志保存數據被修改前的映象。物理日志的位置和大小可以改變。使用onparams命令改變物理日志的位置和大小,在Online進入靜態方式后執行:
$ onparams -p -s size -d dbspace -y
其中
-p: 表示物理日志
-s: 新的尺寸,后跟以K字節為單位的物理日志的大小
-d: 說明存放物理日志的dbspace名字
-y: 對所有的提問以“Yes”回答
注意:分配給物理日志的空間必須是連續的,因此,改變之前要確認dbspace有足夠的空間來存放物理日志。
3.邏輯日志的管理
邏輯日志保存數據在修改后的映象,邏輯日志空間的尺寸為邏輯日志文件尺寸與邏輯日志文件個數的乘積。Online初始化后,已有邏輯日志文件的尺寸不可修改,要改變邏輯日志空間大小,只能修改邏輯日志文件個數,新增加的邏輯日志文件尺寸可以設為新的值,邏輯日志文件個數不得少于3個。
a.用onparams 增加邏輯日志文件
$ onparams -a -d rootdbs
新增加的邏輯文件狀態是A(A表示新增加的意思)。必須建立rootdbs的0級備份后,新增加的邏輯日志文件才可使用。
b.增加一個具有新的尺寸的邏輯日志文件
$onparams -a -d rootdbs -s新的日志尺寸
c.用onparams取消一個邏輯日志文件
$onparams -d -1 logid
注意:取消一個邏輯日志文件之前,必須做rootdbs的0級備份
$ ontape -s.; 該命令可做0級備份
* 只有狀態為F(Free)或A(Added)的邏輯日志文件才可被取消
* 必須知道想要取消的邏輯日志的logid號
$ onstat -1; 該命令可查看邏輯日志文件狀態及log id號
#p#
五、Informix Online數據庫備份及恢復
備份內容及目的:
數據備份:備份數據庫某個時刻的數據狀態,當系統出現意外時用來恢復系統;
邏輯日志備份:邏輯日志文件寫滿后,必須備份,才可被清空,繼續使用。如果所有的邏輯日志文件都被寫滿,則會引起系統崩潰。另外,邏輯日志記錄了上一次數據備份后數據庫的改變,因此,邏輯日志備份也用于當系統出現意外時用來恢復系統。
1.數據備份:
a.Online提供0 級,1級,2級增量備份;
0級:備份整個數據庫系統;
1級:備份從0級備份以后發生變化的數據;
2級:備份從1級備份以后發生變化的數據;
b.使用ontape命令備份數據
$ontape –s
執行該命令,系統會提示輸入0,1,2級備份級別
c.在整個系統正式運行之前,做一次0級備份,在每天業務系統結束工作后應做數據備份。如果數據量不大,可每天做0級備份。
d.管理好備份磁帶,做好標記,如日期、時間、備份級別、所含邏輯日志號碼
2.邏輯日志文件備份
a.定時備份邏輯日志文件
定時做邏輯日志文件備份,系統只將已寫滿的邏輯日志文件備份到磁帶上,然后清空,并釋放這些日志文件。做定時備份一定要在所有邏輯日志文件被寫滿之前進行。所以,如果采用定時備份,要注意觀察邏輯日志使用狀況。另外,如果經常有長事務發生,應避免使用定時備份,采用連續備份比較安全。
命令: ontape -a
b.連續備份邏輯日志文件
連續備份即邏輯日志文件寫滿一個,就備份一個,然后該日志文件被消空、釋放。因此,要做連續備份,必須保證磁帶機中有磁帶。連續備份需占用一個屏幕或終端顯示信息。當磁帶滿時,系統會提示換帶。
命令: ontape -c
Informix建議使用連續備份,但連續備份將一直占用磁帶機,如果系統有二個磁帶機,可分別用作數據備份及邏輯日志備份,如果系統只有一個磁帶機,會與數據備份發生沖突,可按下表方式進行切換:
時 間 |
操 作 |
每日業務開始及進行中 |
保證磁帶機中有磁帶,并且有一個屏幕或終端在運行:ontape -c |
每日業務結束前 |
a.停止ontape -c,記錄磁帶中保存的邏輯日志的號碼 b.換磁帶 c.運行ontape -s,(在業務量不大時建議使用0級備份)運行結束后在磁帶上標注日期,時間,備份級別,所含邏輯日志號碼 d.換磁帶 |
3.系統恢復
當系統出現錯誤,或者你想把系統恢復到某一時間點的數據時,你必須利用數據備份帶和邏輯日志備份來恢復系統。
數據備份將系統恢復到做數據備份的時間點數據狀態,邏輯日志備份能將系統恢復到數據備份時間點以后的數據狀態。
命令:ontape -r
敲入該命令后,你可根據系統提示,依次恢復最近的0、1、2級數據備份帶及數據備份帶之后的邏輯日志帶。
六、系統診斷
online.log文件
數據庫事務日志信息記錄在$INFORMIXDIR/online.log文件中,平時應經常查看online.log文件信息,檢查數據庫有無異常。當數據庫出錯時查看online.log文件可知道數據庫系統出錯原因及處理建議。online.log非常有用,應很好地維護,定期清空,以防止文件過大難以查看。
finderr命令
當數據庫出錯時, 一般帶有錯誤號,利用finderr命令可以查出數據庫系統出錯原因及處理建議提示。
【編輯推薦】