操縱動態(tài)服務(wù)器的運行模式 管理動態(tài)服務(wù)器系統(tǒng)的數(shù)據(jù)空間 管理邏輯日志和物理日志 利用onstat命令監(jiān)控動態(tài)服務(wù)器系統(tǒng) oninit 命令 語法 oninit [-s] [-i] [-p] [-y] oninit 將系統(tǒng)從off-line模式變?yōu)閛n-line模式 oninit -s 將系統(tǒng)從off-line模式變?yōu)閝uiescent模式 oninit -i 初始化系統(tǒng) oninit -p 在共享內(nèi)存初始化時,不搜索,刪除臨時表 oninit -y 對提示自動回答yes oninit -- 鍵入此命令可以獲得使用幫助
oninit 命令用來改變系統(tǒng)的運行模式。其中-i選項用于初始化系統(tǒng)的root dbspace。注意,root-dbspace一旦被初始化,則等于整個數(shù)據(jù)庫系統(tǒng)被初始化。 如果用戶希望在計算機啟動時自動自動啟動動態(tài)服務(wù)器系統(tǒng),請在系統(tǒng)初啟文件(在許多UNIX系統(tǒng)中為/etc/rc)中加入onstat命令(不加任何選項)。 onmode 命令 語法: onmode [-k] [-m] [-s] [-u] [-y] onmode -k 執(zhí)行立即shutdown,將系統(tǒng)變?yōu)閛ff-line模式 onmode -m 將系統(tǒng)從quiescent模式變?yōu)閛n-line模式 onmode -s 執(zhí)行g(shù)raceful shutdown onmode -u 執(zhí)行immediate shutdwon onmode -y 對提示自動回答yes
onmode 命令同樣用于改變動態(tài)服務(wù)器的運行模式。除了上述選項外,onmode還有很多與改變系統(tǒng)運行模式無關(guān)的選項。 利用onspaces命令創(chuàng)建數(shù)據(jù)空間 語法: onspaces -c [-b] [-d] [-z] [-m] [-o] [-p] [-s] [-t] -c 創(chuàng)建blobspace或dbspace -b blobspace blobspace名 -d dbspace dbspace名 -g page size blobpages大小 -m mirror 鏡像設(shè)備設(shè)的全路徑名和偏移量(KB) -o offset 偏移量(KB) -p pathname chunk設(shè)備的全路徑名 -s sizedbspace大?。↘B) -t 創(chuàng)建臨時dbspace
onspaces命令用于創(chuàng)建數(shù)據(jù)空間、臨時空間和存儲blob數(shù)據(jù)的空間(blobspace)。鍵入onspaces--可以獲得該命令的聯(lián)機幫助。利用onstat -D或onstat -d可以看到系統(tǒng)中的關(guān)于數(shù)據(jù)空間的重要信息。包括:chunk的狀態(tài)、空閑、每一chunk讀寫的次數(shù)。系統(tǒng)中可能包括的多個系統(tǒng)空間,特別當(dāng)進行數(shù)據(jù)分片后,我們建議用戶最好能利用命令行來創(chuàng)建數(shù)據(jù)空間。 可以利用如下命令創(chuàng)建數(shù)據(jù)空間: onspaces -c -d datadbs1 -o 0 -p /dev/rrvol3 -s 60000 可以用如下的方式創(chuàng)建臨時數(shù)據(jù)空間: onspaces -c -d tempdbs1 -t -o 0 -p /dev/rrvol5 -s 80000 在系統(tǒng)中,臨時數(shù)據(jù)空間非常重要,通常情況下,應(yīng)將多個臨時數(shù)據(jù)空間分布在獨立的物理設(shè)備上。
利用onspaces命令刪除數(shù)據(jù)空間 增加或刪除chunks 語法: onspaces -a -d [-m] [-o] [-p] -a spacename 為dbspace新增chunk -m pathname鏡像設(shè)備的全路徑名和偏移量(KB) -o offset 主設(shè)備的偏移量(KB) -p pathname chunk設(shè)備的全路徑名 -s sizechunk大小 -d spacename 刪除chunk -o offset chunk設(shè)備的偏移量(KB)
onspaces不僅能創(chuàng)建數(shù)據(jù)空間還能刪除數(shù)據(jù)空間、臨時數(shù)據(jù)空間或存儲blob數(shù)據(jù)的空間。在刪除數(shù)據(jù)空間時,必須首先保證它是無用的,即該數(shù)據(jù)空間上無數(shù)據(jù)庫或表。 如需刪除數(shù)據(jù)空間,請鍵入如下命令:onspaces -d dbspace_name /blobspace_name 數(shù)據(jù)空間最初由一個chunk(first chunk)構(gòu)成,一旦其空間用盡,用戶必須追加chunk為了提高系統(tǒng)性能,用戶在為數(shù)據(jù)空間分配chunk時需要計算以保證它的大小能適應(yīng)未來的需要,否則在追加chunk的時候,它與先前的chunk在物理上不一定相鄰,導(dǎo)致增加讀取數(shù)據(jù)的時間。關(guān)于如何計算空間需求將在以后章節(jié)中闡述。利用onspaces命令可以對數(shù)據(jù)空間增加或者刪除chunk,除此之外,利用該命令還可以完成如下任務(wù):啟動鏡像、中止鏡像或改變chunk的狀態(tài)。 例如可以用如下命令為數(shù)據(jù)空間增加chunk: onspaces -a -d datadbs1 -0 60002 -p /dev/rrvol3 -s 60000 再如可以用如下方式從數(shù)據(jù)空間中刪除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 新增邏輯日志的大?。↘B) -d 刪除邏輯日志 -l logid 指定刪除一個邏輯日志 -p 改變物理日志 -d dbspace 新物理日志存放的dbspace名 -s size物理日志大小(KB)
系統(tǒng)在初始化時自動地在root dbspace中創(chuàng)建邏輯日志和物理日志。在DBMS系統(tǒng)中,尤其在OLTP環(huán)境下,數(shù)據(jù)庫的操作非常頻繁,日志中必須記錄大量的信息,所以用戶最好能將多個日志文件分布在不同的設(shè)備上。有一種非常簡單的方法: 即按所需大小創(chuàng)建邏輯日志,同時創(chuàng)建一個較小的物理日志,系統(tǒng)初始化完畢后,再將物理日志移至其它設(shè)備。關(guān)于如何確定所需的物理日志的大小,將在以后的章節(jié)詳述。 利用onstat -l命令可以看出系統(tǒng)中所有新增的邏輯日志被標(biāo)識為A。這些邏輯日志只有在系統(tǒng)進行歸檔后才會真正被使用。為了激活這些邏輯日志有一種簡單的方法:執(zhí)行一次“偽”歸檔。具體步驟如下:將參數(shù)TAPEDEV設(shè)置為/dev/null然后運行一次ontape -s。也可以執(zhí)行onbar -F命令。由于偽歸檔并不真正歸檔系統(tǒng)信息,所以千萬要適時地對系統(tǒng)進行真正的歸檔操作。 只有在邏輯日志真正無用時才能將其刪除。利用onstat -l 可以看出所有的空閑日志被標(biāo)記為F。如果邏輯日志中包含事務(wù)回滾或快速恢復(fù)所需的信息,該邏輯日志是不能被刪除的。利用onstat -l命令可以看出接受當(dāng)前事務(wù)的日志被標(biāo)記為C。如果邏輯日志包括最后一個檢查點記錄,它也是不能被刪除的,只有當(dāng)檢查點記錄被寫入下一個日志忠并且上一個日志被備份后,該日志才能被刪除。利用onstat -l命令可以看出包含最后一個檢查點記錄的日志被標(biāo)記為L。用戶可以利用onmode -c命令強制寫檢查點記錄直至最后一個檢查點記錄被寫入所要求的日志為止。 onstat 工具 顯示動態(tài)服務(wù)器共享內(nèi)存中的信息 涉及少量磁盤I/O操作 將對系統(tǒng)性能的影響極小 提供關(guān)于系統(tǒng)有價值得信息 命令行交互式監(jiān)控系統(tǒng) 在本章中將講解onstat 的各種重要選項,請熟悉它們的使用 onstat命令是一種非常有用的系統(tǒng)實時監(jiān)控工具。該命令直接從共享內(nèi)存的數(shù)據(jù)結(jié)構(gòu)中讀取信息,報告當(dāng)時的系統(tǒng)狀況。通常onstat 命令不會進行磁盤I/O操作,也不會對系統(tǒng)資源加鎖,所以它對系統(tǒng)性能的影響減少到最小。簡言之,onstat是informix提供的一種交互式的系統(tǒng)監(jiān)控工具。 onstat 的一些常用選項: onstat -- 列出所有選項 onstat -i 設(shè)置進入交互模式 onstat - 顯示運行模式和數(shù)據(jù)庫引擎狀態(tài) onstat -g sub_option 運行多線索選項 onstat -r 每隔秒后重復(fù)選項 onstat -g act 顯示系統(tǒng)中所有的活動線索 onstat -g ath -r 2 每隔兩秒顯示系統(tǒng)中所有的活動的線索
系統(tǒng)監(jiān)控界面 sysmaster數(shù)據(jù)庫在系統(tǒng)初始化時自動創(chuàng)建 數(shù)據(jù)庫中包括指向系統(tǒng)共享內(nèi)存結(jié)構(gòu)數(shù)據(jù)字典信息 提供瞬時的系統(tǒng)性能和狀態(tài)信息 提供SQL界面了解數(shù)據(jù)字典信息 允許管理員將系統(tǒng)管理工作自動化 用于執(zhí)行重復(fù)性的監(jiān)控任務(wù)
系統(tǒng)監(jiān)控界面(system Monitoring Interface --SMI)是一種基于SQL的系統(tǒng)工具,用戶通過SMI可以非常方便地獲取系統(tǒng)信息。系統(tǒng)在初始化時,自動地在root dbapace創(chuàng)建sysmaster系統(tǒng)數(shù)據(jù)庫。每一系統(tǒng)包括一個sysmaster數(shù)據(jù)庫,該數(shù)據(jù)庫中的大部分表為虛表,是指向共享內(nèi)存中數(shù)據(jù)結(jié)構(gòu)的指針。利用SMI可以自動監(jiān)控系統(tǒng),特別是在執(zhí)行重復(fù)任務(wù)時。 sysmaster數(shù)據(jù)庫是只讀的,即不允許對其進行INSERT UPDATE,或DELETE操作。所有用戶都擁有對該數(shù)據(jù)庫的查詢權(quán)限。 在系統(tǒng)初始化后,用戶一定要注意檢查sysmaster數(shù)據(jù)庫是否建立成功。創(chuàng)建sysmaster數(shù)據(jù)庫的信息都保存在消息日志文件中(online.log)請注意由于所有的DDL語句都將被記錄在日志中,所以一定要在日志文件中留出足夠的空間以保證創(chuàng)建sysmaster所需。 sysmaster數(shù)據(jù)庫模式記錄在$INformIXDIR/etc/sysmaster.sql文件中。 oncheck 命令 檢查動態(tài)服務(wù)器磁盤上的數(shù)據(jù)結(jié)構(gòu) 定位并修補損壞的索引和數(shù)據(jù) 有磁盤I/O操作 一些操作在處理時將在表上加鎖 oncheck命令用于修復(fù)磁盤上損壞的索引和數(shù)據(jù)頁,該命令也可用于檢查并打印系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)。在使用oncheck時一定要當(dāng)心,因為改命令的某些選項會對表加共享鎖,例如:oncheck -pt 為防止對系統(tǒng)的損壞,系統(tǒng)會對所有共享內(nèi)存中的數(shù)據(jù)進行一次一致性檢查。一旦發(fā)現(xiàn)數(shù)據(jù)頁出現(xiàn)一致性錯誤或發(fā)現(xiàn)索引錯誤,系統(tǒng)將把問題和可能的解決方案(利用oncheck)寫入消息日志文件,并返回isam錯誤代碼105。 如果發(fā)現(xiàn)一致性錯誤信息,用戶應(yīng)該立即關(guān)閉系統(tǒng)并按消息日志文件中的提示運行oncheck。如果oncheck運行失敗,則應(yīng)嘗試卸出表再重新裝入;如果是索引得問題,則應(yīng)先刪除索引再重建之。如果所有這些步驟都失敗了,只有根據(jù)原有的系統(tǒng)歸檔備份來恢復(fù)系統(tǒng)。 下面的命令可以提供extend信息: oncheck -pe | | |