informix入門基礎(chǔ)學(xué)習(xí)教程_第1頁
informix入門基礎(chǔ)學(xué)習(xí)教程_第2頁
informix入門基礎(chǔ)學(xué)習(xí)教程_第3頁
informix入門基礎(chǔ)學(xué)習(xí)教程_第4頁
informix入門基礎(chǔ)學(xué)習(xí)教程_第5頁
已閱讀5頁,還剩131頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、 一、簡介及安裝配置一、簡介及安裝配置 Informix 產(chǎn)品簡介 Informix SE 特點 Informix Online 特點 基本概念 系統(tǒng)安裝 系統(tǒng)配置 二、數(shù)據(jù)庫管理二、數(shù)據(jù)庫管理 系統(tǒng)管理 系統(tǒng)監(jiān)控 系統(tǒng)備份/恢復(fù) 系統(tǒng)排錯 三、系統(tǒng)維護三、系統(tǒng)維護 維護工作簡介 日常維護 Informix 的ODBC配置 四、應(yīng)用開發(fā)四、應(yīng)用開發(fā) SQL、ESQL/C應(yīng)用開發(fā) 提高系統(tǒng)效率的幾點建議 總結(jié)答疑總結(jié)答疑 第一課第一課簡介、基礎(chǔ)知識簡介、基礎(chǔ)知識 安裝、配置介紹安裝、配置介紹 第二課第二課數(shù)據(jù)庫系統(tǒng)管理數(shù)據(jù)庫系統(tǒng)管理 第三課第三課 系統(tǒng)維護、系統(tǒng)維護、ODBC配置配置 第四課第四

2、課SQL語言簡介語言簡介 Informix應(yīng)用開發(fā)簡介應(yīng)用開發(fā)簡介 總結(jié)答疑總結(jié)答疑 主要內(nèi)容:主要內(nèi)容: Informix產(chǎn)品介紹 Informix基本概念 Informix的安裝 Informix系統(tǒng)配置 產(chǎn)品介紹產(chǎn)品介紹 SE Online5.0第一個C/S版本 Online6.0劃時代版本 Online7.x IDS Online8.x IDS Online9.x IUS 開發(fā)工具:4GL、ESQL/C 組成:組成: 存儲結(jié)構(gòu):采用文件系統(tǒng)實現(xiàn)存儲結(jié)構(gòu):采用文件系統(tǒng)實現(xiàn) 數(shù)據(jù)庫文件 *.dbs 數(shù)據(jù)文件*.dat 索引文件*.idx. 數(shù)據(jù)庫服務(wù)進程:接收前端交易信息,對數(shù)據(jù)庫服務(wù)進程

3、:接收前端交易信息,對文件直接操作完成。文件直接操作完成。 特點:特點: 使用進程空間緩沖數(shù)據(jù),對內(nèi)存的需求較使用進程空間緩沖數(shù)據(jù),對內(nèi)存的需求較大大 用戶數(shù)多時,服務(wù)進程多,性能不好用戶數(shù)多時,服務(wù)進程多,性能不好 采用文件鎖,數(shù)據(jù)一致性差;采用文件鎖,數(shù)據(jù)一致性差; 組成:組成: 數(shù)據(jù)庫服務(wù)進程數(shù)據(jù)庫服務(wù)進程 采用進程方式響應(yīng)請求 進程數(shù)量有限, 共享內(nèi)存共享內(nèi)存 大小需要預(yù)先確定 磁盤結(jié)構(gòu)磁盤結(jié)構(gòu) 支持直接磁盤管理 特點:特點: 引入了共享內(nèi)存機制引入了共享內(nèi)存機制 引入磁盤管理機制,提高處理效率引入磁盤管理機制,提高處理效率 啟動進程啟動進程100個,不適合大數(shù)據(jù)量處理個,不適合大數(shù)據(jù)

4、量處理 只適用于只適用于OLTP系統(tǒng),不適用于系統(tǒng),不適用于DSS系統(tǒng)系統(tǒng) 組成:組成: 數(shù)據(jù)庫服務(wù)進程數(shù)據(jù)庫服務(wù)進程 引入多線索機制處理請求 順序調(diào)度策略 共享內(nèi)存共享內(nèi)存 可動態(tài)增長的共享內(nèi)存 磁盤結(jié)構(gòu)磁盤結(jié)構(gòu) 與5.0完全相同進程結(jié)構(gòu) VP(virtual Process) 虛擬處理器虛擬處理器 VPC(virtual Process Class)虛擬處理器類虛擬處理器類Informix基本概念基本概念1、Informix系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)ServerShared MemoryDiskCPU VPLIO VPTLI VPResident portionBuffer池和其他系統(tǒng)數(shù)據(jù)結(jié)構(gòu) Vi

5、rtual portionThread控制信息 Message portionClient和server間通訊Informix基本概念基本概念1、Informix系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)Virtual ProcessVP實際上是一些實際上是一些daemon進程(在進程(在UNIX下,進程名為下,進程名為oninit););VP分為很多類;一個分為很多類;一個VP是該類的一個實例;某個是該類的一個實例;某個VP只能處理某類只能處理某類thread的請求;的請求;Shared Memory分為三類:分為三類:resident、virtual和和message portion;resident用來從磁盤用來

