立即將系統從離線模式更改為在線模式。
(初始化數據庫,刪除所有dbspace和塊)Oninit-s(
脫機-& gt;static)on mode-ky offline on mode-s正常關機->靜態(在線到靜態,讓用戶完成處理)
onmode -u
立即關機-& gt;靜態(在線到靜態,所有用戶立即終止)
onmode -m
靜止->;Onlineonmode -z sid刪除mode -l上的壹個會話,以便在mode-c上將當前使用的邏輯日誌下移。
強制檢查點操作,即on monitor-& gt;force ckpt onstat-view server stat onstat-d view dbspace和chunk stat onstat-l
檢查邏輯日誌onstat -F以檢查頁面刷新和寫入磁盤的類型。從* * *共享內存緩沖區向磁盤寫入頁面有三種方式(fg:前臺寫入LRU:隊列寫入chunk:塊寫入)onstat-r
打印LRU隊列onstat -p顯示基本I/O和性能配置文件onstat -c查看onconfig文件onstat -m查看消息日誌onstat-f
查看受DATASKIP影響的dbspaceonstat -x查看事務onstat -k
顯示onstat上的所有活動鎖-g sub_option運行多線程選項。
onstat-g ses/SQL onstat-r & lt;值& gt每個
顯示系統中所有的活動線索。onstat -g ath -r 2每兩秒鐘顯示壹次系統中所有的活動線索。onstat -i交互模式>;sql & gtsql sidipcs
查看* * *內存狀態ipcrm
刪除* * *共享內存ipcrm -m id ipcrm -s id。
安大略指揮部:
1)零級(主或輔助)備份$ >on tape-s $ & gt;ontape -s -L 0$ >ontape -s -L 1$ >翁塔佩-s -L
2自動備份邏輯日誌文件$ >安大略省
3)連續邏輯日誌備份(如果壹個日誌文件寫滿,在線系統會自動備份壹個。您可以將磁帶插入磁帶機,讓IDS自動備份。
占用磁帶機)$ & gtontape -c
4)備份恢復(對應零級備份或壹級備份或二級備份)$ & gtOntape -r(有關詳細信息,請參見Ontape恢復文檔)
5)備份和恢復幾個DBSPACE(必須有邏輯日誌備份,否則物理恢復後就不行)$ & gtontape -r -D數據庫1數據庫2 .。。
6)配置HDR $ >時使用的物理恢復;ontape -p
7)修改數據庫日誌模式$ & gtOntario-s-b db _ name改為buffer_log,即緩沖日誌模式$ >;ontape -s -U數據庫名稱
修改為unbuffer_log,即無緩沖日誌模式$ >;ontape -s -N數據庫名稱
修改為無日誌模式的數據庫不包含日誌,也就是說,不支持事務,對數據庫的任何修改都不會記錄在邏輯日誌$ & gtontape -s -A數據庫名稱
更改為ansi日誌記錄模式,並且不能從該模式更改為其他模式,所以壹般不使用此項。Oncheck命令oncheck -pe
extendoncheck -ceoncheck -cr保留頁面on check-CD TBL空間數據行包括bitmaponcheck -ci
邏輯日誌上表索引數據庫的操作:以informix用戶身份登錄,$ onmode -uy(從聯機狀態切換到靜止狀態,所有用戶都會立即停止)。
Onmode -m(切換到online)$ on params-a-d logdbs-s 100000其中log DBS是dbspaces的名稱,-s100M0表示增加10000 m空間。
連續執行上述命令四次,這樣新的邏輯日誌空間為500M,可以使用onstat -l檢查邏輯日誌。接下來,刪除前三個舊的邏輯日誌。
請在刪除# ontape -s -L 0之前進行0級備份。執行此命令進行0級備份。建議:如果允許,可以每天在業務系統完成工作。
之後做壹個0級備份。備份結束後,對備份磁帶進行管理和標記。$ onparams -d -l logid
Logid是邏輯日誌的id號,可以通過onstat -l查看,然後根據id號刪除三個舊的邏輯日誌。
將當前使用的邏輯日誌下移$onmode -l III。DBSPACE和數據庫導入導出1。添加壹個新的dbspace:(datadbs,15M,offset 0)。
on spaces-c-d data DBS-p/home/Informix/data DBS-o 0-s 150002。
添加壹個塊:(data DBS _ chunk 1)dbspace-a data DBS-p/home/Informix/data DBS _ chunk 1-O 0-S 150003。刪除spaces-d上的上述組塊data DBS-p/home/Informix/data DBS _ chunk 1-o 0 4。刪除dbspace(只有當dbspace中沒有要刪除的數據時才能刪除)onspace -d datadbs導出數據庫:使用dbexport工具將數據卸載為文本,並將其加載到其他服務器上。(1)卸載正文的步驟如下:系統提示dbexport完成時,使用informix用戶註冊dbexport cleardb -o WORKDIR -ss!數據卸載完成。其中:-ss確保保存數據庫的數據庫構建信息或表構建信息,如日誌模式、初始盤區大小、鎖模式、表所在的dbspace等。-o指定用於卸載數據的目錄數據存儲在目錄cleardb.exp中,該目錄包含cleardb.sql和*.unl格式的文件。
提示信息存儲在dbexport.out文件中。
(2)加載文本的步驟如下:使用informix用戶註冊,確保數據庫處於On_Line狀態,服務器上沒有同名數據庫。
系統Dbimport完成時清除db -i WORKDIR!提示數據加載完成。其中:-我
指定從何處加載。如何在不破壞庫本身信息(如行級鎖等)的情況下,將數據庫卸載到磁帶設備上,加載到其他服務器上。)?1)
p;卸載的步驟如下:用DBA用戶註冊將存儲數據的磁帶插入磁帶機,確認磁帶和磁帶機完好可用。
當提示Dbexport完成時,dbexport clear db-t/dev/rmt/0m-b 512k-s 2048000k-ss!數據卸載完成。其中:-ss確保數據庫
保留數據庫構建信息或表構建信息,如日誌模式、初始盤區大小、鎖模式、表所在的dbspace -t磁帶設備/dev/rmt/0m-s。
磁帶容量2G -b塊大小512KB提示信息存儲在dbexport.out文件2)加載步驟如下:
使用DBA用戶註冊將卸載數據的磁帶放在磁帶機上,確認磁帶機正常,確認數據庫系統處於On_Line狀態。
服務器上沒有同名的數據庫。
$ dbimport clear db-t/dev/rmt/0m-b 512k-s 2048000k當系統dbimport完成提示數據已加載時!提示信息存儲在dbimport.out文件中。
重建表:1)dbschema-ddbname-ttabname-sstatabname.sql/*把表結構放到tabname.sql*/編輯這個文件,創建表table。
在語句末尾增加壹個新的區域長度,臨時將生成表索引的tabname.sql部分標記為描述語句,即在索引語句的前後加上“{}”。
例如:{在客戶(姓氏)上創建索引XL);在客戶(cust_nbr)上創建索引x2;}
最好稍後生成索引,因為表可以快速加載,索引可以在連續的磁盤空間中生成,這樣更有效。
2)以獨占方式鎖定表tabname
3)使用SQL Unload _ Unload to file _ or _ tape _ path select * from tabname Unload to "/usr/data/Unload/customer將表卸載到磁盤或磁帶。UNL“從客戶中選擇*;
檢查表中的行數(使用SQL中的Table/Info命令)以驗證卸載是否成功。將這個數字與SQL在加載完成後顯示的消息進行比較。使用它來驗證文件或磁帶路徑中的行數:wc -l文件或磁帶路徑。
4)刪除表格
5)使用dbacess生成表並運行tabname.sql此時不生成索引。
6)用SQL loadfrom或dbload重新加載表LOAD from file _ or _ tape _ path insert into tabname;load form "/usr/data/unload/customer . unl "插入客戶;
對於日誌數據庫,上面的load語句可能會產生壹個長事務或“多鎖”錯誤。
此時,建議使用dbload等實用程序將數據插入表中。dbload的-n選項在插入某壹行後強制提交工作(建議1000行)。
檢查表中的行數(使用SQL中的Table/Info命令)以驗證加載是否成功。7)要生成索引,運行第壹步中標記為描述語句的tabname.sql部分。
8)更新tabname上的表統計信息;
語法oninit [-s] [-i] [-p] [-y]
Oninit將系統從離線模式更改為在線模式。
Oninit -s將系統從離線模式更改為靜止模式。
Oninit -i初始化系統
Oninit -p在* * *
保存初始化時,不要搜索和刪除臨時表。
Oninit -y自動對提示回答yes。
Oninit -v添加該選項以顯示Oninit進程。
Oninit -鍵入此命令獲取幫助。
oninit命令用於更改系統的運行模式。I選項用於初始化系統的根dbspace。註意,壹旦root-dbspace被初始化,就意味著整個數據庫系統被初始化。
如果用戶希望在計算機啟動時自動啟動動態服務器系統,請將oninit命令(不帶任何選項)添加到系統初始化文件中(很多UNIX系統中為/etc/rc)。
Onmode命令
語法:onmode [-k] [-m] [-s] [-u] [-y]
Onmode -k執行立即關機,將系統更改為離線模式。
Onmode -m將系統從靜態模式更改為在線模式。
Onmode -s執行正常關機。
Onmode -u在dwon上執行立即關閉。
Onmode -y自動對提示回答yes。
onmode命令也用於改變動態服務器的運行模式。除了以上選項,onmode還有很多與改變系統運行模式無關的選項。
使用onspaces命令創建數據空間
語法:on spaces-c[-b][-d][-z][-m][-o][-p][-s][-t]
-c創建blobspace或dbspace。
-b博客空間博客空間名稱
-d數據庫空間數據庫空間名稱
-g頁面大小blob頁面大小
由-m鏡像設備設置的完整路徑名和偏移量(KB)。
-o offset offset (KB)
-p路徑名區塊設備的完整路徑名。
-s size數據庫空間大小(KB)
-t創建臨時數據庫空間
onspaces命令用於創建數據空間、臨時空間和blob空間來存儲blob數據。鍵入onspaces -可以獲得此命令的聯機幫助。
使用onstat -D或onstat -d,可以看到系統中關於數據空間的重要信息。包括塊的狀態、空閑以及每個塊讀取和寫入的次數。
系統中可能包含的多個系統空間,特別是數據分段後,我們建議用戶使用命令行創建數據空間。
您可以使用以下命令創建數據空間:
onspaces -c -d數據數據庫1 -o 0 -p /dev/rrvol3 -s 60000
您可以通過以下方式創建臨時數據空間:
on spaces-c-d tempdb 1-t-o 0-p/dev/RR vol 5-s 80000
在系統中,臨時數據空間非常重要。通常,多個臨時數據空間應該分布在獨立的物理設備上。
使用onspaces命令刪除數據空間。
添加或刪除塊
語法:onspaces -a -d [-m] [-o] [-p]
spacename向dbspace添加壹個塊。
-m路徑名鏡像設備的完整路徑名和偏移量(KB)。
-o offset主設備的偏移量(KB)
P & gt
-p路徑名區塊設備的完整路徑名。
-s大小塊大小
-d空間名稱刪除塊
-o偏移量區塊設備的偏移量(KB)
Onspaces不僅可以創建數據空間,還可以刪除數據空間、臨時數據空間或用於存儲blob數據的空間。在刪除壹個數據空間的時候,首先要保證它是沒有用的,也就是數據空間上沒有數據庫或者表。
要刪除數據空間,請鍵入以下命令:on spaces-d dbspace _ name/blob space _ name。
數據空間最初由壹個塊(第壹個塊)組成。壹旦空間耗盡,用戶必須添加壹個塊。為了提高系統性能,用戶在給數據空間分配塊時需要進行計算,以確保其大小能夠滿足未來的需求。否則,在添加區塊時,它可能與前壹個區塊在物理上不相鄰,這將增加讀取數據的時間。如何計算空間需求將在後面的章節中描述。可以使用onspaces命令在數據空間中添加或刪除塊。此外,使用此命令可以完成以下任務:啟動鏡像、停止鏡像或更改區塊的狀態。
例如,您可以使用以下命令將區塊添加到數據空間:
空間數據數據庫1-0 60002-p/dev/RR vol 3-s 60000
另壹個例子是可以通過以下方式從數據空間中刪除塊:
onspaces -d數據數據庫1-o 60002-p/dev/RR vol 3-s 60000
Onparams命令
語法:onparams -a -d -p [-d] [-s] [-l]
-新的邏輯日誌
-d dbspace指定存儲日誌的dbspace。
-s size新邏輯日誌的大小(KB)
-d刪除邏輯日誌
-l logid指定刪除邏輯日誌。
-p更改物理日誌
-d dbspace存儲新物理日誌的dbspace的名稱。
-s size物理日誌大小(KB)
初始化時,系統自動在根dbspace中創建邏輯日誌和物理日誌。在DBMS系統中,尤其是OLTP環境下,對數據庫的操作非常頻繁,日誌中必須記錄大量的信息,所以用戶最好將多個日誌文件分布在不同的設備上。有壹個很簡單的方法:根據需要的大小創建壹個邏輯日誌,同時創建壹個更小的物理日誌。系統初始化後,將物理日誌移動到其他設備。如何確定所需的物理日誌大小將在後面的章節中詳細介紹。使用onstat -l命令,我們可以看到系統中所有新的邏輯日誌都被標記為a,這些邏輯日誌在系統被歸檔之前不會被真正使用。有壹種簡單的方法可以激活這些邏輯日誌:執行“偽”歸檔。具體步驟如下:將參數TAPEDEV設置為/dev/null,運行ontape -s壹次。您還可以執行onbar -F命令。因為偽歸檔並不真正歸檔系統信息,所以有必要及時歸檔系統。
只有當邏輯日誌真的沒用的時候,才可以刪除。使用onstat -l,我們可以看到所有的空閑日誌都被標記為f,如果邏輯日誌包含事務回滾或快速恢復所需的信息,那麽邏輯日誌就不能被刪除。使用onstat -l命令,可以看到接受當前事務的日誌被標記為c,如果邏輯日誌包含最後壹個檢查點記錄,則不能刪除它。只有將檢查點記錄寫入下壹個日誌,並備份上壹個日誌,才能刪除日誌。使用onstat -l命令,您可以看到包含最後壹個檢查點記錄的日誌被標記為l
onmode -c命令強制寫入檢查點記錄,直到最後壹個檢查點記錄被寫入所需的日誌。
Onstat工具
顯示動態服務器內存中的信息* * *
涉及少量磁盤的I/O操作。
對系統性能幾乎沒有影響。
提供關於系統的有價值的信息
命令行交互監控系統
在本章中,我們將解釋onstat的各種重要選項,因此請熟悉它們的使用。
Onstat命令是壹個非常有用的系統實時監控工具。該命令直接從* * *共享內存的數據結構中讀取信息,並報告當時的系統狀態。通常,onstat命令不執行磁盤I/O操作或鎖定系統資源,因此它對系統性能的影響最小。簡而言之,onstat是informix提供的交互式系統監控工具。
onstat的壹些常見選項:
Onstat -列出所有選項。
Onstat -i設置進入交互模式。
onstat-顯示運行模式和數據庫引擎狀態。
Onstat -g sub_option運行多線程選項。
Onstat -r每秒重復該選項。
Onstat-gacact顯示系統中所有的活動線索。
Onstat -g ath -r 2每兩秒鐘顯示壹次系統中所有的活動線索。
系統監控界面
系統初始化時會自動創建Sysmaster數據庫。
數據庫包括指向系統內存結構的字典信息。
提供即時的系統性能和狀態信息。
提供SQL接口來理解數據字典信息
允許管理員自動化系統管理。
用於執行重復性監控任務。
系統監控接口(SMI)是壹個基於SQL的系統工具。
用戶可以通過SMI非常方便地獲得系統信息。當系統初始化時,sysmaster系統數據庫會自動在根數據庫空間中創建。
每個系統都包括壹個sysmaster數據庫,數據庫中的大多數表都是虛擬表,虛擬表是指向內存中數據結構的指針。SMI可用於自動監控系統,尤其是在執行重復性任務時。
sysmaster數據庫是只讀的,即不允許執行插入、更新或刪除操作。所有用戶都有權查詢數據庫。
系統初始化後,用戶壹定要註意檢查sysmaster數據庫是否建立成功。創建sysmaster數據庫的信息保存在消息日誌文件(online.log)中。請註意,由於所有DDL語句都將記錄在日誌中,
所以壹定要在日誌文件中留出足夠的空間,以保證sysmaster的創建。
sysmaster數據庫模式記錄在$INFORMIXDIR/etc/sysmaster.sql文件中。
Oncheck命令
檢查動態服務器磁盤上的數據結構。
找到並修復損壞的索引和數據。
有磁盤I/O操作。
有些操作在處理時會鎖定表。
oncheck命令用於修復磁盤上損壞的索引和數據頁。它還可以用來檢查和打印系統的數據結構。使用oncheck時要小心,因為更改命令的某些選項會鎖定表,比如oncheck -pt。
& gt
為了防止損壞系統,系統將對所有* * *內存中的數據進行壹致性檢查。壹旦發現數據頁存在壹致性錯誤或索引錯誤,系統會將問題和可能的解決方案(使用oncheck)寫入消息日誌文件,並返回isam錯誤代碼105。
如果發現壹致性錯誤消息,用戶應立即關閉系統,並按照消息日誌文件中的提示運行oncheck。如果oncheck失敗,您應該嘗試卸載該表並重新加載它;如果是索引問題,應該先刪除索引,然後重建。如果這些步驟都失敗了,系統只能按照原來的系統存檔備份進行恢復。
以下命令可以提供擴展信息:
在線檢查
在onstat–l中,標誌位指示邏輯日誌的狀態。
a表示已經添加了壹個還不能使用的新日誌。
f表示可以使用的空閑日誌。通常,此狀態僅在0級備份後可用。
u表示已經使用的邏輯日誌。
l表示當前日誌文件包含檢查點
c表示當前日誌文件正在被使用。
b表示已經備份的日誌文件。