版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、INFORMIX數(shù)據(jù)庫維護指南(一)日常維護操作規(guī)程目 錄一 保存好INFORMIX 的系統(tǒng)信息2二 監(jiān)控數(shù)據(jù)空間以及邏輯日志空間的使用情況3三 數(shù)據(jù)的備份4四 數(shù)據(jù)的卸出與裝載5五 INFORMIX 性能的調(diào)整6六 對用戶的監(jiān)控6七 對IFNORMIX IDS 內(nèi)存的監(jiān)控10八 對IFNORMIX IDS 鎖的監(jiān)控11九 用于查詢機數(shù)據(jù)同步的備份操作規(guī)程12十 系統(tǒng)的監(jiān)控方法的匯總12一 保存好INFORMIX 的系統(tǒng)信息請保存好 INFORMIX 如下五類信息:1ONCONFIG 文件;2INFORMIX 用戶的 .profile文件3. INFORMIX 邏輯日志信息 (可用 onsta
2、t l 獲得)4所有Dbspace 以及每個Dbspace 的所有 Chunk 的信息:1). 所有Dbspace 的名字;2). 每個Dbspace 的所有 Chunk 的 path,offset,size. INFORMIX 極力推薦 Chunk 的 Path 使用 Link,這使得真正存放數(shù)據(jù)的設備或文件具有重新定位的可能性。在使用 Link 情況下,請保存每個 Link 所指向的設備或文件的信息。可用: ls l 列出各個 Link 所指向的設備或文件。用” onstat d > file “ 可在 file 中保存所有Dbspace 以及每個Dbspace 的所有 Chunk
3、的信息( size 是以 page 為單位,而建立 Chunk 時是以 K為單位),但請注意,在使用 Link 情況下,onstat d 不含有每個 Link 所指向的設備或文件的信息。5所有Database 以及所含的Table的信息??墒褂?dbschema 獲得該信息: 例: dbschema -d stores7 ss其中的 ss 指定把 lock modes, and extent sizes 信息也包含進來;如上信息為INFORMIX 系統(tǒng)的恢復提供了條件。下面例舉三種典型情況:典型情況 1 :存放某個 dbspace 的設備或文件壞掉了。這時候只要將該 dbspace 的 Pat
4、h 重新 Link 到好的設備或文件上,然后用 ontape 把數(shù)據(jù)及邏輯日志備份恢復上去就可以了。如果Chunk 的 Path 用的是設備或文件處理起來就復雜的多。典型情況 2: INFORMIX 的運行代碼壞掉了但數(shù)據(jù)完好無損。這時的處理步驟為: 1). 從新安裝 INFORMIX IDS ; 2). 把保存的INFORMIX 用戶的 .profile文件 copy 到informix user home 下, 把保存的ONCONFIG 文件copy 到 $INFORMIXDIR/etc 下,并把環(huán)境變量 ONCONFIG 指向該 ONCONFIG 文件; 3). 重新啟動 IDS 即可
5、( 注意:在啟動 IDS 時,如果使用 oninit 千萬不能加 -iy 參數(shù),這樣一來反而會破壞原來完好的數(shù)據(jù))。典型情況 3 : INFORMIX 的運行代碼和數(shù)據(jù)都壞掉了。這時的處理步驟為: 1). 從新安裝 INFORMIX IDS ; 2). 把保存的INFORMIX 用戶的 .profile文件 copy 到 informix user home 下, 把保存的ONCONFIG 文件copy 到 $INFORMIXDIR/etc 下,并把環(huán)境變量 ONCONFIG 指向該 ONCONFIG 文件;這里要注意 LOGFILES,LOGSIZE 這倆個參數(shù),要改小到 rootdbs 能
6、放下所有指定的邏輯日志; 3). 根據(jù)保存的所有Dbspace 以及每個Dbspace 的所有 Chunk 的信息重建除 rootdbs 以外的所有Dbspace(rootdbs 的信息含在 ONCONFIG 文件中).這里要注意在重建Dbspace 時,每一個Dbspace和每一個Chunk要嚴格按照原來 onstat d 的信息標出的順序來建(onstat d 信息中的Dbspace 的 “number“ 與 Chunk 的 “chk/dbs”) : 4). 根據(jù)保存的INFORMIX 邏輯日志信息重建邏輯日志;5). 用 ontape 把數(shù)據(jù)及邏輯日志備份恢復上去。 二 監(jiān)控數(shù)據(jù)空間以及
7、邏輯日志空間的使用情況用” onstat d” 來監(jiān)控數(shù)據(jù)空間的使用情況。主要是查看有沒有足夠的空間以適于數(shù)據(jù)插入的需求,如下圖所示: 如果空間不足,則需要加 Chunk (加 Chunk 的命令在下面敘述)。用 onstat l來監(jiān)控邏輯日志的使用情況。如下圖所示:當標有 “U” (但后不跟 “B”) 和標有 “C” 的 log 的個數(shù)多于 50% 時,請備份邏輯日志。三 數(shù)據(jù)的備份請經(jīng)常備份數(shù)據(jù)。建議每天做一次零級備份。在每次系統(tǒng)做過調(diào)整后尤其是做過重大調(diào)整后,做一次零級備份。監(jiān)控邏輯日志的使用情況,根據(jù)其使用情況,及時做備份。數(shù)據(jù)的備份可用兩種方法:1. ontape2. dbexpor
8、t這兩種方法的區(qū)別是 1). ontape 產(chǎn)生的是二進制流的數(shù)據(jù),只能用于本系統(tǒng)的恢復或是二進制兼容的系統(tǒng)上的恢復;dbexport 產(chǎn)生的是 ASCII 數(shù)據(jù),可以用于非二進制兼容的系統(tǒng)上的恢復 ;2).ontape 含有IDS 的系統(tǒng)信息,而 dbexport 不含有IDS 的系統(tǒng)信息,只含有數(shù)據(jù)庫,表及數(shù)據(jù)信息;3).在數(shù)據(jù)量較大的情況下,ontape 比 dbimport 恢復較快;4).dbexport 出來的文件的大小受到 OS 文件的大小的限制。32位的情況下,不能大于2G。 1 ontape -s : 對數(shù)據(jù)的備份 按提示輸入本次備份的級數(shù)(0級, 1級,2級) 0 級備份是
9、整個ONLINE的備份 1 級備份是在0級基礎上所有修改部分的內(nèi)容的備份 2 級備份是在0級或1級的基礎上所有修改部分的內(nèi)容的備份 2 ontape -a : 對邏輯日志的備份 (自動方式) ontape -c : 對邏輯日志的備份 (連續(xù)方式) 3 ontape -r : 對備份的恢復 按提示依次恢復數(shù)據(jù)備份(0級,1級,2級)和邏輯日志備份四 數(shù)據(jù)的卸出與裝載 1 卸出 dbexport 用于將整個數(shù)據(jù)庫卸出至一個 ascii 文件 dbexport -t device -b blocksize -s tapesize database -o directory onunload 用于將數(shù)
10、據(jù)庫以二進制格式卸出至磁帶 onunload -t device -b blocksize -s tapesize database 2 裝載 dbimport 用于將一 ascii 文件裝入一個數(shù)據(jù)庫 dbimport -t device -b blocksize -s tapesize database -i directory dbload 用于將一個或多個 ascii 文件裝入一個或多個已存在的表 dbload -d database -c commandfile onload 用于裝載以onunload命令卸出的數(shù)據(jù) onload database -t device -b bloc
11、ksize -s tapesize* dbexport 的一個常見錯誤的處理方法 : 如果表中的數(shù)據(jù)含有非法字符,當 dbexport 在卸出該表時會往往斷掉或掛起,可用如下方法處理:1) 用 “dbschema -d 數(shù)據(jù)庫名 -t 表名” 卸出該表的定義;2) 用上面卸出該表的定義創(chuàng)建一個新表;3) 確認該新表與原表完全一致(包括 index, trigger, lockmode 等等)4) 用 “INSERT INTO 新表名 SELECT * FROM 原表名 “ 把數(shù)據(jù)倒到新表中;5) 確認該新表數(shù)據(jù)的與原表的數(shù)據(jù)完全一致;6) DROP 原表;7) RENAME TABLE新表名T
12、O原表名;8) 再啟動 dbexport。五 INFORMIX 性能的調(diào)整INFORMIX 的性能基本取決于應用程序的結構(作用70%)以及 INFORMIX IDS 的參數(shù)設置(作用30%)。在日常維護中請注意一下三點:1 經(jīng)常Updating Statistics:UPDATE STATISTICS LOW|MEDIUM|HIGH 建議使用參數(shù) “hinh”,這會使查詢效率大大提高。上面的語句是針對整個 Database 的,在數(shù)據(jù)量大時,做的時間較長。 另外的一個選擇是針對重點的 Table 做 UPDATE STATISTICS:UPDATE STATISTICS LOW|MEDIUM
13、|HIGHFOR TABLE tabname;2 在 INFORMIX IDS online 一段時間后,請 offline 然后再 online 一次。這樣一來可回收吊死的死進程所占用的內(nèi)存,使得IDS 的性能提高。 3 對于經(jīng)常做為查詢條件的列,如果其上沒有 Index,請為其建 Index。六 對用戶的監(jiān)控1. 使用 onstat u 來查看用戶線程的大致情況,其中包括系統(tǒng)設定的用戶數(shù),當前的用戶數(shù)和本次 IDS online 以來曾經(jīng)達到的最多的用戶數(shù)。2 使用 onstat g ses 查看用戶線程的情況,如下圖所示:session id The session id of the
14、session. This id is used in otheronstat options.login The login name of the client application process.tty The tty of the client application process.pid The process id of the client application process.hostname The host name of the machine running the clientapplication process.#RSAM threads The numb
15、er of threads associated with the session.Normally, only one thread is allocated per session, unlessa sort or index build is occurring.total memory Memory allocated within server shared memory for thesession.used memory Memory used within server shared memory for thesession.3使用 onstat g ses session_
16、id 查看某個用戶線程的情況,如下圖所示:tid The thread idname The thread namerstcb The address of the rsam task control block for the thread.Flags Status information for the thread. Position 1S Waiting on a mutexY Waiting on a conditionL Waiting on a lockB Waiting on a bufferC Waiting on a checkpointX Long transaction
17、 cleanupG Waiting on the log buffer writeT Waiting on a transactionPosition 2* Transaction active while I/O failure occurred (related toarchive activities)Position 3A ArchivingB Begin work has been loggedP Coordinator or Subordinate prepared (distributedtransactions)X XA preparedC CommittingR Rollin
18、g back or rolled backH Heuristically abortingPosition 4P Primary thread for a sessionPosition 5R In read rsam callX Process in critical sectionPosition 7M Special monitorD Special daemon threadC Cleanup threadF Special buffer flusher thread (page cleaner)B Special btree cleaner threadcurstk Size of
19、the stack for this thread.status Current status of this thread.Name, Free, Used The information in these columns are a breakdown of theexact usage of the pools listed for the session.Session Id The session id of the user executing the SQL statement.You can find the user name by executing the onstat
20、-g sescommand and finding the corresponding session id.Stmt type The statement type such as SELECT, UPDATE,DELETE, INSERT.Current Database The name of the current database for the session.Isolation level The current isolation level (CR = committed read,RR = repeatable read, CS = cursor stability,DR
21、= dirty read, NL = no logging).Lock mode The current lock mode (Either Not Wait or Wait x, wherex = number of seconds to wait).SQL ERR The last SQL error.ISAM ERR The last ISAM error.F.E. Vers The Informix version of the client application process.4. 可用onmode -z sess-id 來殺掉某個用戶線程。七 對IFNORMIX IDS 內(nèi)存的
22、監(jiān)控INFORMIX IDS 的內(nèi)存分成下圖的三部分:1 使用 onstat g seg 來查看這三大部分的狀態(tài):onstat -g segSegment Summary:(resident segments are not locked)id key addr size ovhd class blkused blkfree32 1381451777 800000 987136 372 R 117 433 1381451778 8f1000 4096000 252 V 333 16734 1381451779 cd9000 1048576 204 M 106 22 其中的 Message Po
23、rtion 是用于 Client 進程與 Server 的連接選用 Share Memory方式時的通訊區(qū),系統(tǒng)自己控制。Resident Portion是Server 用于存放數(shù)據(jù)和鎖的區(qū)域。它的大小取決于BUFFERS 和LOCKS 這倆個參數(shù)大小的設置,在物理內(nèi)存的 60 70 % 的上限之下原則上越大越好。這里重點要監(jiān)控是 Virtual Portion ,既上面的 V 段。V 段是 Client 線程所占用的的內(nèi)存,它的大小完全取決于當前連接上來的應用的個數(shù)和類型。由于受到 OS 參數(shù)的限制,V段的個數(shù)不能過多,V當段的個數(shù)過多時,請調(diào)大 SHMVIRTSIZE 和SHMADD 這兩
24、個參數(shù)。2 用 onstat g mem 來查看各個線程,進程的內(nèi)存使用情況:請重點注意那些“name” 為數(shù)字且“totalsize” 很大的用戶線程,用 onstat g ses session號(這里session號既是 onstat g mem 中的 “name”)來查看該線程正在做什么。3用 onmode F 回收不用的內(nèi)存。八 對IFNORMIX IDS 鎖的監(jiān)控可用onstat k 來監(jiān)控鎖的使用狀態(tài)。INFORMIXIDS 的 LOCK 是根據(jù)用戶的線程的需要自動加載和解除的。在日常的維護中對 LOCK產(chǎn)生關注往往是由于某個表被某個用戶的線程鎖住而別用戶的線程不能存取該表。這時
25、可用onstat u 與 onstat k 來查出誰鎖住了該表。例 :這個例子是說用戶 joeg 的程序由于在等待(wait)要存取的表老是被鎖在那走不下去了,那么是誰鎖了這個表呢?通過上面按箭頭的查找發(fā)現(xiàn)是 lizg 的程序鎖了該表,也許是 lizg做 Update 做了一半既沒有 commit 也沒有 rollback 就去喝茶啦。這時可用 onstat g ses 23 來看看 lizg 到底在干什么,通知 lizg 下來就行了。九 用于查詢機數(shù)據(jù)同步的備份操作規(guī)程備份要求:每日備份方法:dbshema+shell(unload)dbschema -d 數(shù)據(jù)庫名 > db.sql
26、- 把數(shù)據(jù)庫中的所有表的定義放到 db.sql 文件中;unload to 文件名 select * from 表名 - 把表中的數(shù)據(jù)倒到文件中; ( unload 的 shell 范例請見后面的附件)查詢機上的數(shù)據(jù)恢復要求:每日查詢機上的數(shù)據(jù)恢復方法:dbshema+shell(load)dbaccess 數(shù)據(jù)庫名db.sql - 在數(shù)據(jù)庫中生成在上步中所倒出的所有表的定義;load from 文件名insert into表名 - 把文件中的數(shù)據(jù)倒到表中 ( load 的 shell 范例請見后面的附件)十 系統(tǒng)的監(jiān)控方法的匯總 1總體(GENERAL)性能監(jiān)測命令:onstat p說明:輸
27、出中的兩個%cache,第一個是讀的命中率,第二個是寫的命中率,這兩個值應分別在90%,80%以上,ovlock、 ovuserthread、ovbuff這三項一定要是0,否則相關的資源不夠。 * 注:如果數(shù)據(jù)庫都是 UNBUFFER 的,則上述的兩個%cache 的值低不一定是性能低。2. onstat m此命令報告數(shù)據(jù)庫執(zhí)行中的日志情況,要經(jīng)常使用此命令觀測數(shù)據(jù)庫有無出錯信息,并注意檢查點的執(zhí)行時間,如果執(zhí)行時間持續(xù)在10秒以上,則需要進行相應的調(diào)整以減少檢查點持續(xù)的時間。3. onstat D觀測數(shù)據(jù)庫各dbspace的讀寫情況,對于使用磁盤陣列(采用RAID1+0或RAID5)的用戶,
28、此命令沒有什么影響,但對于使用多個硬盤來配置數(shù)據(jù)庫的用戶來說,此項非常重要,根據(jù)此項的輸出,調(diào)整各dbspace在硬盤上的分布,以求各硬盤的I/O大致相等,從而使的系統(tǒng)的I/O性能最優(yōu)化。4.檢查數(shù)據(jù)的完整性Check reserve pages - oncheck -crCheck extents - oncheck -ceCheck system catalog tables - oncheck -cc database_nameCheck data - oncheck -cD database_nameCheck indexes - oncheck -cI database_name5
29、查看系統(tǒng)狀態(tài) onstat - 查看當前ONLINE 狀態(tài) -l 查看日志狀態(tài) -u 查看用戶線索 -m 查看 message log -p 查看 profile -z 清空 profile -d 查看 DBspaces 和 Chunk -F 查看磁盤的讀寫方式 -r n 每隔n秒重復一次查看操作 -g ath 查看所有的線索 -g glo 查看多線索的全局信息 -g seg 查看內(nèi)存 segment 狀態(tài) -g mgm 查看內(nèi)存管理信息 -g ioq 查看磁盤 I/O 隊列 -g ses 查看 session 信息 -g sql 查看 sql 信息6修改系統(tǒng)參數(shù) onmonitor ->
30、;Parameters 請注意使用初始化選項 initialize ! 7 日志管理 日志管理中 應常用 onmonitor -> Status 或 onstat -l 查看邏輯日志狀態(tài)及時做邏輯日志備份 $onparams -a -d DBspace 增加一個邏輯日志 -d -l Logid 刪除一個邏輯日志 -p -s size -d DBspace 修改物理日志的大小和位置 8 改變當前的ONLINE $ onmode -ky : on-line -> off-line $ oninit : off-line -> on-line $ oninit -s : off-l
31、ine -> quiescent $ onmode -m : quiescent -> on-line $ onmode -u : on-line -> quiescent, immediately shutdown -s : on-line -> quiescent, graceful shutdown $ onmode -k : on-line -> quiescent 9 增加 dbspace 和 chunk : 以 informix 用戶注冊,執(zhí)行onmonitor -> Dbspace -> Create ( 增加 dbspace ) -&g
32、t; Dbspace -> Add_chunk ( 增加 chunk ) 10 設置磁帶機設備onmonitor -> Archive 對其中的: Tape Dev - 指定磁帶機設備名Block Size - 指定磁帶的塊的尺寸 Total Tape Size - 指定磁帶的總的容量附件 unload 和load 的 shell 范例 unload 的 shell 范例 :dbaccess datacenter - << EOF >>/tmp/datacenter.log 2>&1!echo "unload database datacenter"set isolation dirty read;!echo "unload table charge"unload to /u1/backup/datacenter/charge.txtselect * from charge;!echo "unload tab
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度牛糞有機肥原料采購合同范本4篇
- 二零二五年度家具原材料采購合同4篇
- 2025年度智能儲藏室與車位租賃買賣合同模板4篇
- 二零二五年度外匯貸款合同違約責任范本
- 2025年度房地產(chǎn)估價咨詢合同示范文本
- 2025年度民辦學校教師學術交流與合作合同4篇
- 二零二五年度外教兼職學術研究資助合同
- 二零二五年度國際酒店前臺服務員聘用合同范本4篇
- 2025年度廣告代理合同終止協(xié)議范文
- 二零二五年度汽車交易傭金合同電子版
- 2025屆河北省衡水市衡水中學高考仿真模擬英語試卷含解析
- 新修訂《保密法》知識考試題及答案
- 電工基礎知識培訓課程
- 住宅樓安全性檢測鑒定方案
- 廣東省潮州市潮安區(qū)2023-2024學年五年級上學期期末考試數(shù)學試題
- 市政道路及設施零星養(yǎng)護服務技術方案(技術標)
- 選擇性必修一 期末綜合測試(二)(解析版)2021-2022學年人教版(2019)高二數(shù)學選修一
- 《論語》學而篇-第一課件
- 《寫美食有方法》課件
- 學校制度改進
- 各行業(yè)智能客服占比分析報告
評論
0/150
提交評論