6、從磁盤cache數(shù)據(jù)到內(nèi)存;數(shù)據(jù)到內(nèi)存;virtual用來維護用來維護VP使用的系使用的系統(tǒng)資源;統(tǒng)資源;message用來用來shared memory通訊方式下通訊方式下client和和server之間之間通訊;通訊;Disk用來存放系統(tǒng)管理數(shù)據(jù)和數(shù)據(jù)庫數(shù)據(jù)信息;用來存放系統(tǒng)管理數(shù)據(jù)和數(shù)據(jù)庫數(shù)據(jù)信息;Informix基本概念基本概念2、Shared memory(Resident Portion):Locks structureShared memoryHeaderMax LogsStructureLRU QueuesBuffer poolsLogical LogsBuffer(3)Phy

7、sical LogBuffer(2)Buffer pool是Resident中的主體,是數(shù)據(jù)緩沖區(qū);Logical Log Buffer和Physical Log Buffer分別是物理日志 和邏輯日志的數(shù)據(jù)緩沖區(qū); Logical Log Buffer共三個, 每個32K大; Physical Log Buffer共兩個;采用LRU(Least Recently Used)來對buffer進行管理,LRU 分為兩種:FLRU和MLRU。FLRU是空閑的buffer列表, MLRU是使用過的buffer列表。系統(tǒng)剛初始化時,所有buffer均在FLRU中;當(dāng)用戶線程 申請buffer,系統(tǒng)將從

8、FLRU中選取空閑的buffer;在用戶 線程釋放該buffer時,如果Buffer被更改,將轉(zhuǎn)移到MLRU 中Most Recently Used Buffer,如果不被更改,將轉(zhuǎn)移到 FLRU中的Most Recently Used Buffer。Informix基本概念基本概念2、Shared memory(Virtual Portion):Virtual Portion包含包含50多種多種pool(任一個任一個pool都有特殊用途,都有特殊用途,pool大小以大小以8k為單位為單位),如:,如:用戶會話數(shù)據(jù)、數(shù)據(jù)字典信息、存儲過程、線程信息等;用戶會話數(shù)據(jù)、數(shù)據(jù)字典信息、存儲過程、線程

9、信息等;Virtual Portion部分的大小可以動態(tài)增加;部分的大小可以動態(tài)增加; Virtual Portion的初始大小由的初始大小由Initial Segment表示,以后動態(tài)增加的部分稱做表示,以后動態(tài)增加的部分稱做Additional Segment。Shared memory(Message Portion):當(dāng)當(dāng)client和和server之間采用之間采用shm通訊方式時,使用通訊方式時,使用Message Portion用來交用來交換通訊信息;換通訊信息;Informix基本概念基本概念3、Virtual Process(VP):VP都是一些都是一些daemon進程,在進程

10、,在UNIX下進程名都是下進程名都是oninit(操作系統(tǒng)下,看操作系統(tǒng)下,看到的到的oninit個數(shù)應(yīng)該和個數(shù)應(yīng)該和VP的個數(shù)一樣的個數(shù)一樣);查看;查看VP狀態(tài)使用命令狀態(tài)使用命令onstat glo;VP劃分為很多類,共有以下幾類:劃分為很多類,共有以下幾類:CPU、PIO、LIO、AIO、ADT、MSC、SHM、TLI、SOC、ADM、OPT、JVP;VP可以動態(tài)地增加和減少,可以動態(tài)減少的可以動態(tài)地增加和減少,可以動態(tài)減少的VP只有只有CPU類,動態(tài)改變類,動態(tài)改變 VP使用系統(tǒng)命令使用系統(tǒng)命令onmode p + | - Number vp_name;VP運行在運行在server端

11、,來自端,來自client端的請求稱為端的請求稱為thread,Informix IDS是多線是多線程結(jié)構(gòu)的;程結(jié)構(gòu)的;兩個概念:兩個概念:fan-in是指一個是指一個VP可以多個客戶端請求;可以多個客戶端請求;fan-out是指多個是指多個VP可以處理來自同一個客戶端請求;可以處理來自同一個客戶端請求;Informix基本概念基本概念3、Virtual Process (VP):server和和client連接過程:連接過程:client請求接受來自client的全部請求是新的session?ListenPollySession ControlBlockThread ControlBlock

12、Sqlexecn由sqlexec向client端發(fā)送信息Informix基本概念基本概念3、Virtual Process (VP):server和和client連接過程:連接過程:poll線程負(fù)責(zé)接受來自線程負(fù)責(zé)接受來自client端的請求,如果端的請求,如果server和和client連接方式是通連接方式是通過過TCP/IP,則,則poll會偵聽一定的端口;如果是通過會偵聽一定的端口;如果是通過shared memory方式,方式,poll會從共享內(nèi)存中的會從共享內(nèi)存中的message portion獲得信息;獲得信息;如果如果client請求是一個新的請求是一個新的session,則,則

13、poll會激活會激活listen線程,線程,listen會為會為該客戶端建立用戶線程該客戶端建立用戶線程(Thread Control Block),同時建立該用戶,同時建立該用戶session(Session Control Block),并分配唯一的,并分配唯一的session標(biāo)識標(biāo)識session-id;由相應(yīng)由相應(yīng)VP來處理客戶請求,在處理完成后,來處理客戶請求,在處理完成后,server向向client端的通訊信端的通訊信息由息由sqlexec線程完成;線程完成;VPC 說說明明 CPU 所有用戶線索和一些系統(tǒng)線索可運行在這一類上。VP 數(shù)可配置,但不能超過物理 CPU 個數(shù)。 PI

