Informix_on_line資料庫維護技巧
一、 資料庫查詢使用者的建立
銀行Informix_on_line資料庫由於儲存了儲戶的大量重要資訊,為了資料庫的安全性必需要對資料的操作有嚴格的規定,如進入on_line資料庫要履行嚴格的手續,這在某些時候又給查詢問題帶來不便,因此有必要專門建立一個動態查詢使用者,該使用者僅有對資料庫的可讀許可權。 具體做法是: 1.建立查詢使用者,該查詢使用者應具有資料庫使用的環境 2.將查詢使用者與資料庫作連線(work使用者為例) ln-s/homel/work/homel/read(將查詢使用者read與資料庫使用者作連線); 3.由work使用者使用資料庫,將connect許可權賦予read使用者 grant connect to read; 4.對資料庫中每一張表放select權給read使用者 grant select on abc to read.(將select許可權賦給read使用者) 這樣,以read使用者註冊,對資料庫擁有了可讀操作,給查詢問題等帶來方便。
二、 資料庫一致性檢查
a.以informix登入 b.將資料庫狀態置為off_line onmode-ky 用onstat-檢查資料庫狀態為off_line c.將資料庫狀態置為單使用者模式 onmode -s 用onstat-檢查資料庫狀態為quiesent d.檢查資料庫保留頁狀態 oncheck-cr 1>/tmp/oncheck.cr 2>&1 e.檢查資料庫目錄頁一致性 oncheck-cc 1 >/tmp/oncheck.cc 2>&1 f.檢查資料庫資料的一致性 oncheck-cD workdb 1>/tmp/oncheck.cd 2>&1 g.檢查資料庫索引的一致性 oncheck-cI workdb 1>/tmp/oncheck.ci 2>&1 h.檢查/tmp下oncheck.cr,oncheck.cc,oncheck.cd,oncheck.ci檔案,檢視有無錯誤資訊,如沒有,則資料庫狀態正常,反之亦然。 i.將資料庫狀態置為online onmode-m 用onstat-檢查資料庫狀態為online
三、 資料庫的備份與恢復
1.dbexport備份與dbimport恢復 dbexport備份是一文體檔案備份,該備份將資料庫中資訊以文字檔案方式儲存,要注意的是,在備份時必須保證沒有對資料庫有訪問者,否則做dbexport不會成功,dbexport備份的一般格式為(以資料庫workdb為例) dbexport workdb-d -s workdbs /path 2.dbimport恢復是將用dbexport備份的檔案恢復到資料庫中 a.停止一切資料庫操作→刪除資料庫; b.$dbimport workdb-d workdbs -i/path; c.用工具onmonitor將引數TAPEDEV改為/dev/null; d.ontap -s -u workdb.
e.檢查workdb是否改為U狀態. f.將TAPEDEV值改回原先的值. 需要指出的是在dbimport恢復過程中,有大量的資訊要寫在邏輯日誌檔案中,採用上述方式,可避免寫邏輯日誌檔案,加快dbimport的速度。 3.資料庫的零級備份 資料庫零級備份是重要的備份手段,日常一般用磁帶備份,經常用於做重大操作之前的備份,資料往往需要恢復,而磁帶上的零級備份資料由於資料量大,恢復起來花費時間較長,因此,可採用在硬碟上做零級備份的辦法。 a.在硬碟上劃一個足夠大的空間,用於備份檔案的存放。 b.用onmonitor將引數TAPEDEV改定指向零級備份檔案。 如把/cs2000在作為零級備份檔案oback的存放空間,可將引數改為TAPEDEV=/cs2000/oback,這樣可做硬碟零級備份,備份恢復時間只是磁帶機的1/6。在恢復過程中應該用tail -f online.log監控。恢復過程,一直到資料庫狀態變為online.. c.將引數TAPEDEV=/cs2000/oback改為TAREDEV=/dev/rmt/0m;
四、 資料庫常見故障處理
檢查:用onstat_-1檢查邏輯日誌的使用情況,是否中止程式,根據finder col.資料庫故障的一般檢查,首先要檢查資料庫狀態,經常用onstat_de查詢可能出現的錯誤,同時檢查online.log是否報錯。 2.資料庫表的跟蹤:遇到在對資料庫表作大規模操作時,有時我們不知道對該表的操作是否得以在繼續進行,因為isql進入,操作該表,資料庫報“該表已被鎖”資訊,這時可用查詢語句: 首先:set retrieved to drity read 然後:select count(*)from abc, 透過不斷對abc表進入統計,如統計數在不斷增加,則對該表的操作仍在進行,否則,以停止了對該表的操作。還有,當批次執行SQL命令,如update,……insert等時如不能成功執行,可採用增加判斷條件,縮小範圍的方法去執行,往往可以獲得成功,遇有些語句涉及的記錄在處理過程中被鎖定,直到處理過程結束可能超過系統關於同時鎖定界限,遇這種錯誤,可以在開始處理時鎖定該表。 3.故障排除舉例: 故障現象:在銀行批次結息向結息資料表插入記錄時出現informix sqlcode錯誤號為-239。 故障檢查:經查,從現象看,似乎有重複記錄插入表中,但經核查資料,可以肯定資料絕無重複記錄,考慮到表檔案長期使用,表檔案的相關資訊受到某種破壞,為此,做以下操作: a.unload to “/tmp/abc.txt”select*from abc.卸出abc中全部資料; b.drop table abc.(刪除表檔案abc); c.create tabk abc (abc_swo mteger; abc_ano smallint) … );建立資料庫表檔案abc. d.load form“tmp/abc.txt”insert into abc. (將原資料裝入表檔案abc中)。 e.重新執行結息操作,新產生的結息資料順利裝入表檔案abc中,故障得以排除。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-245272/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 維護資料庫安全資料庫
- 資料庫常用維護命令資料庫
- Oracle資料庫日常維護Oracle資料庫
- 六、資料庫管理與維護資料庫
- ORACLE資料庫管理維護綱要Oracle資料庫
- 《大型資料庫技術》MySQL管理維護資料庫MySql
- Oracle資料庫維護的重要性Oracle資料庫
- 【轉】Oracle資料庫日常維護手冊Oracle資料庫
- oralce動態維護資料庫的序列資料庫
- Oracle資料庫中索引的維護 ztOracle資料庫索引
- PostgreSQL學習手冊(資料庫維護)SQL資料庫
- Oracle資料庫日常維護手冊 (zt)Oracle資料庫
- Oracle資料庫中索引的維護(zt)Oracle資料庫索引
- Oracle資料庫中索引的維護(轉)Oracle資料庫索引
- 29. 使用MySQL之資料庫維護MySql資料庫
- Access資料庫日常維護和Access資料庫最佳化方法資料庫
- 資料庫自動維護任務的管理資料庫
- ORACLE資料庫日常維護知識總結Oracle資料庫
- Oracle資料庫維護常用SQL語句集合Oracle資料庫SQL
- Oracle資料庫中索引的維護 (轉帖)Oracle資料庫索引
- UT 資料庫日常維護指導手冊資料庫
- 伺服器維護技巧伺服器
- 資料維護和基礎架構維護-有感架構
- 維護樹狀資料
- 資料庫維護常用操作命令1--約束資料庫
- 啟用enable restricted對資料庫進行維護REST資料庫
- 資料庫維護常用操作命令2--約束資料庫
- 資料庫維護常用操作命令1-表操作資料庫
- dataguard系列之六------備用資料庫的維護資料庫
- Informix Online資料庫日常管理及維護ORM資料庫
- DB2資料庫常用命令集:部分資料庫維護命令DB2資料庫
- 深入FDO----資料維護
- 1.7. 建立和維護資料庫密碼檔案資料庫密碼
- [MySQL光速入門]029 資料庫管理和維護MySql資料庫
- Databricks 第6篇:Spark SQL 維護資料庫和表SparkSQL資料庫
- 資料庫維護常用操作4--表空間操作資料庫
- ORACLE資料庫日常維護的九大知識點Oracle資料庫
- Oracle資料庫維護常用的SQL程式碼示例(zt)Oracle資料庫SQL