數(shù)據(jù)庫(kù)運(yùn)維流程工作流標(biāo)準(zhǔn)20150721_第1頁(yè)
數(shù)據(jù)庫(kù)運(yùn)維流程工作流標(biāo)準(zhǔn)20150721_第2頁(yè)
數(shù)據(jù)庫(kù)運(yùn)維流程工作流標(biāo)準(zhǔn)20150721_第3頁(yè)
數(shù)據(jù)庫(kù)運(yùn)維流程工作流標(biāo)準(zhǔn)20150721_第4頁(yè)
數(shù)據(jù)庫(kù)運(yùn)維流程工作流標(biāo)準(zhǔn)20150721_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)運(yùn)維流程工作流標(biāo)準(zhǔn)文件修訂記錄表日期作者修訂類(lèi)型修訂內(nèi)容版本2015.7.20新增制定本方案1.0目錄數(shù)據(jù)庫(kù)運(yùn)維流程1工作流標(biāo)準(zhǔn)1目錄2服務(wù)器配置標(biāo)準(zhǔn)3安裝標(biāo)準(zhǔn)3監(jiān)控標(biāo)準(zhǔn)3業(yè)務(wù)保障標(biāo)準(zhǔn)4慢查詢標(biāo)準(zhǔn)4配合開(kāi)發(fā)評(píng)估SQL標(biāo)準(zhǔn)5故障處理流程和故障報(bào)告標(biāo)準(zhǔn)6備份數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)7數(shù)據(jù)批量處理流程標(biāo)準(zhǔn)7災(zāi)備、高可用標(biāo)準(zhǔn)8數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限管理標(biāo)準(zhǔn)8服務(wù)器配置標(biāo)準(zhǔn)根據(jù)DBA提出的需求來(lái)采購(gòu)、安裝、配置數(shù)據(jù)庫(kù)服務(wù)器,硬件標(biāo)準(zhǔn)如下:2U機(jī)架式;CPU 型號(hào)INTEL Xeon系列 2.4GHz或以上;數(shù)量 2顆;內(nèi)存 32GB 或 64GB;硬盤(pán) 600GB*6塊 10KB SAS硬盤(pán),RAID 10;如果IO存

2、在瓶頸,可以配置PCIe SSD固態(tài)硬盤(pán);軟件標(biāo)準(zhǔn)如下:CentOS release 6.6 (Final) 2.6.32 x86_64 GNU/Linux安裝標(biāo)準(zhǔn)用戶名稱Oracle數(shù)據(jù)庫(kù)用戶為:oracleMysql數(shù)據(jù)庫(kù)用戶為:mysql安裝位置:Oracle數(shù)據(jù):/oracleMysql軟件:/data/womai/mysqlMysql數(shù)據(jù):/data內(nèi)存使用(32GB)Oracle SGA使用 20GBOracle PGA使用 3GBMysql buffer_pool 使用 20GBMysql key_buffer 使用 512MB監(jiān)控標(biāo)準(zhǔn)1.系統(tǒng)自動(dòng)收集數(shù)據(jù)庫(kù)中告警日志中的錯(cuò)誤信息

3、,以郵件形式發(fā)送至郵箱,數(shù)據(jù)庫(kù)管理員需每日查看該郵件,并及時(shí)處理。2.每日查看Nagios數(shù)據(jù)庫(kù)告警信息。3.當(dāng)手機(jī)信息、郵件收到Nagios告警信息時(shí),需第一時(shí)間告知領(lǐng)導(dǎo)和相關(guān)項(xiàng)目人員,并及時(shí)進(jìn)行處理。具體監(jiān)控項(xiàng)目如下:Check current users logged in;Check load average;Check disk;Check processes;Check net bps;Check cpu utilization;Check memory;Check swap;Check iostat;Check tcp stats;Check ssh login;Check da

4、tabase portCheck database Uptime;Threads;Opens;locksCheck database sessions;業(yè)務(wù)保障標(biāo)準(zhǔn)根據(jù)業(yè)務(wù)優(yōu)先級(jí)劃分如下:一類(lèi)業(yè)務(wù):網(wǎng)站、手機(jī)。建議在五分鐘內(nèi)恢復(fù)業(yè)務(wù);二類(lèi)業(yè)務(wù):CC 。建議數(shù)據(jù)庫(kù)故障不要影響接電話,并在十五分鐘內(nèi)恢復(fù)業(yè)務(wù);三類(lèi)業(yè)務(wù):WMS。建議在十五分鐘內(nèi)恢復(fù)業(yè)務(wù);四類(lèi)業(yè)務(wù):其他業(yè)務(wù)建議在六十分鐘內(nèi)恢復(fù)業(yè)務(wù);慢查詢標(biāo)準(zhǔn)Oracle部分慢查詢定義,抓取每個(gè)類(lèi)別的top 3,然后進(jìn)行優(yōu)化。SQL ordered by Elapsed TimeSQL ordered by CPU TimeSQL ordered by