14、O 運行寫物理日志的內(nèi)部線索。個 vp。 LIO 運行寫邏輯日志的內(nèi)部線索。個 vp。 AIO 運行除寫日志外的所有磁盤 I/O 操作的內(nèi)部線索。VP 數(shù)可配置,要根據(jù)物理磁盤數(shù)來定。 ADT 運行安全審計線索。vp。 MSC 運行執(zhí)行雜類任務(wù)的線索。個 vp。 SHM 運行用于共享內(nèi)存通訊的內(nèi)部線索??膳渲?vp 數(shù)。 TLI 運行用于 TLI 網(wǎng)絡(luò)通訊的內(nèi)部線索??膳渲?vp 數(shù)。 SOC 運行用于 SOC 網(wǎng)絡(luò)通訊的內(nèi)部線索??膳渲?vp 數(shù)。 ADM 定時器。個 vp。 OPT 處理將 BLOB 數(shù)據(jù)轉(zhuǎn)送至光盤子系統(tǒng)。個 vp。 Informix基本概念基本概念3、Virtual Pr

15、ocess (VP):IDS中,中,I/O種類:種類:KAIO這種方式下,對這種方式下,對I/O的讀寫是通過操作系統(tǒng)的讀寫是通過操作系統(tǒng)(特定平臺支持特定平臺支持)完成的,避完成的,避免傳統(tǒng)讀寫方式下的等待免傳統(tǒng)讀寫方式下的等待I/O完成后再進行處理的方法,而是向完成后再進行處理的方法,而是向I/O發(fā)送發(fā)送讀寫請求后繼續(xù)做其他處理。讀寫請求后繼續(xù)做其他處理。KAIO只對裸設(shè)備有效,運行在只對裸設(shè)備有效,運行在CPU VP中;中;AIO采用傳統(tǒng)的采用傳統(tǒng)的I/O讀寫方式,運行在讀寫方式,運行在AIO VP中;如果沒有中;如果沒有KAIO,則,則AIO負(fù)負(fù)責(zé)全部的責(zé)全部的I/O讀寫,如果讀寫,如果

16、KAIO存在,則存在,則AIO負(fù)責(zé)所有負(fù)責(zé)所有cooked file上的上的I/O操操作;作;Informix基本概念基本概念4、Disk概念:概念:chunk是一塊連續(xù)的物理存儲空間,是構(gòu)成邏輯存儲空間是一塊連續(xù)的物理存儲空間,是構(gòu)成邏輯存儲空間dbspace的基的基本單位;本單位;chunk可以對應(yīng)一個裸設(shè)備可以對應(yīng)一個裸設(shè)備(Raw Device),也可以對應(yīng)一個熟,也可以對應(yīng)一個熟文件文件(Cooked File操作系統(tǒng)文件操作系統(tǒng)文件);chunk由絕對路徑名和偏移量來唯一由絕對路徑名和偏移量來唯一標(biāo)識;標(biāo)識;page是是I/O操作的基本單位,操作的基本單位,chunk是由是由pag

17、e構(gòu)成;構(gòu)成;page的大小在不同的大小在不同的操作系統(tǒng)平臺固定不變;的操作系統(tǒng)平臺固定不變;page有自己的內(nèi)部結(jié)構(gòu);有自己的內(nèi)部結(jié)構(gòu);tblspaces對應(yīng)數(shù)據(jù)庫表;一個對應(yīng)數(shù)據(jù)庫表;一個tblspaces對應(yīng)一張表所使用的所有對應(yīng)一張表所使用的所有page;tblspaces的空間是由一個或多個連續(xù)的存儲空間構(gòu)成,這些連續(xù)的存的空間是由一個或多個連續(xù)的存儲空間構(gòu)成,這些連續(xù)的存儲空間稱做儲空間稱做extent。Informix基本概念基本概念4、Disk概念:概念:dbspace是一個或多個是一個或多個chunk的邏輯組合,構(gòu)成的邏輯組合,構(gòu)成dbspace的第一個的第一個chunk叫做

18、主叫做主chunk,其他的成為輔,其他的成為輔chunk;數(shù)據(jù)庫必須在一個;數(shù)據(jù)庫必須在一個dbspace上創(chuàng)建;上創(chuàng)建;系統(tǒng)初始會對應(yīng)一個系統(tǒng)初始會對應(yīng)一個dbspace,一般叫做,一般叫做rootdbs,用來存放,用來存放DBMS信息,信息,也可以存放數(shù)據(jù)信息;也可以存放數(shù)據(jù)信息;blobspaces是一種特殊的是一種特殊的dbspace,用來存放大數(shù)據(jù),用來存放大數(shù)據(jù)(Text類型和類型和Binary類型類型)信息;信息;blobspace下的下的page稱做稱做blob page,它的大小是可以調(diào)整的,它的大小是可以調(diào)整的,一般一個一般一個blobpage是由一個或者多個是由一個或者多

19、個page構(gòu)成;構(gòu)成;mirroring(鏡像鏡像)是一種數(shù)據(jù)保護手段,在是一種數(shù)據(jù)保護手段,在 dbspace級別才能做級別才能做mirror;Informix基本概念基本概念4、Disk概念:概念:logical log是由一些是由一些(最少最少3個個)邏輯日志文件構(gòu)成,這些文件在物理存儲邏輯日志文件構(gòu)成,這些文件在物理存儲上是連續(xù)的;邏輯日志會存儲數(shù)據(jù)庫的修改信息上是連續(xù)的;邏輯日志會存儲數(shù)據(jù)庫的修改信息(DML)和一些和一些DBMS系系統(tǒng)事件信息統(tǒng)事件信息(包括包括DDL和和checkpoint事件事件),主要用來日志型數(shù)據(jù)庫的邏,主要用來日志型數(shù)據(jù)庫的邏輯恢復(fù);輯恢復(fù);physica

