基本介紹
發展歷程
1980
1988
1994
1995
1997
2001
IBM接管
版本發布
基本概念
頁面大小,由系統決定,用戶無權更改。
2. Mirror { MIRROR }
是否作鏡像處理。
3. Tape Dev. { TAPEDEV}
數據備份所用的磁帶設備,需要選擇好或提前準備好,如使用硬碟檔案的話,創建方法同準備硬碟空間。
主要參數有磁帶設備路徑(可以是硬碟的某個檔案,或/dev/null )、磁帶塊大小(Block Size)及總容量(Total Tape Size)。
4. Log Tape Dev. {LTAPEDEV}
資料庫邏輯日誌備份使用的磁帶設備。
5. Stage Blob {STAGEBLOB}
INFORMIX-OnLine/Optical為存儲目的地是光碟的blobs所用的blobspace名稱。僅當你使用光碟 和INFOMRIX-OnLine/Optical時,才有可能使用此參數。
6.Root Name {ROOTNAME}
存儲OnLine配置的根資料庫空間(dbspace),在所有資料庫空間中名字唯一。默認是rootdbs,建議沿用此名稱。
Primary Path: { ROOTPATH }
rootdbs的路徑,須預先準備好。
Root Size: { ROOTSIZE }
規定rootdbs的大小。建議不要小於50MB。
Root Offset : {ROOTOFFSET }
Root Name 設備的偏移量。對於Primary Path指定的設備是作業系統檔案時,必須是0;如果Primary Path是原始設備(硬碟、或可擦寫光碟等)可以指定起始位置。
8. Mirror Path { MIRRORPATH }
如果Mirror處選擇了Y,此處要求輸入鏡像設備或檔案的絕對路徑。
Mirror Offset:{ MIRROROFFSET }
鏡像設備的偏移量。對於Mirror Path指定的設備是作業系統檔案時,必須是0;如果Mirror Path是原始設備(硬碟、或可擦寫光碟等)可以指定起始位置。
9. Phy. Log Size { PHYSFILE }
規定物理日誌大小(大於等於200K)。初始化後仍可以調整。
10. Log. Log Size { LOGSIZE }
規定邏輯日誌大小。初始化後不可改變。
最小值=200
最大值=(rootsize-physfile-512-(63*((pagesize)/1024))/logfiles
Number of Logical Logs { LOGFILES }
規定邏輯日誌的個數。初始化後可以增加。
11. Logical Log:
記錄資料庫每個操作的日誌,主要是為了在資料庫崩潰後最大限度的恢復毀壞的數 據。Informix OnLine最少有六個邏輯日誌,記錄依次循環存放。要定期對其進行備份,備份後的日誌仍可使用。在當全部日誌寫滿而仍未進行備份時,OnLine將停止運轉,直到有可用的邏輯日誌。將資料庫設為No Log 模式、或邏輯日誌備份設備是/dev/null時除外。
12.Server Number { SERVERNUM }
資料庫伺服器編號(0~255)。規定了共享記憶體存儲中的相對位置,選擇的數值並不重要。只是要求本地主機上的每個OnLine資料庫伺服器選擇的值都要唯一。該值在網路上不一定是唯一的,因為0值是默認設定。建議你選擇一個非0值以避免重複。
13. Server Name { DBSERVERNAME }
規定與這個OnLine的特定出現相聯繫的唯一名字。與環境變數INFORMIXSERVER的值相同。與sqlhosts檔案中的一個通訊協定相聯繫。
14. Server Aliases { DBSERVERALIASES }
資料庫別名。
15. Max # of Logical Logs { LOGSMAX }
邏輯日誌的最大個數。主要是為在共享記憶體中為邏輯日誌預留空間。
16. Max # of Locks { LOCKS }
最大的鎖數。資料庫操作中同時使用的各類鎖的總數的上限。
17. Max # of Buffers { BUFFERS }
最大緩衝區個數。
常用命令
oninit 將系統從off-line模式變為on-line模式
oninit -s 將系統從off-line模式變為quiescent模式
oninit -i 初始化系統
oninit -p 在共享記憶體初始化時,不搜尋,刪除臨時表
oninit -y 對提示自動回答yes
oninit -v 加入這個選項顯示oninit處理過程
oninit-- 鍵入此命令可以獲得使用幫助
oninit命令用來改變系統的運行模式。其中-i選項用於初始化系統的root dbspace。注意,root-dbspace一旦被初始化,則等於整個資料庫系統被初始化。
如果用戶希望在計算機啟動時自動自動啟動動態伺服器系統,請在系統初啟檔案(在許多UNIX系統中為/etc/rc)中加入oninit命令(不加任何選項)。
onmode 命令
語法: onmode [-k] [-m] [-s] [-u] [-y]
onmode -k 執行立即shutdown,將系統變為off-line模式
onmode -m 將系統從quiescent模式變為on-line模式
onmode -s 執行graceful shutdown
onmode -u 執行immediate shutdwon
onmode -y 對提示自動回答yes
onmode 命令同樣用於改變動態伺服器的運行模式。除了上述選項外,onmode還有很多與改變系統運行模式無關的選項。
利用onspaces命令創建數據空間
語法: onspaces -c [-b] [-d] [-z] [-m] [-o] [-p] [-s] [-t]
-c 創建blobspace或dbspace
-b blobspace blobspace名
-d dbspace dbspace名
-g page size blobpages大小
-m mirror 鏡像設備設的全路徑名和偏移量(KB)
-o offset 偏移量(KB)
-p pathname chunk設備的全路徑名
-s size dbspace大小(KB)
-t 創建臨時dbspace
onspaces命令用於創建數據空間、臨時空間和存儲blob數據的空間(blobspace)。鍵入onspaces--可以獲得該命令的在線上幫助。利用onstat -D或onstat -d可以看到系統中的關於數據空間的重要信息。包括:chunk的狀態、空閒、每一chunk讀寫的次數。系統中可能包括的多個系統空間,特別當進行數據分片後,我們建議用戶最好能利用命令行來創建數據空間。
可以利用如下命令創建數據空間:
onspaces -c -d datadbs1 -o 0 -p /dev/rrvol3 -s 60000
可以用如下的方式創建臨時數據空間:
onspaces -c -d tempdbs1 -t -o 0 -p /dev/rrvol5 -s 80000
在系統中,臨時數據空間非常重要,通常情況下,應將多個臨時數據空間分布在獨立的物理設備上。
利用onspaces命令刪除數據空間
增加或刪除chunks
語法: onspaces -a -d [-m] [-o] [-p]
-a spacename 為dbspace新增chunk
-m pathname 鏡像設備的全路徑名和偏移量(KB)
-o offset 主設備的偏移量(KB)
-p pathname chunk設備的全路徑名
-s size chunk大小
-d spacename 刪除chunk
-o offset chunk設備的偏移量(KB)
onspaces不僅能創建數據空間還能刪除數據空間、臨時數據空間或存儲blob數據的空間。在刪除數據空間時,必須首先保證它是無用的,即該數據空間上無資料庫或表。
如需刪除數據空間,請鍵入如下命令:onspaces -d dbspace_name /blobspace_name
數據空間最初由一個chunk(first chunk)構成,一旦其空間用盡,用戶必須追加chunk為了提高系統性能,用戶在為數據空間分配chunk時需要計算以保證它的大小能適應未來的需要,否則在追加chunk的時候,它與先前的chunk在物理上不一定相鄰,導致增加讀取數據的時間。關於如何計算空間需求將在以後章節中闡述。利用onspaces命令可以對數據空間增加或者刪除chunk,除此之外,利用該命令還可以完成如下任務:啟動鏡像、中止鏡像或改變chunk的狀態。
例如可以用如下命令為數據空間增加chunk:
onspaces -a -d datadbs1 -0 60002 -p /dev/rrvol3 -s 60000
再如可以用如下方式從數據空間中刪除chunk:
onspaces -d datadbs1 -o 60002 -p /dev/rrvol3 -s 60000
onparams 命令語法:onparams -a -d -p [-d] [-s] [-l]
-a 新增邏輯日誌
-d dbspace 指定日誌存放的dbspace
-s size 新增邏輯日誌的大小(KB)
-d 刪除邏輯日誌
-l logid 指定刪除一個邏輯日誌
-p 改變物理日誌
-d dbspace 新物理日誌存放的dbspace名
-s size 物理日誌大小(KB)
系統在初始化時自動地在root dbspace中創建邏輯日誌和物理日誌。在DBMS系統中,尤其在OLTP環境下,資料庫的操作非常頻繁,日誌中必須記錄大量的信息,所以用戶最好能將多個日誌檔案分布在不同的設備上。有一種非常簡單的方法: 即按所需大小創建邏輯日誌,同時創建一個較小的物理日誌,系統初始化完畢後,再將物理日誌移至其它設備。關於如何確定所需的物理日誌的大小,將在以後的章節詳述。 利用onstat -l命令可以看出系統中所有新增的邏輯日誌被標識為A。這些邏輯日誌只有在系統進行歸檔後才會真正被使用。為了激活這些邏輯日誌有一種簡單的方法:執行一次“偽”歸檔。具體步驟如下:將參數TAPEDEV設定為/dev/null然後運行一次ontape -s。也可以執行onbar -F命令。由於偽歸檔並不真正歸檔系統信息,所以千萬要適時地對系統進行真正的歸檔操作。
只有在邏輯日誌真正無用時才能將其刪除。利用onstat -l 可以看出所有的空閒日誌被標記為F。如果邏輯日誌中包含事務回滾或快速恢復所需的信息,該邏輯日誌是不能被刪除的。利用onstat -l命令可以看出接受當前事務的日誌被標記為C。如果邏輯日誌包括最後一個檢查點記錄,它也是不能被刪除的,只有當檢查點記錄被寫入下一個日誌忠並且上一個日誌被備份後,該日誌才能被刪除。利用onstat -l命令可以看出包含最後一個檢查點記錄的日誌被標記為L。用戶可以利用onmode -c命令強制寫檢查點記錄直至最後一個檢查點記錄被寫入所要求的日誌為止。