5、 ExecutionsSQL ordered by Parse CallsMysql部分慢查詢定義,抓取每個(gè)類(lèi)別的top 3,然后進(jìn)行優(yōu)化。SQL ordered by Record CountSQL ordered by Elapsed TimeSQL ordered by Lock TimeSQL ordered by Fetch Back配合開(kāi)發(fā)評(píng)估SQL標(biāo)準(zhǔn)(1) sql語(yǔ)句盡可能簡(jiǎn)單大的sql想辦法拆成小的sql語(yǔ)句(充分利用QUERY CACHE和充分利用多核CPU)(2) 事務(wù)要簡(jiǎn)單,整個(gè)事務(wù)的時(shí)間長(zhǎng)度不要太長(zhǎng) (3) 避免使用觸發(fā)器、函數(shù)、存儲(chǔ)過(guò)程(4) 降低業(yè)務(wù)耦合度,為sa

6、cle out、sharding留有余地(5) 避免在數(shù)據(jù)庫(kù)中進(jìn)行數(shù)學(xué)運(yùn)算(MySQL不擅長(zhǎng)數(shù)學(xué)運(yùn)算和邏輯判斷)(4) 不要用select *,查詢哪幾個(gè)字段就select 這幾個(gè)字段(5) sql中使用到OR的改寫(xiě)為用 IN() (or的效率沒(méi)有in的效率高)(6) in里面數(shù)字的個(gè)數(shù)建議控制在1000以內(nèi)(7) limit分頁(yè)注意效率。Limit越大,效率越低。可以改寫(xiě)limit,比如例子改寫(xiě):select id from tlimit 10000, 10; => select id from t where id > 10000 limit10;(9) 使用union all

7、替代union(10) 避免使?大表的JOIN(11) 使用group by 分組、自動(dòng)排序(12) 對(duì)數(shù)據(jù)的更新要打散后批量更新,不要一次更新太多數(shù)據(jù)(13) 減少與數(shù)據(jù)庫(kù)的交互次數(shù)(13) 注意使用性能分析工具Sql explain / showprofile / mysqlsla(14) SQL語(yǔ)句要求所有研發(fā),SQL關(guān)鍵字全部是大寫(xiě),每個(gè)詞只允許有一個(gè)空格(15) SQL語(yǔ)句不可以出現(xiàn)隱式轉(zhuǎn)換,比如 select id from 表 where id='1'(16) IN條件里面的數(shù)據(jù)數(shù)量要少,我記得應(yīng)該是500個(gè)以內(nèi),要學(xué)會(huì)使用exist代替in,exist在一些場(chǎng)景

8、查詢會(huì)比in快(17) 能不用NOT IN就不用NOTIN,坑太多了。會(huì)把空和NULL給查出來(lái)(18) 在SQL語(yǔ)句中,禁止使用前綴是%的like(19) 不使用負(fù)向查詢,如not in/like(19) 關(guān)于分頁(yè)查詢:程序里建議合理使用分頁(yè)來(lái)提高效率limit,offset較大要配合子查詢使用(20) 禁止在數(shù)據(jù)庫(kù)中跑大查詢(21) 使用預(yù)編譯語(yǔ)句,只傳參數(shù),比傳遞SQL語(yǔ)句更高效;一次解析,多次使用;降低SQL注入概率(22) 禁止使用order by rand()(23) 禁止單條SQL語(yǔ)句同時(shí)更新多個(gè)表故障處理流程和故障報(bào)告標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)負(fù)責(zé)人職責(zé)梳理:1、 數(shù)據(jù)庫(kù)出現(xiàn)故障后,由相關(guān)責(zé)任人

9、進(jìn)行處理。2、 第一責(zé)任人負(fù)責(zé)準(zhǔn)備切換文檔,并登錄遠(yuǎn)程服務(wù)器,執(zhí)行切換任務(wù);3、 第二責(zé)任人登錄遠(yuǎn)程管理卡,檢查硬件和服務(wù)器的狀態(tài),記錄或截圖后重啟服務(wù)器,并配合第一責(zé)任人切換。數(shù)據(jù)庫(kù)切換流程梳理:1、收到告警,登錄后發(fā)現(xiàn)數(shù)據(jù)庫(kù)故障,且影響業(yè)務(wù)?;蛘邿o(wú)法登錄主機(jī),無(wú)法登錄遠(yuǎn)程管理卡,或發(fā)現(xiàn)遠(yuǎn)程管理卡有故障日志導(dǎo)致服務(wù)器故障。總之業(yè)務(wù)停掉了。2、第一時(shí)間通知宋經(jīng)理和項(xiàng)目人員3、數(shù)據(jù)庫(kù)主機(jī)無(wú)法恢復(fù)后,向宋哥確認(rèn)切換主機(jī)4、登陸備機(jī)機(jī)開(kāi)始切換(根據(jù)實(shí)際情況,首選switchover)附件為CC (oracle) 項(xiàng)目和CMS (mysql) 項(xiàng)目的切換文檔。撰寫(xiě)故障報(bào)告,每月為一個(gè)文檔,文檔名稱為數(shù)