20、l log是由一個或兩個物理日志文件構(gòu)成,這些文件在物理存儲是由一個或兩個物理日志文件構(gòu)成,這些文件在物理存儲上是連續(xù)的;物理日志用來存放讀入內(nèi)存頁面的備份信息上是連續(xù)的;物理日志用來存放讀入內(nèi)存頁面的備份信息(Before Image);checkpoint是一個系統(tǒng)事件,用來同步磁盤信息和內(nèi)存信息;是一個系統(tǒng)事件,用來同步磁盤信息和內(nèi)存信息; 安裝時注意:安裝時注意: 安裝配置之前需做系統(tǒng)規(guī)劃,比如數(shù)據(jù)庫用戶、安裝配置之前需做系統(tǒng)規(guī)劃,比如數(shù)據(jù)庫用戶、權(quán)限等的設(shè)置,數(shù)據(jù)庫存儲空間的規(guī)劃等權(quán)限等的設(shè)置,數(shù)據(jù)庫存儲空間的規(guī)劃等 先安裝工具軟件先安裝工具軟件,后安裝后安裝IDS 先安裝低版本先安

21、裝低版本,后安裝高版本后安裝高版本 需以需以root注冊后,進行安裝注冊后,進行安裝 安裝前環(huán)境變量的設(shè)置,比如:安裝前環(huán)境變量的設(shè)置,比如:INFORMIXDIR等,需設(shè)置后進行安裝IDS 插入插入IDS光盤光盤 # mount /dev/cd0 /mnt # cpio icdvBum=100對于對于OLTP應(yīng)用來講,增加共享內(nèi)存中應(yīng)用來講,增加共享內(nèi)存中Resident Portion中的中的buffer數(shù)量利數(shù)量利于提高處理的性能,但是對于于提高處理的性能,但是對于DSS應(yīng)用來講,一般對數(shù)據(jù)庫的讀操作應(yīng)用來講,一般對數(shù)據(jù)庫的讀操作都是順序讀,所以不需要太多的都是順序讀,所以不需要太多的b

22、uffer來做數(shù)據(jù)緩沖,所以增大來做數(shù)據(jù)緩沖,所以增大buffer的數(shù)量對的數(shù)量對DSS應(yīng)用意義不大;應(yīng)用意義不大;排錯初步排錯初步1、錯誤類型及排錯方法、錯誤類型及排錯方法對于對于DSS應(yīng)用,應(yīng)用,virtual portion中含有的很多中含有的很多pool,如:,如:sort pool、join pool,對,對DSS的性能影響很大,相反,對的性能影響很大,相反,對OLTP應(yīng)用就沒有很大作用;應(yīng)用就沒有很大作用;如果如果IDS同時支持同時支持OLTP應(yīng)用和應(yīng)用和DSS應(yīng)用,可通過應(yīng)用,可通過DS_TOTAL_MEMORY參參數(shù)來協(xié)調(diào)數(shù)來協(xié)調(diào)OLTP和和DSS對對Virtual Porti

23、on共享內(nèi)存的資源分配;如果共享內(nèi)存的資源分配;如果DSS應(yīng)應(yīng)用比較重要,可以把這個參數(shù)的值設(shè)大一些;用比較重要,可以把這個參數(shù)的值設(shè)大一些;排錯初步排錯初步1、錯誤類型及排錯方法、錯誤類型及排錯方法chunk的屬性和屬主:的屬性和屬主:首先,應(yīng)該注意首先,應(yīng)該注意chunk的屬主一定是的屬主一定是informix用戶,屬主是用戶,屬主是informix組;組;其次,在有些操作系統(tǒng)平臺,盡量使用其次,在有些操作系統(tǒng)平臺,盡量使用raw device,而不要使用,而不要使用cooked file,這樣會大大提高,這樣會大大提高I/O讀寫速度;讀寫速度;有關(guān)臨時有關(guān)臨時dbspaceIDS運行時,

24、會產(chǎn)生很多臨時表和臨時數(shù)據(jù),如果運行時,會產(chǎn)生很多臨時表和臨時數(shù)據(jù),如果IDS中存在臨時中存在臨時dbspace,則會把這些臨時數(shù)據(jù)存放在臨時則會把這些臨時數(shù)據(jù)存放在臨時dbspace中,如果不存在臨時中,如果不存在臨時dbspace,則會使用則會使用root dbspace或者是該數(shù)據(jù)庫所在的或者是該數(shù)據(jù)庫所在的dbspace存放臨時數(shù)據(jù),所存放臨時數(shù)據(jù),所以,應(yīng)盡量使用臨時以,應(yīng)盡量使用臨時dbspace;排錯初步排錯初步1、錯誤類型及排錯方法、錯誤類型及排錯方法INFORMIXSERVER、DBSERVER和和sqlhosts文件文件如果在連接如果在連接IDS server時出現(xiàn)問題,一

25、般是由于以上三個時出現(xiàn)問題,一般是由于以上三個 變量定義不一變量定義不一致造成的,這時,要檢查它們定義的一致性;致造成的,這時,要檢查它們定義的一致性;對于長事務(wù):對于長事務(wù):LTXHWM表示當(dāng)長事務(wù)占用表示當(dāng)長事務(wù)占用LTXHWM的的logical log空間時,該事務(wù)將自動空間時,該事務(wù)將自動rollback;LTXEHWN表示當(dāng)長事務(wù)占用表示當(dāng)長事務(wù)占用LTXEHWM的的logical log空間時,數(shù)空間時,數(shù)據(jù)庫不做其他的操作只能允許該長事務(wù)做據(jù)庫不做其他的操作只能允許該長事務(wù)做rollback。如果。如果IDS系統(tǒng)中存在系統(tǒng)中存在上事務(wù),所以應(yīng)調(diào)整這兩個參數(shù)為適當(dāng)值;上事務(wù),所以應(yīng)

