Informi數(shù)據(jù)庫升級指南_第1頁
Informi數(shù)據(jù)庫升級指南_第2頁
Informi數(shù)據(jù)庫升級指南_第3頁
Informi數(shù)據(jù)庫升級指南_第4頁
Informi數(shù)據(jù)庫升級指南_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

InformixInformix數(shù)據(jù)庫升級指南謝燁,軟件工程師,IBM孫國榮,軟件工程師,IBM譚永貽,高級技術(shù)經(jīng)理,IBM簡介:Informix數(shù)據(jù)庫升級是Informix治理員的一項重要且具有挑戰(zhàn)性的工作。本文主要介紹Informix數(shù)據(jù)庫升級前的預(yù)備工作、升級的操作過程、升級后的調(diào)優(yōu)工作、升級的留意事項,使讀者對Informix數(shù)據(jù)庫升級有較為全面的理解。引言InformixInformix11InformixSQL語句跟蹤、非阻斷的檢查點、SDS輔節(jié)點、星型連接、自動存儲擴展、圖形界面的治理工具OAT等,并且Informix版本7、9、10已進入EOS(EndOfSupport)InformixInformix11。回頁首Informix數(shù)據(jù)庫升級簡介InformixInformix數(shù)據(jù)庫升級是指把使用的Informix數(shù)據(jù)庫從低版本轉(zhuǎn)化為高版本。對Informix后的測試、升級后的調(diào)優(yōu)等。Informix數(shù)據(jù)庫升級有兩種類型:in-placenon-in-place。In-place升級中,版本的Informix使用的數(shù)據(jù)文件與舊版本的InformixNon-in-placeInformix使用的數(shù)據(jù)文件與舊版本的Informix治理員需要導(dǎo)出導(dǎo)入數(shù)據(jù)。non-in-place所需的硬件資源多,風(fēng)險較小。在一些狀況下我們只能使用non-in-place升級,例如轉(zhuǎn)變了硬件或操作系統(tǒng)。兩種類型的Informix數(shù)據(jù)庫升級的示意圖如圖1所示。圖1.兩種類型的Informix數(shù)據(jù)庫升級的示意圖回頁首回頁首Informix數(shù)據(jù)庫升級的測試打算升級前后每個數(shù)據(jù)庫的schema在升級前和升級后,我們需要對Informix數(shù)據(jù)庫進展測試,然后比較升級前的測試結(jié)果和升升級前后每個數(shù)據(jù)庫的schema升級前后磁盤空間的安排狀況,如dbspace、chunk、extent等的狀況升級前后磁盤空間的安排狀況,如dbspace、chunk、extent等的狀況升級前后每個數(shù)據(jù)表的行數(shù)可使用onstat-d查看dbspace和chunk的狀況??墒褂胦ncheck-pe查看extent的狀況。升級前后每個數(shù)據(jù)表的行數(shù)我們需要驗證升級前后數(shù)據(jù)表的行數(shù)是一樣的??墒褂萌缦碌腟QL語句:selectselectcount(*)from<table>;升級前后一些列的總和或平均值升級前后一些列的總和或平均值可使用如下的SQL語句:selectselectsum(<column>)from<table>;selectavg(<column>)from<table>;升級前后一些升級前后一些SQL語句的結(jié)果我們可以選擇出一些較簡單〔比方涉及到多表查詢〕的SQL語句,然后在升級前后運行這些SQLSQL語句的運行結(jié)果是一樣的。升級前后一些重要SQL語句的查詢打算(queryplan)和運行時間在某一個session中運行如下SQL語句后,Informix升級前后一些重要SQL語句的查詢打算(queryplan)和運行時間SETSETEXPLAINON;可使用如下方式得到SQL語句的運行時間:將SQL語句寫在一個后綴名為sql的文件中,例如my.sql在shell上運行如下命令:timetimedbaccess<database><sqlFile>例如:timedbaccesscrmdbmy.sql升級前后數(shù)據(jù)庫〔不包括應(yīng)用程序〕關(guān)于典型事務(wù)的吞吐量升級前后數(shù)據(jù)庫〔不包括應(yīng)用程序〕關(guān)于典型事務(wù)的吞吐量在dbaccess〔不包括應(yīng)用程序在單位時間內(nèi)最多能處理多少典型事務(wù)。升級前后業(yè)務(wù)系統(tǒng)〔包括數(shù)據(jù)庫和應(yīng)用程序〕關(guān)于典型業(yè)務(wù)的吞吐量測試業(yè)務(wù)系統(tǒng)在單位時間內(nèi)最多能處理多少典型業(yè)務(wù)。升級前后業(yè)務(wù)系統(tǒng)〔包括數(shù)據(jù)庫和應(yīng)用程序〕關(guān)于典型業(yè)務(wù)的吞吐量升級前后正常負載下系統(tǒng)資源〔升級前后正常負載下系統(tǒng)資源〔CPU、內(nèi)存、硬盤等〕的使用狀況可使用onstat、iostat等命令。升級前后較大負載下系統(tǒng)資源〔升級前后較大負載下系統(tǒng)資源〔CPU、內(nèi)存、硬盤等〕的使用狀況可使用onstat、iostat等命令。在對生產(chǎn)系統(tǒng)進展升級前,我們應(yīng)在模擬系統(tǒng)中對“Informix數(shù)據(jù)庫升級”進展演練。在對模擬系統(tǒng)、生產(chǎn)系統(tǒng)進展升級的前后,我們都應(yīng)執(zhí)行測試打算?;仨撌籽菥殹<僭O(shè)在“數(shù)據(jù)庫升級失敗時的應(yīng)對方案”中使用“onmode-b”的數(shù)據(jù)庫回退方案,那么我們還需制定“驗證數(shù)據(jù)庫回退的正確性”的測試打算并在模擬系統(tǒng)中執(zhí)行。回頁首Informix數(shù)據(jù)庫升級前的檢查檢查是否有足夠的用于升級的磁盤空間檢查是否有足夠的用于升級的磁盤空間假設(shè)是non-in-place10%以上。in-place升級,應(yīng)確保:RootChunk(Chunk0)10%的空間是可用的。足夠的規(guī)律日志空間以重建sysmaster、sysadmin、sysutils數(shù)據(jù)庫。Partitionheaders必需有一些可用空間。(Informix11中的某些描述符或特性使用。)假設(shè)一個dbspace上有n個databasedbspace還需要(n*2000)KB的可用空間。(dbspace)需要多少空間。(free_space_reqKB。)DATABASEsysmaster;SELECTpartdbsnum(partnum)dbspace_num,trunc(count(*)*2000)free_space_reqFROMsysdatabasesGROUPBY1ORDERBY1;SQL(dbspace)還有多少可用空間。(free_space_avail。)DATABASEsysmaster;SELECTdbsnumdbspace_num,sum(nfree)free_space_availFROMsyschunksGROUPBY1ORDERBY1;檢查是否有數(shù)據(jù)表的extent數(shù)目大于200extent數(shù)目大于200,那么我們最好重建該extentsize,從而使該數(shù)據(jù)表的extent數(shù)目小200。可用下面的SQL語句查找extent數(shù)目大于200的數(shù)據(jù)表:DATABASEsysmaster;SELECTdbsname,tabname,nextnsFROMsystabnamest,sysptnhdrpWHEREt.partnum=p.partnumANDp.nextns>200ORDERBY3DESC;檢查增關(guān)鍵字在對數(shù)據(jù)庫進展升級前,治理員應(yīng)先檢查數(shù)據(jù)庫的schema中和數(shù)據(jù)庫應(yīng)用程序的SQL(keyword)Informix9.40數(shù)據(jù)庫升級到Informix11.50Informix9.40數(shù)據(jù)庫中是否含有Informix10.00、Informix11.00、Informix11.50Informix9.40數(shù)據(jù)庫中的這些“增關(guān)鍵詞”進展修改,直到Informix9.40數(shù)據(jù)庫中不含有這些“增關(guān)鍵詞”?!霸鲫P(guān)鍵詞”InformixMigrationGuide。檢查是否有“outstandingin-placetablealters”檢查數(shù)據(jù)庫中是否有“outstandingin-placetablealters”,假設(shè)有則需要先消退“outstandingin-placetablealters”。〔具體過程請參見“Download”中的“檢查和消退OutstandingInPlaceTableAlters.doc”〕Informix數(shù)據(jù)庫升級操作過程InformixInformix數(shù)據(jù)庫升級有兩種類型:in-place和non-in-place。下面將分別介紹這兩種類型升級的具體操作過程。in-place升級操作過程in-place升級操作過程主要包括:安裝配置版本Informix數(shù)據(jù)庫效勞器檢查舊版本Informix數(shù)據(jù)庫的正確性備份舊版本Informix數(shù)據(jù)庫對Informix數(shù)據(jù)庫里的數(shù)據(jù)構(gòu)造等進展轉(zhuǎn)換檢查版本Informix數(shù)據(jù)庫的正確性in-placein-place升級操作過程有更好的把握Informix數(shù)據(jù)庫從版本9.40升級到版本11.50。1. 〕拷貝Informix9.40數(shù)據(jù)庫效勞器的一些配置如下:操作系統(tǒng)的環(huán)境變量INFORMIXSERVER為bankserver操作系統(tǒng)的環(huán)境變量INFORMIXDIR為/opt/informix940onconfig.bank文件里的三個參數(shù):SERVERNUM33DBSERVERNAMEbankserverDBSERVERALIASESbankserverdr,bankservershmsqlhosts.bankbankserveronsoctcplocalhost6784bankserverdrdrsoctcplocalhost6785bankservershmonipcshmlocalhost67862.Informix11.50數(shù)據(jù)庫效勞器。Informix11.50Informix9.40數(shù)據(jù)庫效勞器的配置參數(shù),來對Informix11.50數(shù)據(jù)庫效勞器進展配置?!蔡貏e要留意的是:假設(shè)Informix9.40數(shù)據(jù)庫效勞器和Informix11.50INFORMIXDIR為了避開InformixInformix11.50Informix11.50數(shù)據(jù)庫效勞器實行“切斷網(wǎng)絡(luò)連接”或“修改數(shù)據(jù)庫實例的名字和端口號”〔“修改數(shù)據(jù)庫實例的名字和端口號”指將Informix11.50數(shù)據(jù)庫實例的名字和端口號修改得與Informix9.40數(shù)據(jù)庫實例不同?!场苍诤竺娴牟襟E中,Informix9.40oninit-s的方式啟動的,啟動后處于quiescent模式,在這種模式下應(yīng)用程序是無法連接上Informix9.40數(shù)據(jù)庫效勞器的?!矷nformix11.50數(shù)據(jù)庫效勞器執(zhí)行“切斷網(wǎng)絡(luò)連接”〔由于Informix9.40數(shù)據(jù)庫效勞器和Informix11.50數(shù)據(jù)庫效勞器位于同一個效勞器上,所以Informix9.40數(shù)據(jù)庫效勞器的網(wǎng)絡(luò)連接也被切斷了〕,那么Informix11.50數(shù)據(jù)庫效勞器的一些配置如下:INFORMIXSERVERbankserver操作系統(tǒng)的環(huán)境變量INFORMIXDIR/opt/informix1150onconfigSERVERNUM33DBSERVERNAMEbankserverDBSERVERALIASESbankserverdr,bankservershmsqlhostsbankserveronsoctcplocalhost6784bankserverdrdrsoctcplocalhost6785bankservershmonipcshmlocalhost6786假設(shè)對Informix11.50數(shù)據(jù)庫效勞器執(zhí)行“修改數(shù)據(jù)庫實例的名字和端口號”,那么Informix11.50數(shù)據(jù)庫效勞器的一些配置如下:INFORMIXSERVERbankserver_t操作系統(tǒng)的環(huán)境變量INFORMIXDIR/opt/informix1150onconfig.bankSERVERNUM33DBSERVERNAMEbankserver_tDBSERVERALIASESbankserverdr_t,bankservershm_tsqlhosts.bankbankserver_tonsoctcplocalhost9784bankserverdr_tdrsoctcplocalhost9785bankservershm_tonipcshmlocalhost9786Informix9.40Informix9.40運行onmode-sy命令使Informix9.40quiescent模式。等到全部連接斷開后,運行onmode-l命令將規(guī)律日志移動到下一個。onmode-c(checkpoint)。onmode-yukInformix9.40數(shù)據(jù)庫效勞器。oninit-sInformix9.40quiescentonline.log文件中與這次啟動相關(guān)的內(nèi)容,特別是查看在這次啟動中“是否有錯誤信息”和“事務(wù)的狀況”。查看“事務(wù)的狀況”2的最終一行所示。2.Informix啟動過程中“事務(wù)的狀況”Back06?!皁nmode-yuk”Informix9.405。Openonstat-xOpen的Open“onmode-yuk”關(guān)閉Informix9.405。CommittedRolledBack的事務(wù)的數(shù)目不為零,則依據(jù)實際狀況進展適當?shù)牟僮?,接著使用“onmode-yuk”關(guān)閉Informix9.40。然后重復(fù)5。oncheckInformix9.40數(shù)據(jù)庫的全都性。假設(shè)遇到問題,則針對具體狀況使用適當?shù)姆椒ń鉀Q遇到的問題。下面列出了oncheck命令的一些選項的作用:oncheck-cr命令可檢查數(shù)據(jù)庫的保存頁oncheck-ceextentoncheck-cccatalog表oncheck-cD命令可檢查數(shù)據(jù)庫的數(shù)據(jù)oncheck-cI命令可檢查數(shù)據(jù)庫的索引Informix9.40ontapeonbar命令對數(shù)據(jù)庫進展備份。治理員還可考慮是否在存儲系統(tǒng)層面上對數(shù)據(jù)庫進展一次拷貝。onmode-kyInformix9.40數(shù)據(jù)庫效勞器。使用oninit-vy啟動Informix11.50oninit-i命令來啟動Informix11.50Informix數(shù)據(jù)庫效勞器將對數(shù)據(jù)構(gòu)造等進展從版本9.40到版本11.50一個的shelltail-fonline.log命令實時監(jiān)控online.log文件增的內(nèi)容。假設(shè)監(jiān)控到“Conversionfromversion9.40Started”,說明數(shù)據(jù)庫版本的轉(zhuǎn)換開頭了。假設(shè)監(jiān)控到錯誤信息,應(yīng)準時實行適當?shù)拇胧<僭O(shè)監(jiān)控到“ConversionCompletedSuccessfully”的信息,說明數(shù)據(jù)庫版本的轉(zhuǎn)換被成功完成了。Informix11.50數(shù)據(jù)庫的統(tǒng)計數(shù)據(jù)。過程如下:對每個數(shù)據(jù)庫運行“updatestatisticslowdropdistributions”。systemcatalog表運行“updatestatisticshigh”:sysblobssyscolauthsyscolumnssysconstraintssysdefaultssysdistribsysfragauthsysfragmentssysindicessysobjstatesysopclstrsysprocauthsysproceduressysroleauthsyssynonymssyssyntablesystabauthsystablessystriggerssysusers例如:updatestatisticshighfortablesysblobs;updatestatisticshighfortablesyscolauth;……updatestatisticshighfortablesysusers;對每個數(shù)據(jù)庫的一般的數(shù)據(jù)表和索引運行它們所需級別(low、medium、high)的更統(tǒng)計數(shù)據(jù)命令。一般狀況下運行“updatestatisticsmedium”即可。oncheckInformix11.50數(shù)據(jù)庫的全都性。備份Informix11.50數(shù)據(jù)庫。治理員可使用ontape或onbar命令對數(shù)據(jù)庫進展備份。onmode-kyInformix11.50數(shù)據(jù)庫效勞器。14Informix11.50執(zhí)行“恢復(fù)數(shù)據(jù)庫實例的名字和端口號”3Informix11.5014對Informix11.50執(zhí)行連接”。無論在步驟14執(zhí)行哪個操作,執(zhí)行操作后Informix11.50數(shù)據(jù)庫效勞器的一些配置都如下:INFORMIXSERVERbankserver操作系統(tǒng)的環(huán)境變量INFORMIXDIR/opt/informix1150onconfig.bank文件的三個參數(shù):SERVERNUM33DBSERVERNAMEbankserverDBSERVERALIASESbankserverdr,bankservershmsqlhosts.bankbankserveronsoctcplocalhost6784bankserverdrdrsoctcplocalhost6785bankservershmonipcshmlocalhost6786oninit-vyInformix11.50數(shù)據(jù)庫效勞器。non-in-place升級操作過程non-in-place升級操作過程主要包括:安裝配置版本Informix數(shù)據(jù)庫效勞器Informix數(shù)據(jù)庫的正確性Informix數(shù)據(jù)庫使用工具將數(shù)據(jù)從舊版本Informix數(shù)據(jù)庫復(fù)制到版本Informix數(shù)據(jù)庫Informix數(shù)據(jù)庫的正確性non-in-placenon-in-place升級操作過程有更好的把握。在這個例如中,我們將Informix數(shù)據(jù)庫從版本9.40升級到版本11.50。將Informix9.40數(shù)據(jù)庫效勞器的各個配置文件〔onconfig、sqlhosts等〕拷貝到備份文件夾。Informix11.50數(shù)據(jù)庫效勞器。配置Informix11.50數(shù)據(jù)庫效勞器。治理員可參考Informix9.40數(shù)據(jù)庫效勞器的配置參數(shù),來對Informix11.50數(shù)據(jù)庫效勞器進展配置?!蔡貏e要留意的是:假設(shè)一些配置參數(shù)Informix9.40Informix11.50數(shù)據(jù)庫效勞器的INFORMIXDIR不同,這些配置參數(shù)有可能需要修改?!场苍诤竺娴牟襟E中,Informix11.50數(shù)據(jù)庫效勞器啟動后處于single-user模式,在這種模式下應(yīng)用程序是無法連接上Informix11.50數(shù)據(jù)庫效勞器的。〕Informix9.40Informix9.40。具體過程如下:運行onmode-sy命令使Informix9.40quiescent模式。等到全部連接斷開后,運行onmode-l命令將規(guī)律日志移動到下一個。onmode-c(checkpoint)。onmode-yukInformix9.40數(shù)據(jù)庫效勞器。據(jù)庫實例?!?Informix9.40on-line模式,所以我們要修改Informix9.40數(shù)據(jù)庫實例的“名字和端口號”來防止應(yīng)用程序連接上Informix9.40數(shù)據(jù)庫實例?!硂ninit-sInformix9.40quiescentonline.log文件中與這次啟動相關(guān)的內(nèi)容,特別是查看在這次啟動中“是否有錯誤信息”和“事務(wù)的狀況”。查看“事務(wù)的狀況”2的最終一行所示。假設(shè)沒有錯誤信息,Open的事務(wù)的數(shù)目、Committed的事務(wù)的數(shù)目、RolledBack的事務(wù)的數(shù)目都為0,則可以開頭操作步驟7。假設(shè)查看到錯誤信息,則針對錯誤信息做相應(yīng)的處理,接著使用“onmode-yuk”關(guān)閉Informix9.406。假設(shè)Open的事務(wù)的數(shù)目不為零,則使用onstat-x檢查還有哪些Open的事務(wù),再使用適當?shù)姆椒▽⑦@些Open的事務(wù)去除,接著使用“onmode-yuk”關(guān)閉Informix9.40。6。CommittedRolledBack的事務(wù)的數(shù)目不為零,則依據(jù)實際狀況進展適當?shù)牟僮鳎又褂谩皁nmode-yuk”關(guān)閉Informix9.40。然后重復(fù)操作步驟6。oncheckInformix9.40數(shù)據(jù)庫的全都性。假設(shè)遇到問題,則針對具體狀況使用適當?shù)姆椒ń鉀Q遇到的問題。備份Informix9.40數(shù)據(jù)庫。治理員可使用ontape或onbar命令對數(shù)據(jù)庫進展備份。在non-in-place升級中,一般不需要再在存儲系統(tǒng)層面上對數(shù)據(jù)庫進展一次拷貝。onmode-mInformix9.40on-line模式。oninit-ivyInformix11.50數(shù)據(jù)庫效勞器。使用onmode-j將Informix11.50改成single-user模式。使用工具將數(shù)據(jù)從Informix9.40中導(dǎo)出,并將導(dǎo)出的數(shù)據(jù)導(dǎo)入到Informix11.50中。下dbexport、dbimport為例來介紹數(shù)據(jù)的導(dǎo)出導(dǎo)入過程:Informix9.40<exportdir>文件夾:dbexport<database>-o<exportdir>將<exportdir>文件夾下的<database>.exp<importdir>文件夾下。依據(jù)需要設(shè)置環(huán)境變量。例如:原始數(shù)據(jù)庫的DB_LOCALE是en_us.8859-1,而治理員要使“使用dbimport命令生成的數(shù)據(jù)庫”的DB_LOCALE是zh_cn.gb18030-2000則DB_LOCALEzh_cn.gb18030-2000,設(shè)置環(huán)境變量CLIENT_LOCALEzh_cn.gb18030-2000。<importdir>Informix11.50:dbimport<database>-d<dbspace>-i<importdir>Informix11.50數(shù)據(jù)庫的統(tǒng)計數(shù)據(jù)。oncheckInformix11.50數(shù)據(jù)庫的全都性。Informix11.50ontapeonbar命令對數(shù)據(jù)庫進展備份。onmode-mInformix11.50on-line模式。onmode-kyInformix9.40數(shù)據(jù)庫效勞器Informix數(shù)據(jù)庫升級成功后的性能調(diào)優(yōu)當數(shù)據(jù)庫升級成功后,Informix治理員可以利用Informix11的特性來提高數(shù)據(jù)庫的性能。例如:Informix治理員可通過設(shè)置VP_MEMORY_CACHE_KB配置參數(shù)來設(shè)定CPUVP的私有內(nèi)存,從而提高CPUVP的性能;Informix治理員可通過設(shè)置SQLTRACESQLSQL語句進展調(diào)優(yōu)。In

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論