版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
InformixInformix數(shù)據(jù)庫升級指南謝燁,軟件工程師,IBM孫國榮,軟件工程師,IBM譚永貽,高級技術經(jīng)理,IBM簡介:Informix數(shù)據(jù)庫升級是Informix治理員的一項重要且具有挑戰(zhàn)性的工作。本文主要介紹Informix數(shù)據(jù)庫升級前的預備工作、升級的操作過程、升級后的調優(yōu)工作、升級的留意事項,使讀者對Informix數(shù)據(jù)庫升級有較為全面的理解。引言InformixInformix11InformixSQL語句跟蹤、非阻斷的檢查點、SDS輔節(jié)點、星型連接、自動存儲擴展、圖形界面的治理工具OAT等,并且Informix版本7、9、10已進入EOS(EndOfSupport)InformixInformix11?;仨撌譏nformix數(shù)據(jù)庫升級簡介InformixInformix數(shù)據(jù)庫升級是指把使用的Informix數(shù)據(jù)庫從低版本轉化為高版本。對Informix后的測試、升級后的調優(yōu)等。Informix數(shù)據(jù)庫升級有兩種類型:in-placenon-in-place。In-place升級中,版本的Informix使用的數(shù)據(jù)文件與舊版本的InformixNon-in-placeInformix使用的數(shù)據(jù)文件與舊版本的Informix治理員需要導出導入數(shù)據(jù)。non-in-place所需的硬件資源多,風險較小。在一些狀況下我們只能使用non-in-place升級,例如轉變了硬件或操作系統(tǒng)。兩種類型的Informix數(shù)據(jù)庫升級的示意圖如圖1所示。圖1.兩種類型的Informix數(shù)據(jù)庫升級的示意圖回頁首回頁首Informix數(shù)據(jù)庫升級的測試打算升級前后每個數(shù)據(jù)庫的schema在升級前和升級后,我們需要對Informix數(shù)據(jù)庫進展測試,然后比較升級前的測試結果和升升級前后每個數(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語句的結果我們可以選擇出一些較簡單〔比方涉及到多表查詢〕的SQL語句,然后在升級前后運行這些SQLSQL語句的運行結果是一樣的。升級前后一些重要SQL語句的查詢打算(queryplan)和運行時間在某一個session中運行如下SQL語句后,Informix升級前后一些重要SQL語句的查詢打算(queryplan)和運行時間SETSETEXPLAINON;可使用如下方式得到SQL語句的運行時間:將SQL語句寫在一個后綴名為sql的文件中,例如my.sql在shell上運行如下命令:timetimedbaccess<database><sqlFile>例如:timedbaccesscrmdbmy.sql升級前后數(shù)據(jù)庫〔不包括應用程序〕關于典型事務的吞吐量升級前后數(shù)據(jù)庫〔不包括應用程序〕關于典型事務的吞吐量在dbaccess〔不包括應用程序在單位時間內最多能處理多少典型事務。升級前后業(yè)務系統(tǒng)〔包括數(shù)據(jù)庫和應用程序〕關于典型業(yè)務的吞吐量測試業(yè)務系統(tǒng)在單位時間內最多能處理多少典型業(yè)務。升級前后業(yè)務系統(tǒng)〔包括數(shù)據(jù)庫和應用程序〕關于典型業(yè)務的吞吐量升級前后正常負載下系統(tǒng)資源〔升級前后正常負載下系統(tǒng)資源〔CPU、內存、硬盤等〕的使用狀況可使用onstat、iostat等命令。升級前后較大負載下系統(tǒng)資源〔升級前后較大負載下系統(tǒng)資源〔CPU、內存、硬盤等〕的使用狀況可使用onstat、iostat等命令。在對生產系統(tǒng)進展升級前,我們應在模擬系統(tǒng)中對“Informix數(shù)據(jù)庫升級”進展演練。在對模擬系統(tǒng)、生產系統(tǒng)進展升級的前后,我們都應執(zhí)行測試打算。回頁首演練。假設在“數(shù)據(jù)庫升級失敗時的應對方案”中使用“onmode-b”的數(shù)據(jù)庫回退方案,那么我們還需制定“驗證數(shù)據(jù)庫回退的正確性”的測試打算并在模擬系統(tǒng)中執(zhí)行?;仨撌譏nformix數(shù)據(jù)庫升級前的檢查檢查是否有足夠的用于升級的磁盤空間檢查是否有足夠的用于升級的磁盤空間假設是non-in-place10%以上。in-place升級,應確保:RootChunk(Chunk0)10%的空間是可用的。足夠的規(guī)律日志空間以重建sysmaster、sysadmin、sysutils數(shù)據(jù)庫。Partitionheaders必需有一些可用空間。(Informix11中的某些描述符或特性使用。)假設一個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;檢查增關鍵字在對數(shù)據(jù)庫進展升級前,治理員應先檢查數(shù)據(jù)庫的schema中和數(shù)據(jù)庫應用程序的SQL(keyword)Informix9.40數(shù)據(jù)庫升級到Informix11.50Informix9.40數(shù)據(jù)庫中是否含有Informix10.00、Informix11.00、Informix11.50Informix9.40數(shù)據(jù)庫中的這些“增關鍵詞”進展修改,直到Informix9.40數(shù)據(jù)庫中不含有這些“增關鍵詞”?!霸鲫P鍵詞”InformixMigrationGuide。檢查是否有“outstandingin-placetablealters”檢查數(shù)據(jù)庫中是否有“outstandingin-placetablealters”,假設有則需要先消退“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ù)構造等進展轉換檢查版本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要留意的是:假設Informix9.40數(shù)據(jù)庫效勞器和Informix11.50INFORMIXDIR為了避開InformixInformix11.50Informix11.50數(shù)據(jù)庫效勞器實行“切斷網(wǎng)絡連接”或“修改數(shù)據(jù)庫實例的名字和端口號”〔“修改數(shù)據(jù)庫實例的名字和端口號”指將Informix11.50數(shù)據(jù)庫實例的名字和端口號修改得與Informix9.40數(shù)據(jù)庫實例不同?!场苍诤竺娴牟襟E中,Informix9.40oninit-s的方式啟動的,啟動后處于quiescent模式,在這種模式下應用程序是無法連接上Informix9.40數(shù)據(jù)庫效勞器的?!矷nformix11.50數(shù)據(jù)庫效勞器執(zhí)行“切斷網(wǎng)絡連接”〔由于Informix9.40數(shù)據(jù)庫效勞器和Informix11.50數(shù)據(jù)庫效勞器位于同一個效勞器上,所以Informix9.40數(shù)據(jù)庫效勞器的網(wǎng)絡連接也被切斷了〕,那么Informix11.50數(shù)據(jù)庫效勞器的一些配置如下:INFORMIXSERVERbankserver操作系統(tǒng)的環(huán)境變量INFORMIXDIR/opt/informix1150onconfigSERVERNUM33DBSERVERNAMEbankserverDBSERVERALIASESbankserverdr,bankservershmsqlhostsbankserveronsoctcplocalhost6784bankserverdrdrsoctcplocalhost6785bankservershmonipcshmlocalhost6786假設對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文件中與這次啟動相關的內容,特別是查看在這次啟動中“是否有錯誤信息”和“事務的狀況”。查看“事務的狀況”2的最終一行所示。2.Informix啟動過程中“事務的狀況”Back06?!皁nmode-yuk”Informix9.405。Openonstat-xOpen的Open“onmode-yuk”關閉Informix9.405。CommittedRolledBack的事務的數(shù)目不為零,則依據(jù)實際狀況進展適當?shù)牟僮?,接著使用“onmode-yuk”關閉Informix9.40。然后重復5。oncheckInformix9.40數(shù)據(jù)庫的全都性。假設遇到問題,則針對具體狀況使用適當?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ù)構造等進展從版本9.40到版本11.50一個的shelltail-fonline.log命令實時監(jiān)控online.log文件增的內容。假設監(jiān)控到“Conversionfromversion9.40Started”,說明數(shù)據(jù)庫版本的轉換開頭了。假設監(jiān)控到錯誤信息,應準時實行適當?shù)拇胧?。假設監(jiān)控到“ConversionCompletedSuccessfully”的信息,說明數(shù)據(jù)庫版本的轉換被成功完成了。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í)行“恢復數(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ù)庫復制到版本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ù)Informix9.40Informix11.50數(shù)據(jù)庫效勞器的INFORMIXDIR不同,這些配置參數(shù)有可能需要修改?!场苍诤竺娴牟襟E中,Informix11.50數(shù)據(jù)庫效勞器啟動后處于single-user模式,在這種模式下應用程序是無法連接上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ù)庫實例的“名字和端口號”來防止應用程序連接上Informix9.40數(shù)據(jù)庫實例?!硂ninit-sInformix9.40quiescentonline.log文件中與這次啟動相關的內容,特別是查看在這次啟動中“是否有錯誤信息”和“事務的狀況”。查看“事務的狀況”2的最終一行所示。假設沒有錯誤信息,Open的事務的數(shù)目、Committed的事務的數(shù)目、RolledBack的事務的數(shù)目都為0,則可以開頭操作步驟7。假設查看到錯誤信息,則針對錯誤信息做相應的處理,接著使用“onmode-yuk”關閉Informix9.406。假設Open的事務的數(shù)目不為零,則使用onstat-x檢查還有哪些Open的事務,再使用適當?shù)姆椒▽⑦@些Open的事務去除,接著使用“onmode-yuk”關閉Informix9.40。6。CommittedRolledBack的事務的數(shù)目不為零,則依據(jù)實際狀況進展適當?shù)牟僮?,接著使用“onmode-yuk”關閉Informix9.40。然后重復操作步驟6。oncheckInformix9.40數(shù)據(jù)庫的全都性。假設遇到問題,則針對具體狀況使用適當?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中導出,并將導出的數(shù)據(jù)導入到Informix11.50中。下dbexport、dbimport為例來介紹數(shù)據(jù)的導出導入過程:Informix9.40<exportdir>文件夾:dbexport<database>-o<exportdir>將<exportdir>文件夾下的<database>.exp<importdir>文件夾下。依據(jù)需要設置環(huán)境變量。例如:原始數(shù)據(jù)庫的DB_LOCALE是en_us.8859-1,而治理員要使“使用dbimport命令生成的數(shù)據(jù)庫”的DB_LOCALE是zh_cn.gb18030-2000則DB_LOCALEzh_cn.gb18030-2000,設置環(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ù)庫升級成功后的性能調優(yōu)當數(shù)據(jù)庫升級成功后,Informix治理員可以利用Informix11的特性來提高數(shù)據(jù)庫的性能。例如:Informix治理員可通過設置VP_MEMORY_CACHE_KB配置參數(shù)來設定CPUVP的私有內存,從而提高CPUVP的性能;Informix治理員可通過設置SQLTRACESQLSQL語句進展調優(yōu)。In
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 手寫合理的協(xié)議書
- 借戶購房協(xié)議書
- 工作安全責協(xié)議書
- 電子廠獎勵協(xié)議書
- 伐木合伙協(xié)議書
- 編外合同協(xié)議合同
- 占地施工協(xié)議書
- 占地協(xié)議書模板
- 畫冊采購合同范本
- 代理申報協(xié)議書
- 中國石化油品銷售企業(yè)實驗室信息管理系統(tǒng)LIMSWeb操作手冊
- NY/T 5161-2002無公害食品虹鱒養(yǎng)殖技術規(guī)范
- GB/T 27843-2011化學品聚合物低分子量組分含量測定凝膠滲透色譜法(GPC)
- GB/T 19362.2-2017龍門銑床檢驗條件精度檢驗第2部分:龍門移動式銑床
- GB/T 18371-2008連續(xù)玻璃纖維紗
- 石淋(尿石癥)中醫(yī)診療方案
- 《金融學》期末考試復習題庫(帶答案)
- 《心靈奇旅》觀后感
- 2009-2022歷年廣東省汕尾市事業(yè)單位考試《通用能力測試》(綜合類)真題含答案2022-2023上岸必備帶詳解版3
- 鋼結構外觀、幾何尺寸試驗檢測報告
- 千喜鶴指導手冊終版
評論
0/150
提交評論