26、調(diào)整這兩個參數(shù)為適當(dāng)值;排錯初步排錯初步1、錯誤類型及排錯方法、錯誤類型及排錯方法對于對于logical log:Logical log可以被循環(huán)使用,必須滿足以下條件:可以被循環(huán)使用,必須滿足以下條件:該該log被備份完畢;被備份完畢;該該log不含有上一次不含有上一次checkpoint信息;信息;該該log目前不正在被使用;目前不正在被使用;為保證為保證logical log的循環(huán)使用,要經(jīng)常做備份,可以使用的循環(huán)使用,要經(jīng)常做備份,可以使用ontape進行進行continuous 備份,并啟用備份,并啟用automatic備份;備份;排錯初步排錯初步1、錯誤類型及排錯方法、錯誤類型及排

27、錯方法關(guān)于數(shù)據(jù)一致性:關(guān)于數(shù)據(jù)一致性:oncheck cD | -cd檢查數(shù)據(jù)一致性檢查數(shù)據(jù)一致性oncheck cI | -ci檢查檢查index一致性一致性oncheck cr檢查系統(tǒng)保留頁檢查系統(tǒng)保留頁oncheck cc檢查系統(tǒng)數(shù)據(jù)庫信息檢查系統(tǒng)數(shù)據(jù)庫信息 排錯實例排錯實例 主要內(nèi)容:主要內(nèi)容: Informix 日常維護 Informix ODBC配置 online.logonline.log日志文件分析日志文件分析 數(shù)據(jù)庫日志文件數(shù)據(jù)庫日志文件online.logonline.log,可以查看數(shù)據(jù)庫運,可以查看數(shù)據(jù)庫運行情況,并可通過其對數(shù)據(jù)庫的參數(shù)進行調(diào)整,行情況,并可通過其對數(shù)

28、據(jù)庫的參數(shù)進行調(diào)整,包括包括checkpointcheckpoint的時間、邏輯日志填充時間、虛的時間、邏輯日志填充時間、虛擬共享內(nèi)存的條目。擬共享內(nèi)存的條目。/informix/online.log/informix/online.log文件文件記錄著記錄著onlineonline系統(tǒng)的啟動信息、參數(shù)調(diào)整信息、系統(tǒng)的啟動信息、參數(shù)調(diào)整信息、檢查點信息、錯誤信息和關(guān)閉系統(tǒng)信息等。當(dāng)數(shù)檢查點信息、錯誤信息和關(guān)閉系統(tǒng)信息等。當(dāng)數(shù)據(jù)庫開始在主控臺上有錯誤信息出現(xiàn)時,希望能據(jù)庫開始在主控臺上有錯誤信息出現(xiàn)時,希望能將錯誤信息記錄下來,同時將錯誤信息出現(xiàn)前將錯誤信息記錄下來,同時將錯誤信息出現(xiàn)前5 5天

29、天內(nèi)的內(nèi)的online.logonline.log日志文件打印出來,以便分析。日志文件打印出來,以便分析。 OnstatOnstat: onstat應(yīng)用命令能讀取應(yīng)用命令能讀取online動態(tài)服務(wù)器動態(tài)服務(wù)器共享內(nèi)存結(jié)構(gòu),報告共享內(nèi)存運行情況。共享內(nèi)存結(jié)構(gòu),報告共享內(nèi)存運行情況。該命令運行時,不會影響數(shù)據(jù)庫操作,但該命令運行時,不會影響數(shù)據(jù)庫操作,但不能報告不能報告I/O磁盤錯誤。可以用磁盤錯誤??梢杂胦nstat -a /tmp/inf命令,將目前命令,將目前online系統(tǒng)的配置情系統(tǒng)的配置情況及運行情況存于況及運行情況存于/tmp/inf文件中,將文件中,將inf文文件打印出來,以便分析

30、。件打印出來,以便分析。 OnstatOnstat: 監(jiān)控緩沖區(qū)及監(jiān)控預(yù)讀監(jiān)控緩沖區(qū)及監(jiān)控預(yù)讀onstat p onstat p 可列出可列出從共享內(nèi)存緩沖池中讀寫的從共享內(nèi)存緩沖池中讀寫的%cached%cached值,同值,同時可監(jiān)測預(yù)讀配置參數(shù)的有效性,以及共時可監(jiān)測預(yù)讀配置參數(shù)的有效性,以及共享內(nèi)存中各種享內(nèi)存中各種buffer buffer 的情況的情況 onstat lonstat l查看數(shù)據(jù)庫邏輯日志是否備份查看數(shù)據(jù)庫邏輯日志是否備份到磁帶上到磁帶上 onstat g glo onstat g glo 顯示關(guān)于顯示關(guān)于OnlineOnline系統(tǒng)中正在運行的系統(tǒng)中正在運行的VPV