10、據(jù)庫(kù)組故障報(bào)告表YYYYMM.xlsx 。 打開(kāi)故障文檔,首頁(yè)為索引,記錄每次故障的編號(hào),所屬項(xiàng)目,狀態(tài),時(shí)間,相關(guān)人員。后面每個(gè)表單記錄一次具體故障,這里會(huì)詳細(xì)記錄故障表現(xiàn)和處理方法等。附件為2015年4月的故障報(bào)告。備份數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)1.每周一至周六進(jìn)行增量備份,周日進(jìn)行全量備份。2.備份統(tǒng)一由遠(yuǎn)程備份至備份存儲(chǔ)機(jī)器。3.備份由凌晨十二點(diǎn)開(kāi)始,分項(xiàng)目分時(shí)段備份,不得重疊備份。4.備份集需保留2周數(shù)據(jù)。兩周后由腳本自動(dòng)刪除。5.每季度將數(shù)據(jù)保存至移動(dòng)存儲(chǔ)介質(zhì)做永久保存。數(shù)據(jù)批量處理流程標(biāo)準(zhǔn)大批量操作(增、刪、改)數(shù)據(jù)流程:為避免數(shù)據(jù)庫(kù)大批量操作數(shù)據(jù)時(shí)產(chǎn)生長(zhǎng)時(shí)間的鎖、等待、數(shù)據(jù)不一致、數(shù)據(jù)庫(kù)壓力太

11、大、數(shù)據(jù)庫(kù)容災(zāi)備庫(kù)日志恢復(fù)緩慢等現(xiàn)象,特制訂本流程望各位遵守。1.所有大批量操作數(shù)據(jù)時(shí),需要提前告知數(shù)據(jù)庫(kù)管理員,數(shù)據(jù)庫(kù)管理員會(huì)同時(shí)間跟蹤該數(shù)據(jù)庫(kù)及災(zāi)備數(shù)據(jù)庫(kù)狀況。2.在刪除操作時(shí),為減小對(duì)線上生產(chǎn)造成的壓力,刪除工作時(shí)間段盡量選擇在夜里業(yè)務(wù)清閑時(shí)做(可執(zhí)行數(shù)據(jù)庫(kù)job)。3.刪除大批量數(shù)據(jù)時(shí),需將大事務(wù)縮減為小事務(wù),分批提交,每1000條提交一次。減少對(duì)數(shù)據(jù)庫(kù)的壓力。DECLARE CURSOR MYCURSOR IS SELECT ROWID FROM table_name WHERE xxx = 'xxx' ORDER BY ROWID; -按ROWID排序的CURSOR

12、,刪除條件是XXX=XXXX,根據(jù)實(shí)際情況寫(xiě) TYPE ROWID_TABLE_TYPE IS TABLE OF ROWID INDEX BY PLS_INTEGER; V_ROWID ROWID_TABLE_TYPE; BEGIN OPEN MYCURSOR; LOOP FETCH MYCURSOR BULK COLLECT INTO V_ROWID LIMIT 1000; -每次處理1000行,也就是每1000行一提交 EXIT WHEN V_ROWID.COUNT=0; FORALL I IN V_ROWID.FIRST.V_ROWID.LAST DELETE FROM table_name WHERE ROWID=V_ROWID(I); COMMIT; END LOOP; CLOSE MYCURSOR; END; /災(zāi)備、高可用標(biāo)準(zhǔn)1.所有數(shù)據(jù)庫(kù)必須排除單點(diǎn),實(shí)行主、備(從)機(jī)制。2.備庫(kù)與主庫(kù)實(shí)現(xiàn)實(shí)時(shí)同步機(jī)制,將提交數(shù)據(jù)同時(shí)在備庫(kù)執(zhí)行恢復(fù),保證主備庫(kù)數(shù)據(jù)一直。3.每周檢查主備庫(kù)同步情況。4.備庫(kù)服務(wù)器環(huán)境盡量保持與主庫(kù)一直,巡檢時(shí)關(guān)注備庫(kù)壓力,并預(yù)測(cè)備庫(kù)是否可以支撐業(yè)務(wù)壓力。5.數(shù)據(jù)庫(kù)出現(xiàn)壓力過(guò)大時(shí),需實(shí)現(xiàn)讀寫(xiě)分離架構(gòu)。將報(bào)表、執(zhí)行效率低下SQL等與主庫(kù)分離。6.數(shù)據(jù)庫(kù)使用keepa

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論