服務(wù)創(chuàng)造價值、存在造就未來
重慶石谷嚴格遵循以下流程進行數(shù)據(jù)庫系統(tǒng)安裝配置工作。

圖二 數(shù)據(jù)庫系統(tǒng)安裝流程圖
流程說明:
(1)數(shù)據(jù)庫協(xié)維人員根據(jù)數(shù)據(jù)庫要求,協(xié)助需求方評審,制定初步規(guī)劃。落實相關(guān)資源,并按需求方要求執(zhí)行。
(2)數(shù)據(jù)庫協(xié)維人員進行安裝調(diào)試,安裝完畢之后測試。在此過程中,系統(tǒng)協(xié)維人員給與必要的協(xié)助(創(chuàng)建帳號、賦予權(quán)限等)。
(3)系統(tǒng)協(xié)維人員在安裝的服務(wù)器上修改服務(wù)器檔案,確保該服務(wù)器檔案反映了該服務(wù)器的最新狀態(tài)。
(4)數(shù)據(jù)庫協(xié)維人員制定數(shù)據(jù)庫檔案,記錄新安裝的數(shù)據(jù)庫的狀態(tài)。
(5)測試沒有問題之后,該數(shù)據(jù)庫系統(tǒng)安裝完畢,匯報相關(guān)人員及交付需求方使用。
重慶石谷對數(shù)據(jù)庫日志和對應(yīng)主機日志的巡檢工作制定了每日巡檢計劃,規(guī)定了巡檢工作的細粒度和頻率,數(shù)據(jù)庫協(xié)維工程師依照巡檢計劃每天定時開展日志檢查、告警日志分析、數(shù)據(jù)庫性能指標檢查、相關(guān)日志清理等巡檢工作。
每日巡檢計劃模板示例:
數(shù)據(jù)庫 | 數(shù)據(jù)庫日志 | 主機日志 | 性能指標 | 日志清理 | 結(jié)果分析 | 執(zhí)行人 |
核心庫 | 3次/天 | 3次/天 | 5次/天 | 1次/1月 | 16點/天 | |
務(wù)工易 | 3次/天 | 3次/天 | 5次/天 | 1次/1月 | 16點/天 | |
中央信息 | 3次/天 | 3次/天 | 5次/天 | 1次/1月 | 16點/天 | |
IVR座席 | 3次/天 | 3次/天 | 5次/天 | 1次/1月 | 16點/天 | |
二線客服 | 3次/天 | 3次/天 | 5次/天 | 1次/1月 | 16點/天 | |
經(jīng)分 | 3次/天 | 3次/天 | 5次/天 | 1次/1月 | 16點/天 | |
百事易 | 3次/天 | 3次/天 | 5次/天 | 1次/1月 | 16點/天 | |
病蟲害 | 3次/天 | 3次/天 | 5次/天 | 1次/1月 | 16點/天 |
巡檢內(nèi)容及報告模板示例:
數(shù)據(jù)庫 | 數(shù)據(jù)庫日志 | 主機日志 | 監(jiān)聽日志 | 空間檢查 | 結(jié)果分析 |
核心庫 | alert_db.log | messages | listener.log | df -h | 16點/天 |
務(wù)工易 | alert_db.log | messages | listener.log | df -h | 16點/天 |
中央信息 | alert_db.log | messages | listener.log | df -h | 16點/天 |
IVR座席 | alert_db.log | messages | listener.log | df -h | 16點/天 |
二線客服 | alert_db.log | messages | listener.log | df -h | 16點/天 |
經(jīng)分 | alert_db.log | messages | listener.log | df -h | 16點/天 |
百事易 | alert_db.log | messages | listener.log | df -h | 16點/天 |
病蟲害 | alert_db.log | messages | listener.log | df -h | 16點/天 |
指標內(nèi)容及報告模板示例:
數(shù)據(jù)庫 | 表空間檢查 | TOPSQL | 當前會話 | 失效索引 | 無效對象檢查 |
核心庫 | 腳本 | awr報告 | 腳本 | 腳本 | 腳本 |
務(wù)工易 | 腳本 | awr報告 | 腳本 | 腳本 | 腳本 |
中央信息 | 腳本 | awr報告 | 腳本 | 腳本 | 腳本 |
IVR座席 | 腳本 | awr報告 | 腳本 | 腳本 | 腳本 |
二線客服 | 腳本 | awr報告 | 腳本 | 腳本 | 腳本 |
經(jīng)分 | 腳本 | awr報告 | 腳本 | 腳本 | 腳本 |
百事易 | 腳本 | awr報告 | 腳本 | 腳本 | 腳本 |
病蟲害 | 腳本 | awr報告 | 腳本 | 腳本 | 腳本 |
巡檢操作方式示例:
ftp 192.168.180.62 oracle 用戶登錄
在如下目錄 獲取當日目錄所有信息,然后發(fā)給相關(guān)負責人。
/home/oracle/rpt_pday/
drwxr-xr-x 2 oracle oinstall 4096 Mar 22 09:26 20120322
在檢查日志時,查看有無“ORA-”,Error”,“Failed”等出錯信息,發(fā)現(xiàn)錯誤提示信息,根據(jù)錯誤進行分析,判斷、處理,事后對相關(guān)信息做備案,反饋相關(guān)人員。
要保持數(shù)據(jù)庫安全穩(wěn)定運行,需要全面的巡檢和維護計劃,重慶石谷制定了長期及特殊時期維護作業(yè)計劃。
數(shù)據(jù)庫周期維護計劃表:
維護數(shù)據(jù)庫 | 維護日期 | ||||
維護記錄 | |||||
頻率 | 維護內(nèi)容 | 備注 | |||
月度 |
| ||||
季度 |
| ||||
半年 | 1、數(shù)據(jù)庫安全補丁升級 2、對數(shù)據(jù)庫運行參數(shù)值檢查,性能評估、調(diào)整 | ||||
一年 | 1、對數(shù)據(jù)庫做一次全面健康檢查工作 2、根據(jù)本年度運行維護總結(jié),提出下一年相關(guān)資源需求計劃 | ||||
數(shù)據(jù)庫日常運行過程中,因某種原因?qū)е轮卮笫录?,為了保證12582基地的可用性,定制數(shù)據(jù)庫重大事件處理作業(yè)計劃。
數(shù)據(jù)庫重大事件處理計劃表:
數(shù)據(jù)庫 | 維護日期 | |||
維護記錄 | ||||
事件 | 處理過程 | 備注 | ||
參數(shù)不對 | 檢查初始化參數(shù)文件是否正常 | |||
控制文件損壞 | 1.確保數(shù)據(jù)庫已經(jīng)關(guān)閉,如果沒有用下面的命令來關(guān)閉數(shù)據(jù)庫: racdbl>shutdown immediate; 2.查看初始化文件$ORACLE_BASE/admin/pfile/initORCL.ora,確定所有控制文件的路徑。 3.用操作系統(tǒng)命令將其它正確的控制文件覆蓋錯誤的控制文件。 4.用下面的命令重新啟動數(shù)據(jù)庫: racdbl >startup; 5.用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份。 損壞所有的控制文件: 1.確保數(shù)據(jù)庫已經(jīng)關(guān)閉,如果沒有用下面的命令來關(guān)閉數(shù)據(jù)庫: racdbl >shutdown immediate; 2.從相應(yīng)的備份結(jié)果集中恢復(fù)最近的控制文件。對于沒有采用帶庫備份的點可以直接從磁帶上將最近的控制文件備份恢復(fù)到相應(yīng)目錄;對于采用帶庫備份的點用相應(yīng)的rman腳本來恢復(fù)最近的控制文件。 3.用下面的命令來創(chuàng)建產(chǎn)生數(shù)據(jù)庫控制文件的腳本: racdbl >startup mount; racdbl >alter database backup controlfile to trace noresetlogs; 4.修改第三步產(chǎn)生的trace文件,將其中關(guān)于創(chuàng)建控制文件的一部分語句拷貝出來并做些修改,使得它能夠體現(xiàn)最新的數(shù)據(jù)庫結(jié)構(gòu)。假設(shè)產(chǎn)生的sql文件名字為createcontrol.sql. 注意: Trace文件的具體路徑可以在執(zhí)行完第3步操作后查$ORACLE_ BASE/admin/bdump/alert_ORCL.ora文件來確定。 5.用下面命令重新創(chuàng)建控制文件: racdbl >shutdown abort; racdbl >startup nomount; racdbl >@createcontrol.sql; 6.用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份。 | |||
重做日志文件損壞: | 數(shù)據(jù)庫的所有增、刪、改都會記錄入重做日志。如果當前激活的重做日志文件損壞,會導致數(shù)據(jù)庫異常關(guān)閉。非激活的重做日志最終也會因為日志切換變?yōu)榧せ畹闹刈鋈罩?,所以損壞的非激活的重做日志最終也會導致數(shù)據(jù)庫的異常終止。在ipas/mSwitch中每組重做日志只有一個成員,所以在下面的分析中只考慮重做日志組損壞的情況,而不考慮單個重做日志成員損壞的情況。 確定損壞的重做日志的位置及其狀態(tài): 1.如果數(shù)據(jù)庫處于可用狀態(tài): select * from v$logfile; racdbl >select * from v$log; 2.如果數(shù)據(jù)庫處于已經(jīng)異常終止: racdbl >startup mount; racdbl >select * from v$logfile; svrmgrl>select * from v$log; 其中,logfile的狀態(tài)為INVALID表示這組日志文件出現(xiàn)已經(jīng)損壞;log狀態(tài)為Inactive:表示重做日志文件處于非激活狀態(tài);Active: 表示重做日志文件處于激活狀態(tài);Current:表示是重做日志為當前正在使用的日志文件。 損壞的日志文件處于非激活狀態(tài): 1.刪除相應(yīng)的日志組: racdbl >alter database drop logfile group group_number; 2.重新創(chuàng)建相應(yīng)的日志組: racdbl >alter database add log file group group_number (’log_file_descritpion’,…) size log_file_size; 損壞的日志文件處于激活狀態(tài)且為非當前日志: 1.清除相應(yīng)的日志組: racdbl>alter database clear unarchived logfile group group_number; 損壞的日志文件為當前活動日志文件: 用命令清除相應(yīng)的日志組: racdbl>alter database clear unarchived logfile group group_number; 如果清除失敗,則只能做基于時間點的不完全恢復(fù)。 打開數(shù)據(jù)庫并且用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份: racdbl >alter database open; 部分數(shù)據(jù)文件損壞: 若損壞的數(shù)據(jù)文件屬于非system表空間,則數(shù)據(jù)庫仍然可以處于打開狀態(tài)可以進行操作,只是損壞的數(shù)據(jù)文件不能訪問。這時在數(shù)據(jù)庫打開狀態(tài)下可以單獨對損壞的數(shù)據(jù)文件進行恢復(fù)。若是system表空間的數(shù)據(jù)文件損壞則數(shù)據(jù)庫系統(tǒng)會異常終止。這時數(shù)據(jù)庫只能以Mount方式打開,然后再對數(shù)據(jù)文件進行恢復(fù)。可以通過查看數(shù)據(jù)庫日志文件來判斷當前損壞的數(shù)據(jù)文件到底是否屬于system表空間。 | |||