31、P的的CPUCPU使用情況的信息。使用情況的信息。CPU VP CPU VP 承擔(dān)承擔(dān)onlineonline系統(tǒng)的主要系統(tǒng)的主要工作負(fù)載??梢钥吹皆诠ぷ髫?fù)載??梢钥吹皆趏nlineonline系統(tǒng)中,與其它進程相比,系統(tǒng)中,與其它進程相比,CPU VPCPU VP使用了大部分的處理器資源。檢查使用了大部分的處理器資源。檢查CPU VPCPU VP的處理的處理器使用情況:在一個正常的活動期間,運行器使用情況:在一個正常的活動期間,運行onstat g onstat g gloglo。一分鐘后再運行。一分鐘后再運行onstat g gloonstat g glo一次。從后一個一次。從后一個輸出的

32、各個輸出的各個CPU VPCPU VP的總的的總的CPUCPU時間中減去前一個輸出中時間中減去前一個輸出中的總的的總的CPUCPU時間,結(jié)果就是時間,結(jié)果就是CPU VPCPU VP使用處理器的時間。使用處理器的時間。如果接近如果接近6060秒,那么秒,那么CPU VPCPU VP非常忙,應(yīng)考慮增加另外的非常忙,應(yīng)考慮增加另外的CPU VPCPU VP(在多處理器系統(tǒng)上),或者在一個更快的處理(在多處理器系統(tǒng)上),或者在一個更快的處理器系統(tǒng)上運行。若器系統(tǒng)上運行。若onlineonline系統(tǒng)經(jīng)常有一定數(shù)量的線索在系統(tǒng)經(jīng)常有一定數(shù)量的線索在就緒隊列中等待運行就緒隊列中等待運行, ,通過增加另外

33、的通過增加另外的CPU VPCPU VP可以改善可以改善性能性能. . 通過運行通過運行onstat onstat g reag rea可監(jiān)測就緒隊列中的項可監(jiān)測就緒隊列中的項目的情況目的情況 文件系統(tǒng)空間管理:文件系統(tǒng)空間管理: 可用可用df -v來觀察來觀察informix文件系統(tǒng)占有的空文件系統(tǒng)占有的空間是否大于間是否大于70%。如大于。如大于70%,請檢查文,請檢查文件系統(tǒng),且將件系統(tǒng),且將online.log和和online.msg進行備進行備份清空。份清空。 數(shù)據(jù)庫空間的管理數(shù)據(jù)庫空間的管理 對于對于dbspace空間管理,可用空間管理,可用onmonitor命令來管命令來管理。在

34、理。在onmonitor主菜單中選擇主菜單中選擇dbspaces:Info選項,選項,可以列出目前可以列出目前dbspace名稱及創(chuàng)建時間,在此菜單名稱及創(chuàng)建時間,在此菜單中,鍵入中,鍵入ctrl-b鍵能列出指定鍵能列出指定dbspace中中chunk數(shù)目,數(shù)目,目前目前dbspace總的空間大小及空閑空間的大小。如總的空間大小及空閑空間的大小。如dbspace空間即將被占滿,可通過增加空間即將被占滿,可通過增加chunk來擴來擴大大dbspace空間空間 onstat donstat d查看查看chunkchunk的情況。如的情況。如dbspacedbspace空間即空間即將被占滿,可通過增

35、加將被占滿,可通過增加chunkchunk來擴大來擴大dbspacedbspace空間空間 Informix的日常管理及維護的日常管理及維護1 1、定期對數(shù)據(jù)庫日志文件、定期對數(shù)據(jù)庫日志文件online.logonline.log的數(shù)據(jù)進行的數(shù)據(jù)進行分析收集。以檢查系統(tǒng)的運行情況分析收集。以檢查系統(tǒng)的運行情況根據(jù)以上數(shù)據(jù),適當(dāng)調(diào)整數(shù)據(jù)庫的配置參數(shù)根據(jù)以上數(shù)據(jù),適當(dāng)調(diào)整數(shù)據(jù)庫的配置參數(shù) Online.log日志日志虛 擬 內(nèi) 存虛 擬 內(nèi) 存段段(初始為初始為32768kb)邏輯日志文件填充時間邏輯日志文件填充時間(分)(分)CHKPOINT持續(xù)時間(秒)持續(xù)時間(秒)運行時間段運行時間段每 增

36、 一 個每 增 一 個為為(32768kb)MaxMin averagemaxminaverage 2 2、通過、通過onstat donstat d定期查看數(shù)據(jù)庫存放數(shù)據(jù)定期查看數(shù)據(jù)庫存放數(shù)據(jù)chunkchunk的情況的情況 命令格式命令格式已使用已使用chunk的個數(shù)的個數(shù)Chunk的的flag是否全為是否全為PO-Onstat -d 4 4、通過、通過onstat l onstat l 定期查看數(shù)據(jù)庫邏輯日定期查看數(shù)據(jù)庫邏輯日志是否備份。志是否備份。 5、定期對日志文件定期對日志文件online.logonline.log進行備份清進行備份清理。理。 5、 定期對系統(tǒng)查詢進行優(yōu)化定期對系

37、統(tǒng)查詢進行優(yōu)化 在在InformixInformix數(shù)據(jù)庫的系統(tǒng)表數(shù)據(jù)庫的系統(tǒng)表systablessystables中有一字段中有一字段nrowsnrows,專門用來記錄各表的記錄個數(shù)。優(yōu)化器在,專門用來記錄各表的記錄個數(shù)。優(yōu)化器在運行法則判斷時,各表的運行法則判斷時,各表的nrows nrows 值具有很高的參值具有很高的參考價值??純r值。nrowsnrows的更新可通過如下命令來完成,即:的更新可通過如下命令來完成,即: update statistics for table update statistics for table table-table-namename 其中,方括號其中

38、,方括號中的子句是可選的,用于指定表中的子句是可選的,用于指定表名,以對該表進行更新;否則名,以對該表進行更新;否則, ,將對數(shù)據(jù)庫中的各將對數(shù)據(jù)庫中的各表進行全部更新。表進行全部更新。 IDS的相關(guān)配置:的相關(guān)配置: sqlhosts services Informix ODBC配置配置 主要內(nèi)容:主要內(nèi)容: SQL 簡介 Informix 應(yīng)用開發(fā)簡介 Informix SQL培訓(xùn)教材與庫相關(guān)操作與庫相關(guān)操作與表相關(guān)操作與表相關(guān)操作查詢操作查詢操作刪除操作刪除操作插入操作插入操作修改操作修改操作與索引相關(guān)操作與索引相關(guān)操作與事務(wù)相關(guān)操作與事務(wù)相關(guān)操作載入載入/載出操作載出操作 建庫建庫 :

39、格式:格式:CREATE DATABASE database-name IN dbspace-name WITH LOG說明:說明:dbspace-name為該庫存放數(shù)據(jù)的為該庫存放數(shù)據(jù)的dbspace,缺省為,缺省為root dbspaceWITH LOG將該庫設(shè)置為日志模式,如果不指定,則不能使用事務(wù)以及將該庫設(shè)置為日志模式,如果不指定,則不能使用事務(wù)以及與日志有關(guān)的操作。與日志有關(guān)的操作。示例:示例:CREATE DATABASE db_test IN user_dbs WITH LOG 刪庫刪庫 :格式:格式:DROP DATABASE database-name 說明:說明:該操作無

40、法恢復(fù),執(zhí)行后將刪除該庫、庫中所有的表、以及所有的數(shù)據(jù)。該操作無法恢復(fù),執(zhí)行后將刪除該庫、庫中所有的表、以及所有的數(shù)據(jù)。 示例:示例:DROP DATABASE db_test 打開數(shù)據(jù)庫打開數(shù)據(jù)庫格式:格式: DATABASE database-name 說明:說明: 選擇可訪問的庫作為當(dāng)前庫。選擇可訪問的庫作為當(dāng)前庫。 示例:示例:DATABASE db_test 關(guān)閉數(shù)據(jù)庫關(guān)閉數(shù)據(jù)庫格式:格式: CLOSE DATABASE 說明:說明: 使用該語句來關(guān)閉當(dāng)前的數(shù)據(jù)庫。使用該語句來關(guān)閉當(dāng)前的數(shù)據(jù)庫。 示例:示例: CLOSE DATABASE 建表建表格式:格式: CREATE TEMP

41、 TABLE table-name ( column-name datatype NOT NULL,)示例:示例:CREATE TABLE book (namechar(20)NOT NULL,authorchar(20),pricefloat) 刪除表刪除表 格式:格式: DROP TABLE table-name 說明:說明: 使用該語句來刪除特定表。使用該語句來刪除特定表。 示例:示例: DROP TABLE table-test 查詢操作:查詢操作:格式:格式:格式:格式:SELECT DISTINCT select-list FROM tablename ,WHERE conditi

42、onGROUP BY column-list HAVING conditionORDER BY column-list DESC,INTO TEMP table-name示例:示例: SELECT fname,lname,state FROM customer WHERE state CA SELECT fname, lname FROM customer WHERE state CA ORDER BY lname; SELECT * FROM customer WHERE lname MATCH J-O* SELECT fname, lname, age FROM customer WHER

43、E age BETWEEN 20 and 30; SELECT max(age), min(age) FROM customer SELECT fname, lname FROM customer WHERE state is null SELECT age, count(*) FROM customer GROUP BY age SELECT age, count(*) FROM customer GROUP BY age HAVING count(*)1 SELECT AVERAGE(age) FROM customer 刪除操作刪除操作格式:格式:DELETE FROM table-na

44、me WHERE condition 說明:說明:使用該語句來刪除特定表中滿足條件的記錄。使用該語句來刪除特定表中滿足條件的記錄。 示例:示例: DELETE FROM table_test where id2; 插入操作插入操作格式:格式:INSERT INTO table-name (column-list)VALUES (value-list) | SELECT-statement 說明:說明:使用該語句來往表中插入記錄。使用該語句來往表中插入記錄。 示例:示例: INSERT INTO table-test values (1,”234”,222); 修改操作修改操作格式:格式: UP

45、DATE table-nameSET column-name = expression ,.| (col-list) | * = (expr-list)WHERE condition 說明:說明: 使用該語句修改表中特定條件的記錄。使用該語句修改表中特定條件的記錄。 示例:示例: UPDATE table-test SET cc=123 WHERE cc1; 建索引建索引 格式:格式: CREATE UNIQUE INDEX index-name ON table-name (column-name,) 說明:說明: 使用該語句可以建立索引。使用該語句可以建立索引。 示例:示例: CREATE

46、 INDEX cust_idx1 ON customer ( lname ) 刪除索引刪除索引格式:格式:DROP INDEX index-name 說明:說明: 使用該語句可以刪除索引。使用該語句可以刪除索引。 示例:示例: DROP INDEX index_test 事務(wù)處理事務(wù)處理開始事務(wù)開始事務(wù) :格式:格式: BEGIN WORK說明:說明: 使用該語句啟動一個事務(wù)。使用該語句啟動一個事務(wù)。 示例:示例: BEGIN WORK提交事務(wù)提交事務(wù) :格式:格式:COMMIT WORK 說明:說明: 使用該語句可以提交事務(wù)。使用該語句可以提交事務(wù)。 示例:示例: COMMIT WORK 事

47、務(wù)處理事務(wù)處理回滾事務(wù)回滾事務(wù) :格式:格式: ROLLBACK WORK說明:說明: 使用該語句回滾一個事務(wù),使該事務(wù)回滾到使用該語句回滾一個事務(wù),使該事務(wù)回滾到BEGIN WORK的狀的狀態(tài)。態(tài)。 示例:示例: ROLLBACK WORK 載出載出格式:格式: UNLOAD TO file-name select-statement 說明:說明: 使用該語句把表中的相應(yīng)記錄輸出到文件。使用該語句把表中的相應(yīng)記錄輸出到文件。 示例:示例: UNLOAD TO /tmp/customer.txt select * from customer 載入載入 格式:格式:LOAD FROM file-

48、name INSERT INTO table-name 說明:說明: 使用該語句把文件中的內(nèi)容載入到相應(yīng)的表中。使用該語句把文件中的內(nèi)容載入到相應(yīng)的表中。 示例:示例: LOAD FROM /tmp/customer.txt INSERT INTO customer 提高提高INFORMIX數(shù)據(jù)庫運行效率數(shù)據(jù)庫運行效率策略與措施策略與措施 對數(shù)據(jù)庫的優(yōu)化首先是從系統(tǒng)配置方面的對數(shù)據(jù)庫的優(yōu)化首先是從系統(tǒng)配置方面的優(yōu)化優(yōu)化 ,Informix的系統(tǒng)性能,與磁盤、的系統(tǒng)性能,與磁盤、CPU、共享內(nèi)存和網(wǎng)絡(luò)相關(guān)較大,故對其、共享內(nèi)存和網(wǎng)絡(luò)相關(guān)較大,故對其優(yōu)化,應(yīng)關(guān)注以下幾點:優(yōu)化,應(yīng)關(guān)注以下幾點: 對

49、磁盤調(diào)整的原則是降低讀盤次數(shù),極大化每對磁盤調(diào)整的原則是降低讀盤次數(shù),極大化每次讀盤數(shù)據(jù)量,數(shù)據(jù)分布均勻,防止瓶頸的發(fā)次讀盤數(shù)據(jù)量,數(shù)據(jù)分布均勻,防止瓶頸的發(fā)生生 Online的磁盤空間應(yīng)采用裸設(shè)備方式的磁盤空間應(yīng)采用裸設(shè)備方式(raw device),而不采用文件系統(tǒng)方式,而不采用文件系統(tǒng)方式(cooked file),前者比后者處理速度要快得多,且可靠性高前者比后者處理速度要快得多,且可靠性高 物理日志緩存空間應(yīng)在物理日志緩存空間應(yīng)在3050兆間即可,不必兆間即可,不必太大太大 設(shè)置設(shè)置cpu vp個數(shù)為個數(shù)為cpu個數(shù)減個數(shù)減1(若若cpu個數(shù)為個數(shù)為1,則則cpu vp也為也為1) 共

50、享內(nèi)存一般是系統(tǒng)內(nèi)存的共享內(nèi)存一般是系統(tǒng)內(nèi)存的1/31/4 一個一個cpu vp配配4個個LRU隊列,隊列,n個個LRU隊列配隊列配n個頁刷新進程個頁刷新進程page_cleaner 調(diào)諧使其高速緩沖區(qū)讀命中率大于調(diào)諧使其高速緩沖區(qū)讀命中率大于95,寫命,寫命中率大于中率大于85 設(shè)定多張網(wǎng)卡可改進性能,網(wǎng)絡(luò)碰撞率應(yīng)在設(shè)定多張網(wǎng)卡可改進性能,網(wǎng)絡(luò)碰撞率應(yīng)在8以內(nèi)以內(nèi) 在整個的調(diào)整之中,在整個的調(diào)整之中,Informixonline數(shù)據(jù)數(shù)據(jù)服務(wù)器性能的調(diào)試往往在一定的經(jīng)驗值基服務(wù)器性能的調(diào)試往往在一定的經(jīng)驗值基礎(chǔ)上動態(tài)反復(fù)調(diào)整、測試才能獲得最終滿礎(chǔ)上動態(tài)反復(fù)調(diào)整、測試才能獲得最終滿意的結(jié)果。意的

51、結(jié)果。 INFORMIX數(shù)據(jù)庫系統(tǒng)參數(shù)性能調(diào)整的優(yōu)數(shù)據(jù)庫系統(tǒng)參數(shù)性能調(diào)整的優(yōu)劣將直接影響劣將直接影響INFORMIX數(shù)據(jù)庫運行效率數(shù)據(jù)庫運行效率 Select語句優(yōu)化策略:語句優(yōu)化策略: 對于大數(shù)據(jù)量的求和應(yīng)避免使用單一的對于大數(shù)據(jù)量的求和應(yīng)避免使用單一的sum命令處命令處理,而采用理,而采用group by方式與其結(jié)合,有時其效率可提高方式與其結(jié)合,有時其效率可提高幾倍甚至百倍;幾倍甚至百倍; 最具有限制性的條件放在前面,大值在前,小值在最具有限制性的條件放在前面,大值在前,小值在后;后; 避免子查詢與相關(guān)查詢;避免子查詢與相關(guān)查詢; 避免會引起磁盤讀寫的避免會引起磁盤讀寫的rowid操作;在操作;在where子句中子句中或或select語句中,用語句中,用rowid要產(chǎn)生磁盤讀寫,是一個物理要產(chǎn)生磁盤讀寫,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論