




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)監(jiān)控制度一、數(shù)據(jù)庫(kù)監(jiān)控制度概述
數(shù)據(jù)庫(kù)監(jiān)控制度是指通過(guò)一系列技術(shù)手段和管理規(guī)范,對(duì)數(shù)據(jù)庫(kù)的運(yùn)行狀態(tài)、性能指標(biāo)、安全狀況進(jìn)行全面監(jiān)控、分析和管理的制度。其目的是確保數(shù)據(jù)庫(kù)的穩(wěn)定運(yùn)行、高效性能和數(shù)據(jù)安全,及時(shí)發(fā)現(xiàn)并解決潛在問(wèn)題,保障業(yè)務(wù)的連續(xù)性和數(shù)據(jù)完整性。數(shù)據(jù)庫(kù)監(jiān)控制度主要包括監(jiān)控目標(biāo)、監(jiān)控內(nèi)容、監(jiān)控方法、異常處理等方面。
二、數(shù)據(jù)庫(kù)監(jiān)控目標(biāo)
(一)確保數(shù)據(jù)庫(kù)穩(wěn)定運(yùn)行
1.監(jiān)控?cái)?shù)據(jù)庫(kù)服務(wù)器的CPU、內(nèi)存、磁盤(pán)等硬件資源使用情況,防止資源耗盡導(dǎo)致服務(wù)中斷。
2.監(jiān)控?cái)?shù)據(jù)庫(kù)連接數(shù)、并發(fā)會(huì)話數(shù),確保系統(tǒng)在高負(fù)載下仍能穩(wěn)定運(yùn)行。
3.監(jiān)控?cái)?shù)據(jù)庫(kù)啟動(dòng)、關(guān)閉狀態(tài),確保系統(tǒng)按預(yù)期正常啟動(dòng)和關(guān)閉。
(二)優(yōu)化數(shù)據(jù)庫(kù)性能
1.監(jiān)控關(guān)鍵業(yè)務(wù)SQL語(yǔ)句的執(zhí)行時(shí)間,識(shí)別并優(yōu)化慢查詢(xún)。
2.監(jiān)控索引使用情況,確保索引有效提高查詢(xún)效率。
3.監(jiān)控?cái)?shù)據(jù)庫(kù)緩存命中率,優(yōu)化緩存策略提高響應(yīng)速度。
(三)保障數(shù)據(jù)安全
1.監(jiān)控?cái)?shù)據(jù)庫(kù)訪問(wèn)權(quán)限,防止未授權(quán)訪問(wèn)和惡意操作。
2.監(jiān)控?cái)?shù)據(jù)備份和恢復(fù)狀態(tài),確保數(shù)據(jù)可恢復(fù)性。
3.監(jiān)控?cái)?shù)據(jù)加密傳輸和存儲(chǔ)情況,防止數(shù)據(jù)泄露。
三、數(shù)據(jù)庫(kù)監(jiān)控內(nèi)容
(一)系統(tǒng)級(jí)監(jiān)控
1.服務(wù)器硬件資源監(jiān)控:
-CPU使用率:正常范圍應(yīng)控制在70%以下,持續(xù)高于85%需預(yù)警。
-內(nèi)存使用率:可用內(nèi)存低于20%需預(yù)警。
-磁盤(pán)空間:可用空間低于15%需預(yù)警。
-磁盤(pán)I/O:讀寫(xiě)速度異常波動(dòng)需分析原因。
2.數(shù)據(jù)庫(kù)進(jìn)程監(jiān)控:
-后臺(tái)進(jìn)程狀態(tài):如日志寫(xiě)入、索引重建等關(guān)鍵進(jìn)程狀態(tài)。
-鎖等待情況:高鎖等待率可能導(dǎo)致性能下降。
(二)性能級(jí)監(jiān)控
1.查詢(xún)性能監(jiān)控:
-SQL執(zhí)行時(shí)間:平均執(zhí)行時(shí)間超過(guò)1秒需優(yōu)化。
-查詢(xún)緩存命中率:低于60%需分析原因。
-熱點(diǎn)表監(jiān)控:頻繁更新的表可能導(dǎo)致性能瓶頸。
2.事務(wù)監(jiān)控:
-事務(wù)成功率:低于95%需分析失敗原因。
-事務(wù)隔離級(jí)別:過(guò)高隔離級(jí)別可能影響性能。
(三)安全級(jí)監(jiān)控
1.訪問(wèn)控制監(jiān)控:
-異常登錄IP:非工作時(shí)間異地登錄需報(bào)警。
-權(quán)限變更記錄:定期審計(jì)權(quán)限變更情況。
2.數(shù)據(jù)完整性監(jiān)控:
-重復(fù)數(shù)據(jù)檢測(cè):定期掃描重復(fù)記錄。
-數(shù)據(jù)校驗(yàn):關(guān)鍵數(shù)據(jù)字段進(jìn)行完整性校驗(yàn)。
四、數(shù)據(jù)庫(kù)監(jiān)控方法
(一)自動(dòng)化監(jiān)控工具部署
1.選擇合適的監(jiān)控工具:
-商業(yè)工具:如SolarWinds、Zabbix等。
-開(kāi)源工具:如Prometheus、Nagios等。
2.配置監(jiān)控參數(shù):
-設(shè)定閾值:如CPU使用率超過(guò)80%觸發(fā)報(bào)警。
-設(shè)置監(jiān)控頻率:關(guān)鍵指標(biāo)每5分鐘采集一次。
(二)日志分析系統(tǒng)
1.部署日志收集系統(tǒng):
-ELK棧(Elasticsearch、Logstash、Kibana)。
-Splunk等商業(yè)日志分析系統(tǒng)。
2.配置日志規(guī)則:
-關(guān)鍵錯(cuò)誤日志(Error)級(jí)別以上自動(dòng)收集。
-定期生成日志報(bào)告。
(三)自定義監(jiān)控腳本
1.編寫(xiě)監(jiān)控腳本:
-Shell腳本定期執(zhí)行sql查詢(xún)。
-Python腳本調(diào)用數(shù)據(jù)庫(kù)API獲取狀態(tài)。
2.定時(shí)任務(wù)配置:
-Crontab設(shè)置每小時(shí)執(zhí)行一次監(jiān)控腳本。
五、異常處理流程
(一)監(jiān)控預(yù)警處理
1.閾值觸發(fā)預(yù)警:
-收到系統(tǒng)自動(dòng)發(fā)送預(yù)警通知。
-登錄監(jiān)控平臺(tái)查看詳細(xì)狀態(tài)。
2.初步分析:
-判斷問(wèn)題嚴(yán)重程度(緊急/重要/一般)。
-標(biāo)記問(wèn)題類(lèi)型(性能/安全/配置)。
(二)問(wèn)題定位與解決
1.分步排查:
-檢查硬件資源使用情況。
-查看數(shù)據(jù)庫(kù)慢查詢(xún)?nèi)罩尽?/p>
-驗(yàn)證安全策略配置。
2.解決措施:
-調(diào)整配置參數(shù)(如內(nèi)存分配)。
-優(yōu)化SQL語(yǔ)句。
-重啟服務(wù)(作為最后手段)。
(三)復(fù)盤(pán)與改進(jìn)
1.問(wèn)題記錄:
-記錄問(wèn)題詳情、解決方法、影響范圍。
-歸檔到知識(shí)庫(kù)系統(tǒng)。
2.制度優(yōu)化:
-根據(jù)問(wèn)題調(diào)整監(jiān)控閾值。
-修訂應(yīng)急預(yù)案。
六、監(jiān)控制度維護(hù)
(一)定期檢查
1.監(jiān)控有效性檢查:
-每月驗(yàn)證監(jiān)控規(guī)則準(zhǔn)確性。
-模擬故障測(cè)試告警功能。
2.數(shù)據(jù)完整性檢查:
-定期備份監(jiān)控配置。
-校驗(yàn)監(jiān)控?cái)?shù)據(jù)與實(shí)際狀態(tài)一致性。
(二)制度更新
1.根據(jù)業(yè)務(wù)變化:
-新業(yè)務(wù)上線增加監(jiān)控項(xiàng)。
-并發(fā)量增加調(diào)整監(jiān)控頻率。
2.技術(shù)迭代:
-升級(jí)監(jiān)控工具版本。
-引入新的監(jiān)控技術(shù)(如AI預(yù)測(cè))。
(三)人員培訓(xùn)
1.新員工培訓(xùn):
-監(jiān)控系統(tǒng)操作培訓(xùn)。
-異常處理流程演練。
2.定期考核:
-每季度組織監(jiān)控技能考核。
-記錄培訓(xùn)效果改進(jìn)點(diǎn)。
---
一、數(shù)據(jù)庫(kù)監(jiān)控制度概述
數(shù)據(jù)庫(kù)監(jiān)控制度是保障數(shù)據(jù)庫(kù)系統(tǒng)健康、穩(wěn)定、高效運(yùn)行的核心管理機(jī)制。它通過(guò)系統(tǒng)化的監(jiān)控、度量、分析和響應(yīng)流程,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)各項(xiàng)關(guān)鍵指標(biāo)的可視化管理。其核心目標(biāo)在于:
1.主動(dòng)預(yù)警,防患未然:在數(shù)據(jù)庫(kù)性能下降或潛在故障發(fā)生前,通過(guò)監(jiān)控指標(biāo)的變化提前發(fā)現(xiàn)異常,觸發(fā)預(yù)警,為及時(shí)干預(yù)爭(zhēng)取寶貴時(shí)間。
2.性能優(yōu)化,保障效率:持續(xù)監(jiān)控?cái)?shù)據(jù)庫(kù)的響應(yīng)時(shí)間、吞吐量、資源利用率等性能指標(biāo),識(shí)別性能瓶頸,指導(dǎo)優(yōu)化工作,確保數(shù)據(jù)庫(kù)能夠高效支撐業(yè)務(wù)需求。
3.安全防護(hù),數(shù)據(jù)保障:監(jiān)控?cái)?shù)據(jù)庫(kù)的訪問(wèn)行為、權(quán)限變更、安全漏洞等,防止未授權(quán)操作和數(shù)據(jù)泄露,確保數(shù)據(jù)的機(jī)密性、完整性和可用性。
4.資源合理利用:監(jiān)控硬件資源(CPU、內(nèi)存、磁盤(pán)I/O、網(wǎng)絡(luò))的使用情況,避免資源浪費(fèi)或過(guò)度配置,降低運(yùn)營(yíng)成本。
5.保障業(yè)務(wù)連續(xù)性:通過(guò)監(jiān)控備份、恢復(fù)、高可用等機(jī)制的狀態(tài),確保在故障發(fā)生時(shí)能夠快速恢復(fù)服務(wù),最大限度減少業(yè)務(wù)中斷時(shí)間。
該制度涵蓋了從監(jiān)控策略制定、工具部署、日常運(yùn)維到異常處理和持續(xù)改進(jìn)的全生命周期管理,是數(shù)據(jù)庫(kù)管理不可或缺的一部分。
二、數(shù)據(jù)庫(kù)監(jiān)控目標(biāo)
數(shù)據(jù)庫(kù)監(jiān)控的目標(biāo)設(shè)定應(yīng)緊密?chē)@業(yè)務(wù)需求和數(shù)據(jù)庫(kù)特性,具體可細(xì)分為以下幾類(lèi):
(一)確保數(shù)據(jù)庫(kù)穩(wěn)定運(yùn)行
1.硬件資源監(jiān)控與預(yù)警
CPU使用率監(jiān)控:設(shè)定正常工作負(fù)載下的CPU使用率基準(zhǔn)(如平均70%以下)。設(shè)置多個(gè)預(yù)警閾值,如:
警告閾值:連續(xù)5分鐘超過(guò)60%,提示負(fù)載較高。
報(bào)警閾值:連續(xù)10分鐘超過(guò)80%,可能影響性能。
嚴(yán)重閾值:連續(xù)15分鐘超過(guò)90%,服務(wù)可能不穩(wěn)定。
內(nèi)存使用監(jiān)控:
監(jiān)控?cái)?shù)據(jù)庫(kù)進(jìn)程內(nèi)存(DBMemory)和共享內(nèi)存(SharedMemory)的使用情況。
設(shè)置可用內(nèi)存百分比閾值(如低于20%或30%時(shí)預(yù)警)。
關(guān)注內(nèi)存不足導(dǎo)致的換頁(yè)(Swapping)或OutOfMemory(OOM)事件。
磁盤(pán)I/O監(jiān)控:
監(jiān)控?cái)?shù)據(jù)庫(kù)數(shù)據(jù)文件、日志文件所在磁盤(pán)的讀/寫(xiě)速率(IOPS)和帶寬使用率(Throughput)。
異常波動(dòng)(如突然飆升或持續(xù)低下)可能指示磁盤(pán)瓶頸或故障。
關(guān)注磁盤(pán)空間使用率,設(shè)置低空間預(yù)警(如低于15%或10%)。
磁盤(pán)空間監(jiān)控:
實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)文件(DataFiles)、臨時(shí)文件(TemporaryFiles)、重做日志文件(RedoLogs)、歸檔日志文件(ArchivedLogs)及閃回區(qū)(FlashbackArea)等的空間占用。
自動(dòng)生成空間使用報(bào)告,定期(如每周)分析增長(zhǎng)趨勢(shì)。
設(shè)置磁盤(pán)空間不足的預(yù)警和報(bào)警閾值。
2.數(shù)據(jù)庫(kù)進(jìn)程與鎖監(jiān)控
后臺(tái)進(jìn)程狀態(tài)監(jiān)控:監(jiān)控關(guān)鍵后臺(tái)進(jìn)程(如PMON、DBWR、LGWR、CKPT、AR)的運(yùn)行狀態(tài)、CPU使用率和等待事件。任何關(guān)鍵進(jìn)程長(zhǎng)時(shí)間掛起或狀態(tài)異常都應(yīng)觸發(fā)報(bào)警。
鎖等待監(jiān)控:
監(jiān)控鎖等待事件的發(fā)生頻率和持續(xù)時(shí)間。
關(guān)注高優(yōu)先級(jí)事務(wù)因鎖等待而阻塞的情況。
分析鎖模式(共享鎖、排他鎖等)和被鎖資源(行鎖、表鎖、間隙鎖等)。
設(shè)置鎖等待超時(shí)的預(yù)警閾值(如等待時(shí)間超過(guò)5秒或10秒)。
定期生成鎖統(tǒng)計(jì)報(bào)告,識(shí)別死鎖風(fēng)險(xiǎn)。
3.實(shí)例狀態(tài)與健康檢查
監(jiān)控?cái)?shù)據(jù)庫(kù)實(shí)例的啟動(dòng)、運(yùn)行、關(guān)閉狀態(tài),確保服務(wù)持續(xù)可用。
檢查關(guān)鍵參數(shù)是否與配置一致,如內(nèi)存分配參數(shù)(SGA_TARGET,PGA_AGGREGATE_TARGET)、日志文件大小和數(shù)量等。
監(jiān)控連接數(shù)和會(huì)話數(shù),防止連接數(shù)耗盡。
(二)優(yōu)化數(shù)據(jù)庫(kù)性能
1.查詢(xún)性能監(jiān)控與分析
慢查詢(xún)?nèi)罩痉治觯?/p>
啟用并配置慢查詢(xún)?nèi)罩?,記錄?zhí)行時(shí)間超過(guò)閾值的SQL語(yǔ)句(如默認(rèn)1秒,可根據(jù)業(yè)務(wù)調(diào)整)。
定期(如每日)分析慢查詢(xún)?nèi)罩?,找出性能瓶頸SQL。
關(guān)注SQL的執(zhí)行計(jì)劃,識(shí)別索引缺失或不當(dāng)、表連接效率低等問(wèn)題。
SQL執(zhí)行時(shí)長(zhǎng)監(jiān)控:
對(duì)核心業(yè)務(wù)SQL語(yǔ)句設(shè)置實(shí)時(shí)監(jiān)控,記錄其平均/最大執(zhí)行時(shí)間。
使用性能視圖(如V$SQL,V$SQLTEXT,V$SESSION)獲取SQL執(zhí)行信息。
查詢(xún)緩存命中率監(jiān)控:
監(jiān)控SQL區(qū)緩存(SQLAreaCache)和PL/SQL區(qū)緩存(PL/SQLAreaCache)的命中率。
低緩存命中率(如低于60%-70%)可能表示SQL變化頻繁或緩存配置不當(dāng)。
2.索引使用情況監(jiān)控
監(jiān)控索引的命中率(IndexHitRatio)和解析率(ParseRate)。
分析是否存在未使用索引(UnusedIndexes)或索引選擇不當(dāng)(IncorrectIndexes)。
關(guān)注索引重建或重建后的性能變化。
3.緩存與內(nèi)存使用監(jiān)控
緩沖區(qū)緩存(BufferCache):
監(jiān)控緩沖區(qū)緩存命中率(BufferCacheHitRatio),這是衡量數(shù)據(jù)庫(kù)I/O效率的關(guān)鍵指標(biāo)(目標(biāo)通常在95%以上)。
分析緩沖區(qū)命中率低的原因,如數(shù)據(jù)訪問(wèn)模式不適合緩存、SGA大小設(shè)置不當(dāng)?shù)取?/p>
會(huì)話緩存(SessionCache):
監(jiān)控會(huì)話緩存命中率,影響會(huì)話相關(guān)數(shù)據(jù)的加載速度。
4.并發(fā)與事務(wù)監(jiān)控
并發(fā)會(huì)話數(shù)監(jiān)控:監(jiān)控當(dāng)前活躍的數(shù)據(jù)庫(kù)連接數(shù),超過(guò)最大連接數(shù)(MAX_SESSIONS)時(shí)應(yīng)觸發(fā)預(yù)警。
事務(wù)監(jiān)控:
監(jiān)控事務(wù)的開(kāi)始、提交、回滾數(shù)量。
關(guān)注長(zhǎng)時(shí)間未提交的事務(wù)(Long-runningTransactions),可能導(dǎo)致鎖競(jìng)爭(zhēng)加劇。
監(jiān)控事務(wù)成功率,低成功率可能指示應(yīng)用層或數(shù)據(jù)庫(kù)層面的錯(cuò)誤。
(三)保障數(shù)據(jù)安全
1.訪問(wèn)控制與審計(jì)
登錄嘗試監(jiān)控:
監(jiān)控來(lái)自異常IP地址或地區(qū)的登錄嘗試。
監(jiān)控頻繁失敗的登錄密碼嘗試,可能指示暴力破解攻擊。
權(quán)限變更監(jiān)控:
審計(jì)角色、用戶、權(quán)限(SELECT,INSERT,UPDATE,DELETE,GRANT,REVOKE)的創(chuàng)建、修改和刪除操作。
記錄操作者、操作時(shí)間、操作對(duì)象,定期(如每月)進(jìn)行權(quán)限審計(jì)。
審計(jì)日志分析:
啟用并配置細(xì)粒度的審計(jì)日志(如SQL審計(jì)、登錄審計(jì))。
定期分析審計(jì)日志,查找可疑活動(dòng)或潛在安全風(fēng)險(xiǎn)。
2.數(shù)據(jù)完整性監(jiān)控
數(shù)據(jù)校驗(yàn):
對(duì)關(guān)鍵數(shù)據(jù)表或字段,定期執(zhí)行數(shù)據(jù)規(guī)則校驗(yàn)(如主鍵唯一性、外鍵約束、數(shù)據(jù)格式)。
使用數(shù)據(jù)庫(kù)自帶工具或自定義腳本執(zhí)行校驗(yàn)。
重復(fù)數(shù)據(jù)檢測(cè):
定期掃描關(guān)鍵業(yè)務(wù)表,檢測(cè)是否存在重復(fù)記錄(基于唯一標(biāo)識(shí)符或關(guān)鍵字段)。
數(shù)據(jù)備份有效性驗(yàn)證:
定期(如每月)對(duì)備份數(shù)據(jù)進(jìn)行恢復(fù)測(cè)試(部分?jǐn)?shù)據(jù)或全量數(shù)據(jù)),驗(yàn)證備份文件的可用性。
監(jiān)控備份任務(wù)的成功率、完成時(shí)間和存儲(chǔ)空間。
3.安全漏洞與配置基線
配置基線檢查:
定期與預(yù)定義的安全配置基線進(jìn)行比對(duì),檢查是否存在不合規(guī)的數(shù)據(jù)庫(kù)參數(shù)設(shè)置。
例如,檢查密碼復(fù)雜度策略、審計(jì)級(jí)別、網(wǎng)絡(luò)配置等。
補(bǔ)丁狀態(tài)監(jiān)控:
監(jiān)控?cái)?shù)據(jù)庫(kù)補(bǔ)丁級(jí)別(PatchLevel),確保系統(tǒng)運(yùn)行在推薦的安全補(bǔ)丁版本上。
記錄補(bǔ)丁安裝時(shí)間和版本。
三、數(shù)據(jù)庫(kù)監(jiān)控內(nèi)容
(一)系統(tǒng)級(jí)監(jiān)控
1.服務(wù)器硬件資源監(jiān)控
CPU使用率:
監(jiān)控總CPU使用率、用戶模式CPU使用率、系統(tǒng)模式CPU使用率。
關(guān)注CPU等待時(shí)間(如I/O等待、內(nèi)存等待),高等待時(shí)間可能指示資源瓶頸。
內(nèi)存使用率:
監(jiān)控物理內(nèi)存使用率、交換空間使用情況。
分析內(nèi)存區(qū)域分配(如FreeMemory,UsedMemory,Buffers,Caches)。
磁盤(pán)使用率與I/O:
監(jiān)控磁盤(pán)分區(qū)(/,/u02,/u03等)的空間使用率。
監(jiān)控磁盤(pán)讀/寫(xiě)操作次數(shù)(Reads/Sec,Writes/Sec)和吞吐量(ReadBytes/Sec,WriteBytes/Sec)。
監(jiān)控磁盤(pán)延遲(AvgDisksec/Read,AvgDisksec/Write)。
網(wǎng)絡(luò)使用率:
監(jiān)控?cái)?shù)據(jù)庫(kù)服務(wù)器的入站/出站網(wǎng)絡(luò)流量。
高網(wǎng)絡(luò)流量可能指示大量數(shù)據(jù)傳輸或潛在的網(wǎng)絡(luò)問(wèn)題。
2.操作系統(tǒng)層面監(jiān)控
系統(tǒng)負(fù)載:監(jiān)控1分鐘、5分鐘、15分鐘的平均系統(tǒng)負(fù)載值。
進(jìn)程狀態(tài):監(jiān)控關(guān)鍵數(shù)據(jù)庫(kù)進(jìn)程(PMON,DBWR,LGWR等)的存活和CPU使用情況。
文件系統(tǒng)I/O:監(jiān)控文件系統(tǒng)級(jí)別的讀/寫(xiě)速率和延遲。
網(wǎng)絡(luò)連接:監(jiān)控服務(wù)器端口的網(wǎng)絡(luò)連接數(shù)。
(二)數(shù)據(jù)庫(kù)實(shí)例級(jí)監(jiān)控
1.實(shí)例狀態(tài)與參數(shù)
實(shí)例運(yùn)行狀態(tài):是否處于OPEN狀態(tài)。
關(guān)鍵參數(shù)值:監(jiān)控核心參數(shù)(如SGA_MAX_SIZE,pga_aggregate_target,log_buffer,undo_tablespace)的當(dāng)前值是否在合理范圍內(nèi)。
警告信息:監(jiān)控?cái)?shù)據(jù)庫(kù)實(shí)例生成的警告信息。
2.會(huì)話與連接
活動(dòng)會(huì)話數(shù):當(dāng)前處于活動(dòng)狀態(tài)的用戶會(huì)話數(shù)量。
會(huì)話狀態(tài):監(jiān)控會(huì)話的等待事件、CPU使用率、內(nèi)存使用情況。
會(huì)話等待事件:分析會(huì)話等待的前N個(gè)事件(如等待鎖、等待I/O、等待信號(hào)),識(shí)別性能瓶頸。
3.鎖與并發(fā)
鎖模式統(tǒng)計(jì):共享鎖、排他鎖、行鎖、表鎖等不同鎖模式的獲取和釋放次數(shù)。
鎖等待隊(duì)列:監(jiān)控鎖等待隊(duì)列的長(zhǎng)度和等待時(shí)間。
死鎖檢測(cè):監(jiān)控死鎖的發(fā)生和自動(dòng)檢測(cè)機(jī)制的狀態(tài)。
(三)數(shù)據(jù)庫(kù)性能級(jí)監(jiān)控
1.SQL執(zhí)行監(jiān)控
慢查詢(xún)?cè)斍椋河涗浻|發(fā)慢查詢(xún)的SQL文本、執(zhí)行時(shí)長(zhǎng)、執(zhí)行次數(shù)、等待事件、關(guān)聯(lián)會(huì)話ID。
SQL執(zhí)行計(jì)劃:獲取并分析關(guān)鍵SQL的執(zhí)行計(jì)劃,識(shí)別全表掃描、嵌套循環(huán)等低效操作。
綁定變量使用率:監(jiān)控應(yīng)用使用綁定變量(BindVariables)的比例,高比例(目標(biāo)>90%)有助于提高緩存效率和減少SQL解析開(kāi)銷(xiāo)。
2.緩存與內(nèi)存
緩沖區(qū)緩存統(tǒng)計(jì):
緩沖區(qū)緩存命中率(BufferCacheHitRatio)。
緩沖區(qū)命中率變化趨勢(shì)(Delta)。
緩沖區(qū)命中率TopN表(說(shuō)明緩存未命中主要集中在哪些表)。
獲得緩沖區(qū)的方式(Pinhit,Pinmiss,Buffersgottenfromfreelist,BuffersgottenfromLRUlist)。
SGA組件監(jiān)控:
各SGA子組件(如DatabaseBufferCache,RedoBuffer,JavaPool,LargePool)的內(nèi)存使用情況。
對(duì)比SGA配置值(Target/Max)與當(dāng)前實(shí)際使用值。
3.I/O性能
物理讀/寫(xiě):
物理讀取塊數(shù)(PhysicalReadTotalIORequests)。
物理讀取字節(jié)數(shù)(PhysicalReadTotalBytes)。
物理寫(xiě)入塊數(shù)(PhysicalWriteTotalIORequests)。
物理寫(xiě)入字節(jié)數(shù)(PhysicalWriteTotalBytes)。
邏輯讀:
邏輯讀取塊數(shù)(LogicalReadTotalIORequests)。
邏輯讀取次數(shù)(LogicalReadTotalReads)。
邏輯讀與物理讀的比例,過(guò)高可能表示緩存效率低。
4.并發(fā)與事務(wù)
并發(fā)會(huì)話統(tǒng)計(jì):會(huì)話總數(shù)、空閑會(huì)話數(shù)、活動(dòng)會(huì)話數(shù)。
事務(wù)統(tǒng)計(jì):
事務(wù)開(kāi)始/提交/回滾數(shù)量。
平均事務(wù)持續(xù)時(shí)間。
長(zhǎng)時(shí)間運(yùn)行的事務(wù)列表。
鎖統(tǒng)計(jì):
鎖模式獲取次數(shù)(SharedLocksGranted,ExclusiveLocksGranted)。
鎖模式釋放次數(shù)(SharedLocksReleased,ExclusiveLocksReleased)。
鎖等待次數(shù)(LockWaits)。
(四)數(shù)據(jù)庫(kù)安全級(jí)監(jiān)控
1.審計(jì)日志監(jiān)控
登錄/注銷(xiāo)審計(jì):
用戶登錄成功/失敗次數(shù)、IP地址、時(shí)間。
用戶注銷(xiāo)時(shí)間。
權(quán)限變更審計(jì):
GRANT/REVOKE操作記錄(操作者、授權(quán)對(duì)象、被授權(quán)者、權(quán)限類(lèi)型、時(shí)間)。
角色創(chuàng)建/刪除記錄。
用戶創(chuàng)建/刪除/修改記錄。
SQL審計(jì):
執(zhí)行成功的SQL記錄(SQL文本、用戶、會(huì)話ID、執(zhí)行時(shí)長(zhǎng)、執(zhí)行時(shí)間)。
執(zhí)行失敗的SQL記錄(原因、用戶、會(huì)話ID)。
需要特別關(guān)注的敏感SQL(如刪除、更新、GRANT)。
2.異常行為檢測(cè)
異常登錄地點(diǎn):用戶從非常用地理位置或網(wǎng)絡(luò)環(huán)境登錄。
異常登錄時(shí)間:在非工作時(shí)間或節(jié)假日登錄。
權(quán)限濫用跡象:短時(shí)間內(nèi)對(duì)大量數(shù)據(jù)進(jìn)行修改或刪除。
密碼嘗試次數(shù)過(guò)多:短時(shí)間內(nèi)多次登錄失敗。
3.數(shù)據(jù)完整性與備份
備份任務(wù)狀態(tài):完整備份、增量備份、差異備份任務(wù)的執(zhí)行成功/失敗狀態(tài)、開(kāi)始/結(jié)束時(shí)間、耗時(shí)。
備份空間使用:備份文件在存儲(chǔ)系統(tǒng)上的空間占用情況。
數(shù)據(jù)校驗(yàn)結(jié)果:定期數(shù)據(jù)校驗(yàn)任務(wù)的結(jié)果(通過(guò)/失?。?。
四、數(shù)據(jù)庫(kù)監(jiān)控方法
(一)自動(dòng)化監(jiān)控工具部署與配置
1.選擇監(jiān)控工具
商業(yè)數(shù)據(jù)庫(kù)監(jiān)控工具:
SolarWindsDatabasePerformanceMonitor:提供全面的數(shù)據(jù)庫(kù)性能監(jiān)控、歷史趨勢(shì)分析、告警功能。
Dynatrace:AI驅(qū)動(dòng)的應(yīng)用性能監(jiān)控(APM),深度分析數(shù)據(jù)庫(kù)性能瓶頸。
Datadog:云原生監(jiān)控平臺(tái),支持多種數(shù)據(jù)庫(kù)類(lèi)型,提供實(shí)時(shí)指標(biāo)和日志。
BMCTrueSight:綜合監(jiān)控解決方案,包含數(shù)據(jù)庫(kù)性能監(jiān)控模塊。
開(kāi)源監(jiān)控工具:
Zabbix:功能強(qiáng)大的開(kāi)源監(jiān)控系統(tǒng),可通過(guò)插件監(jiān)控多種數(shù)據(jù)庫(kù)。
Prometheus+Grafana:時(shí)間序列數(shù)據(jù)監(jiān)控和可視化方案,配合MySqlExporter或PostgresExporter使用。
Nagios:經(jīng)典的開(kāi)源網(wǎng)絡(luò)監(jiān)控工具,可配置插件監(jiān)控?cái)?shù)據(jù)庫(kù)狀態(tài)。
PerconaMonitoringandManagement(PMM):專(zhuān)為Percona服務(wù)設(shè)計(jì)的開(kāi)源監(jiān)控平臺(tái),對(duì)MySQL/PerconaServer優(yōu)化。
2.部署與安裝
Agent模式:
在數(shù)據(jù)庫(kù)服務(wù)器上安裝監(jiān)控代理(Agent)。
代理直接收集本地性能指標(biāo)和狀態(tài)信息。
優(yōu)點(diǎn):數(shù)據(jù)實(shí)時(shí)性高,減少網(wǎng)絡(luò)傳輸。
缺點(diǎn):可能增加數(shù)據(jù)庫(kù)服務(wù)器負(fù)載,需要管理多個(gè)代理。
Agentless模式:
監(jiān)控服務(wù)器通過(guò)JDBC/ODBC連接到數(shù)據(jù)庫(kù),執(zhí)行查詢(xún)獲取監(jiān)控?cái)?shù)據(jù)。
優(yōu)點(diǎn):對(duì)數(shù)據(jù)庫(kù)影響小,部署簡(jiǎn)單。
缺點(diǎn):數(shù)據(jù)獲取可能存在延遲,受網(wǎng)絡(luò)連接影響。
3.配置監(jiān)控項(xiàng)與閾值
定義監(jiān)控目標(biāo):明確需要監(jiān)控的數(shù)據(jù)庫(kù)實(shí)例、服務(wù)器、指標(biāo)。
配置數(shù)據(jù)源:設(shè)置數(shù)據(jù)庫(kù)連接信息(主機(jī)名、端口、用戶名、密碼/認(rèn)證方式)。
添加監(jiān)控模板/主機(jī)模板:利用工具提供的模板快速配置常用監(jiān)控項(xiàng)。
設(shè)置關(guān)鍵指標(biāo)閾值:
CPU:如>85%警告,>95%報(bào)警。
內(nèi)存:可用內(nèi)存<15%警告。
磁盤(pán):可用空間<10%報(bào)警,<15%警告。
I/O:磁盤(pán)讀寫(xiě)延遲>100ms警告。
連接數(shù):>90%最大連接數(shù)警告。
慢查詢(xún):執(zhí)行時(shí)間>1秒警告(根據(jù)業(yè)務(wù)調(diào)整)。
緩存命中率:<70%警告。
鎖等待:等待時(shí)間>5秒報(bào)警。
配置告警規(guī)則:
定義觸發(fā)告警的條件(如連續(xù)X分鐘超過(guò)閾值)。
設(shè)置告警級(jí)別(緊急、重要、一般)。
配置告警通知方式(郵件、短信、Slack、釘釘、Webhook等)。
設(shè)置告警接收人。
4.可視化與報(bào)表
儀表盤(pán)(Dashboard):創(chuàng)建自定義儀表盤(pán),展示關(guān)鍵監(jiān)控指標(biāo)和狀態(tài)。
歷史趨勢(shì)圖:查看指標(biāo)隨時(shí)間的變化趨勢(shì),用于性能分析和容量規(guī)劃。
配置報(bào)表:定期生成性能、資源使用、告警等報(bào)表。
(二)日志分析系統(tǒng)
1.日志收集系統(tǒng)部署
ELKStack(Elasticsearch,Logstash,Kibana):
Logstash:作為日志收集器,通過(guò)JDBC驅(qū)動(dòng)連接數(shù)據(jù)庫(kù)實(shí)例,定時(shí)拉取日志(如審計(jì)日志、錯(cuò)誤日志、慢查詢(xún)?nèi)罩荆?/p>
Elasticsearch:作為搜索引擎和存儲(chǔ),索引化日志數(shù)據(jù)。
Kibana:作為可視化界面,創(chuàng)建儀表盤(pán)、圖表、報(bào)表,搜索和分析日志。
Splunk:商業(yè)化的日志分析和監(jiān)控平臺(tái),功能類(lèi)似ELKStack,提供更強(qiáng)大的搜索和分析能力。
OpenSearch:Elasticsearch的分支,提供類(lèi)似的功能。
2.配置日志源
數(shù)據(jù)庫(kù)審計(jì)日志:
確保數(shù)據(jù)庫(kù)審計(jì)功能已啟用,并配置為將日志輸出到指定文件或直接輸出到Logstash。
在Logstash中配置JDBC輸入插件,連接數(shù)據(jù)庫(kù)審計(jì)日志表。
數(shù)據(jù)庫(kù)錯(cuò)誤日志:
配置Logstash讀取數(shù)據(jù)庫(kù)錯(cuò)誤日志文件(如Oracle的alert日志、MySQL的錯(cuò)誤日志)。
可使用文件輸入插件或直接從數(shù)據(jù)庫(kù)表中讀取。
應(yīng)用日志:如果應(yīng)用日志包含數(shù)據(jù)庫(kù)操作信息,也納入收集范圍。
3.配置Logstash/Pipeline
輸入(Input):配置JDBC輸入、文件輸入等。
過(guò)濾器(Filter):
使用Groovy腳本或JSON過(guò)濾器解析日志格式。
提取關(guān)鍵信息(用戶、時(shí)間、操作類(lèi)型、對(duì)象、SQL語(yǔ)句等)。
轉(zhuǎn)換時(shí)間戳格式。
輸出(Output):配置Elasticsearch輸出,指定索引名。
4.Kibana/Kibana配置
創(chuàng)建索引模式:匹配Elasticsearch中的日志索引。
創(chuàng)建可視化:
時(shí)間序列圖:展示錯(cuò)誤數(shù)量、慢查詢(xún)數(shù)量隨時(shí)間變化。
表格:展示詳細(xì)的慢查詢(xún)?nèi)罩尽徲?jì)日志記錄。
地圖:展示登錄IP地理位置分布(用于審計(jì))。
創(chuàng)建儀表盤(pán):整合多個(gè)可視化,形成數(shù)據(jù)庫(kù)健康狀態(tài)概覽。
設(shè)置告警:
基于Kibana的告警功能,對(duì)特定日志模式(如嚴(yán)重錯(cuò)誤、頻繁登錄失?。┰O(shè)置告警。
配置通知方式。
(三)自定義監(jiān)控腳本
1.腳本語(yǔ)言選擇
ShellScript(Bash):適用于簡(jiǎn)單的監(jiān)控任務(wù),如檢查文件、執(zhí)行SQL查詢(xún)、發(fā)送郵件。
Python:功能強(qiáng)大,適合復(fù)雜的監(jiān)控邏輯、數(shù)據(jù)處理、發(fā)送通知、調(diào)用API。
Perl:類(lèi)似Python,也有豐富的庫(kù)支持。
SQL腳本:純SQL腳本可用于執(zhí)行簡(jiǎn)單的監(jiān)控查詢(xún),但通常需要數(shù)據(jù)庫(kù)客戶端工具執(zhí)行。
2.腳本功能設(shè)計(jì)
獲取監(jiān)控?cái)?shù)據(jù):
連接數(shù)據(jù)庫(kù)執(zhí)行特定查詢(xún)(如獲取CPU使用率、內(nèi)存使用、連接數(shù)、慢查詢(xún)列表)。
查詢(xún)數(shù)據(jù)庫(kù)視圖(如Oracle的V$views,MySQL的PerformanceSchema,SQLServer的DynamicManagementViews/DiagnosticLogs)。
讀取操作系統(tǒng)文件(如/proc/meminfo,/proc/stat,磁盤(pán)使用率文件)。
數(shù)據(jù)解析與處理:
解析查詢(xún)結(jié)果或文件內(nèi)容。
計(jì)算衍生指標(biāo)(如增長(zhǎng)率、平均值)。
閾值判斷與告警:
將獲取的數(shù)據(jù)與預(yù)設(shè)閾值進(jìn)行比較。
判斷是否觸發(fā)告警條件。
發(fā)送通知:
通過(guò)郵件、SNMPTrap、API調(diào)用等方式發(fā)送告警信息。
3.腳本示例(Python)
```python
importpymysql
importsmtplib
fromemail.mime.textimportMIMEText
importdatetime
配置數(shù)據(jù)庫(kù)連接
db_config={
'host':'localhost',
'user':'monitor',
'password':'password',
'db':'performance_db'
}
配置告警閾值
THRESHOLDS={
'cpu_usage':90,
'free_memory_pct':10,
'max_connections':100
}
配置郵件通知
EMAILConfig={
'smtp_server':'',
'smtp_port':587,
'sender':'monitor@',
'receiver':'admin@',
'subject':'DatabaseMonitoringAlert',
'username':'monitor_user',
'password':'monitor_password'
}
defcheck_metrics():
try:
連接數(shù)據(jù)庫(kù)
conn=pymysql.connect(db_config)
cursor=conn.cursor()
檢查CPU使用率(示例,實(shí)際需根據(jù)數(shù)據(jù)庫(kù)和系統(tǒng)指標(biāo)獲取)
此處假設(shè)通過(guò)某種方式獲取了CPU使用率
cpu_usage=85示例值
檢查內(nèi)存使用率
cursor.execute("SELECT(1-free_memory/total_memory)100FROMsystem_info")
memory_result=cursor.fetchone()
free_memory_pct=memory_result[0]ifmemory_resultelse20
檢查當(dāng)前連接數(shù)
cursor.execute("SELECTCOUNT()FROMv$sessionWHEREstatus='ACTIVE'")
conn_result=cursor.fetchone()
current_connections=conn_result[0]ifconn_resultelse0
alerts=[]
ifcpu_usage>THRESHOLDS['cpu_usage']:
alerts.append(f"HighCPUusage:{cpu_usage}%")
iffree_memory_pct<THRESHOLDS['free_memory_pct']:
alerts.append(f"Lowfreememory:{free_memory_pct}%")
ifcurrent_connections>THRESHOLDS['max_connections']:
alerts.append(f"Exceededmaxconnections:{current_connections}/{THRESHOLDS['max_connections']}")
returnalerts
exceptExceptionase:
return[f"Errorcheckingmetrics:{str(e)}"]
defsend_email(alerts):
ifnotalerts:
return
msg=MIMEText("\n".join(alerts))
msg['Subject']=EMAILConfig['subject']
msg['From']=EMAILConfig['sender']
msg['To']=EMAILConfig['receiver']
try:
smtp=smtplib.SMTP(EMAILConfig['smtp_server'],EMAILConfig['smtp_port'])
smtp.starttls()
smtp.login(EMAILConfig['username'],EMAILConfig['password'])
smtp.sendmail(EMAILConfig['sender'],EMAILConfig['receiver'],msg.as_string())
smtp.quit()
exceptExceptionase:
print(f"Failedtosendemail:{str(e)}")
if__name__=="__main__":
alerts=check_metrics()
ifalerts:
send_email(alerts)
print(f"Sentalerts:{alerts}")
else:
print("Noalertsgenerated.")
```
4.定時(shí)任務(wù)配置
LinuxCrontab:
```bash
每分鐘檢查一次CPU和內(nèi)存
/1/usr/bin/python3/path/to/monitor_script.py
每小時(shí)檢查一次連接數(shù)和慢查詢(xún)
0/usr/bin/python3/path/to/monitor_script.py
```
WindowsTaskScheduler:
創(chuàng)建基本任務(wù),觸發(fā)方式為“按計(jì)劃”。
選擇“啟動(dòng)程序”,指定Python解釋器和腳本路徑。
設(shè)置任務(wù)頻率(例如,每5分鐘或每小時(shí)運(yùn)行一次)。
五、異常處理流程
數(shù)據(jù)庫(kù)監(jiān)控系統(tǒng)的主要價(jià)值在于能夠及時(shí)發(fā)現(xiàn)并響應(yīng)異常。建立清晰的異常處理流程至關(guān)重要。
(一)監(jiān)控預(yù)警處理
1.告警接收與確認(rèn)
告警通知:監(jiān)控系統(tǒng)通過(guò)預(yù)設(shè)的通知方式(郵件、短信、IM等)將告警信息發(fā)送給相關(guān)人員(如數(shù)據(jù)庫(kù)管理員、應(yīng)用運(yùn)維)。
告警確認(rèn):接收告警的人員應(yīng)確認(rèn)收到告警,并初步判斷告警的緊急程度。可以使用監(jiān)控系統(tǒng)的確認(rèn)功能標(biāo)記已讀。
2.初步分析與定位
查看告警詳情:登錄監(jiān)控平臺(tái),查看告警的詳細(xì)信息,包括:
觸發(fā)告警的具體指標(biāo)和閾值。
告警發(fā)生的時(shí)間范圍。
相關(guān)的監(jiān)控圖表或日志片段。
快速定位問(wèn)題:
根據(jù)告警指標(biāo)判斷問(wèn)題可能發(fā)生的層面(硬件、操作系統(tǒng)、實(shí)例、性能、安全)。
查看關(guān)聯(lián)的其他監(jiān)控指標(biāo),輔助定位。例如,CPU高負(fù)載可能伴隨內(nèi)存高使用或I/O等待增加。
檢查系統(tǒng)/數(shù)據(jù)庫(kù)日志,尋找異常信息。
3.告警分級(jí)與升級(jí)
評(píng)估影響:根據(jù)問(wèn)題嚴(yán)重程度、影響范圍(業(yè)務(wù)影響、數(shù)據(jù)影響)對(duì)告警進(jìn)行分級(jí)(如:緊急、重要、一般)。
通知相關(guān)人員:根據(jù)告警級(jí)別,通知相應(yīng)的技術(shù)支持人員或團(tuán)隊(duì)。
告警升級(jí):如果初級(jí)支持人員無(wú)法在規(guī)定時(shí)間內(nèi)解決問(wèn)題,應(yīng)按照預(yù)案將告警升級(jí)給更高級(jí)別的專(zhuān)家或主管。
(二)問(wèn)題定位與解決
1.深入診斷
數(shù)據(jù)收集:收集更詳細(xì)的數(shù)據(jù),如:
實(shí)時(shí)性能指標(biāo)(使用動(dòng)態(tài)性能視圖或第三方工具)。
實(shí)例狀態(tài)和參數(shù)。
進(jìn)程狀態(tài)和等待事件。
鎖等待詳情。
近期變更記錄(配置變更、補(bǔ)丁安裝、應(yīng)用變更)。
日志分析:深入分析相關(guān)日志(錯(cuò)誤日志、審計(jì)日志、慢查詢(xún)?nèi)罩荆?/p>
應(yīng)用層檢查:與應(yīng)用團(tuán)隊(duì)協(xié)作,了解應(yīng)用層是否有異常行為或請(qǐng)求量激增。
2.制定解決方案
臨時(shí)措施(緩解):
性能問(wèn)題:如內(nèi)存不足,可臨時(shí)釋放部分非關(guān)鍵內(nèi)存(如果允許);如CPU高負(fù)載,可暫時(shí)降低非核心業(yè)務(wù)優(yōu)先級(jí)。
鎖競(jìng)爭(zhēng):識(shí)別并解決死鎖;優(yōu)化引發(fā)鎖競(jìng)爭(zhēng)的SQL語(yǔ)句。
連接數(shù)過(guò)多:限制新連接或優(yōu)化應(yīng)用連接池。
根本原因分析(RootCauseAnalysis,RCA):
使用魚(yú)骨圖、5Why等方法深入分析問(wèn)題根本原因。
區(qū)分是偶然事件還是系統(tǒng)性問(wèn)題。
修復(fù)措施:
配置調(diào)整:調(diào)整數(shù)據(jù)庫(kù)參數(shù)(如SGA、PGA、日志文件大?。?。
SQL優(yōu)化:重寫(xiě)慢查詢(xún)、添加/刪除/重建索引。
應(yīng)用調(diào)整:修改應(yīng)用代碼(如優(yōu)化SQL、調(diào)整連接池大小)。
硬件升級(jí):更換更快的磁盤(pán)、增加內(nèi)存/CPU(作為最終手段)。
安全修復(fù):修復(fù)安全漏洞、撤銷(xiāo)不當(dāng)權(quán)限。
3.實(shí)施與驗(yàn)證
實(shí)施修復(fù):在測(cè)試環(huán)境驗(yàn)證通過(guò)后,在生產(chǎn)環(huán)境實(shí)施修復(fù)措施。
監(jiān)控效果:修復(fù)后持續(xù)監(jiān)控相關(guān)指標(biāo),確保問(wèn)題得到解決且沒(méi)有引入新問(wèn)題。
記錄過(guò)程:詳細(xì)記錄問(wèn)題分析過(guò)程、解決方案、實(shí)施步驟和驗(yàn)證結(jié)果。
(三)復(fù)盤(pán)與改進(jìn)
1.事件復(fù)盤(pán)會(huì)議
定期召開(kāi):對(duì)于重要或復(fù)雜的異常事件,應(yīng)召開(kāi)復(fù)盤(pán)會(huì)議。
參與者:包括告警處理人員、相關(guān)技術(shù)專(zhuān)家、業(yè)務(wù)代表等。
會(huì)議內(nèi)容:
回顧事件發(fā)生過(guò)程、處理流程。
分析根本原因和處理效果。
討論經(jīng)驗(yàn)教訓(xùn)和改進(jìn)建議。
2.文檔化與知識(shí)沉淀
更新知識(shí)庫(kù):將事件分析結(jié)果、解決方案、經(jīng)驗(yàn)教訓(xùn)添加到團(tuán)隊(duì)知識(shí)庫(kù)。
完善文檔:更新相關(guān)操作手冊(cè)、應(yīng)急預(yù)案、監(jiān)控配置文檔。
3.制度與流程優(yōu)化
調(diào)整監(jiān)控策略:根據(jù)事件暴露的問(wèn)題,調(diào)整監(jiān)控指標(biāo)、閾值或告警規(guī)則。
改進(jìn)處理流程:優(yōu)化告警升級(jí)機(jī)制、溝通協(xié)調(diào)方式。
預(yù)防性措施:實(shí)施預(yù)防性維護(hù),如定期健康檢查、預(yù)防性補(bǔ)丁應(yīng)用、容量規(guī)劃等。
六、監(jiān)控制度維護(hù)
數(shù)據(jù)庫(kù)監(jiān)控制度不是一成不變的,需要持續(xù)維護(hù)和優(yōu)化以適應(yīng)變化的需求和環(huán)境。
(一)定期檢查
1.監(jiān)控有效性檢查
告警準(zhǔn)確性:每月抽查告警記錄,確認(rèn)告警是否誤報(bào)或漏報(bào)。
閾值合理性:根據(jù)近期性能數(shù)據(jù)和業(yè)務(wù)變化,評(píng)估現(xiàn)有閾值是否仍然合適。
工具功能驗(yàn)證:測(cè)試監(jiān)控工具的關(guān)鍵功能(如數(shù)據(jù)采集、告警觸發(fā)、通知發(fā)送)是否正常工作。
日志完整性:檢查日志收集系統(tǒng)是否完整捕獲了所需的日志類(lèi)型,日志質(zhì)量是否滿足分析需求。
2.數(shù)據(jù)質(zhì)量檢查
監(jiān)控?cái)?shù)據(jù)準(zhǔn)確性:對(duì)比不同監(jiān)控工具或方法獲取的同一指標(biāo),確認(rèn)數(shù)據(jù)一致性。
日志完整性:驗(yàn)證日志文件是否完整、格式是否正確、關(guān)鍵字段是否存在。
指標(biāo)一致性:檢查監(jiān)控指標(biāo)定義是否與實(shí)際情況一致。
3.系統(tǒng)可用性檢查
監(jiān)控平臺(tái)可用性:確保監(jiān)控服務(wù)器和監(jiān)控平臺(tái)的穩(wěn)定運(yùn)行。
代理/連接器狀態(tài):檢查監(jiān)控代理或數(shù)據(jù)庫(kù)連接器是否正常工作。
(二)制度更新
1.根據(jù)業(yè)務(wù)變化更新
新業(yè)務(wù)上線:為新業(yè)務(wù)數(shù)據(jù)庫(kù)添加監(jiān)控配置,包括關(guān)鍵指標(biāo)、閾值和告警規(guī)則。
業(yè)務(wù)量變化:根據(jù)業(yè)務(wù)量增長(zhǎng)或減少,調(diào)整監(jiān)控范圍和頻率。
應(yīng)用變更:應(yīng)用架構(gòu)或訪問(wèn)模式的變更可能影響數(shù)據(jù)庫(kù)性能,需相應(yīng)調(diào)整監(jiān)控策略。
2.根據(jù)技術(shù)更新更新
數(shù)據(jù)庫(kù)版本升級(jí):升級(jí)數(shù)據(jù)庫(kù)版本可能引入新的性能特征或監(jiān)控需求,需更新監(jiān)控配置和閾值。
監(jiān)控工具升級(jí):升級(jí)監(jiān)控工具版本可能帶來(lái)新功能或配置變更,需及時(shí)更新監(jiān)控策略。
引入新技術(shù):如引入云數(shù)據(jù)庫(kù)、分布式數(shù)據(jù)庫(kù)等,需補(bǔ)充相應(yīng)的監(jiān)控能力。
(三)人員培訓(xùn)
1.新員工培訓(xùn)
監(jiān)控系統(tǒng)操作:培訓(xùn)新員工如何查看監(jiān)控儀表盤(pán)、分析監(jiān)控?cái)?shù)據(jù)、響應(yīng)告警。
異常處理流程:介紹標(biāo)準(zhǔn)的異常報(bào)告和響應(yīng)流程。
基本診斷技能:培訓(xùn)基本的性能診斷方法。
2.定期培訓(xùn)
監(jiān)控工具新功能:介紹監(jiān)控工具的新功能和使用技巧。
案例分享:分享典型異常事件的處理經(jīng)驗(yàn)。
最佳實(shí)踐:交流數(shù)據(jù)庫(kù)監(jiān)控的最佳實(shí)踐。
3.考核與反饋
技能考核:定期組織監(jiān)控相關(guān)技能的考核。
收集反饋:收集員工對(duì)監(jiān)控流程和工具的反饋,持續(xù)改進(jìn)培訓(xùn)內(nèi)容。
七、數(shù)據(jù)庫(kù)監(jiān)控工具選型建議
選擇合適的數(shù)據(jù)庫(kù)監(jiān)控工具需要綜合考慮以下因素:
1.數(shù)據(jù)庫(kù)類(lèi)型:確保工具支持所監(jiān)控的數(shù)據(jù)庫(kù)管理系統(tǒng)(如Oracle、MySQL、PostgreSQL、SQLServer、MongoDB等)。
2.監(jiān)控范圍:工具需能覆蓋系統(tǒng)級(jí)、實(shí)例級(jí)、性能級(jí)、安全級(jí)等全方位監(jiān)控需求。
3.功能深度:重點(diǎn)關(guān)注對(duì)關(guān)鍵指標(biāo)(如性能瓶頸識(shí)別、慢查詢(xún)分析、鎖競(jìng)爭(zhēng)監(jiān)控、安全審計(jì))的支持程度。
4.易用性:界面是否直觀、配置是否簡(jiǎn)單、學(xué)習(xí)曲線是否平緩。
5.集成能力:能否與現(xiàn)有的IT運(yùn)維體系(如CMDB、告警平臺(tái)、日志分析系統(tǒng))良好集成。
6.可擴(kuò)展性:能否支持大規(guī)模數(shù)據(jù)庫(kù)集群的監(jiān)控。
7.成本效益:綜合考慮購(gòu)買(mǎi)/部署成本、維護(hù)成本與功能價(jià)值。
8.技術(shù)支持:供應(yīng)商是否提供及時(shí)有效的技術(shù)支持。
對(duì)于小型或簡(jiǎn)單場(chǎng)景,開(kāi)源工具(如Zabbix、Prometheus)可能是成本效益較高的選擇;對(duì)于大型或復(fù)雜環(huán)境,商業(yè)工具(如SolarWinds、Dynatrace)可能提供更全面的功能和更專(zhuān)業(yè)的支持。
八、最佳實(shí)踐
數(shù)據(jù)庫(kù)監(jiān)控的最佳實(shí)踐有助于提高監(jiān)控效果,保障數(shù)據(jù)庫(kù)穩(wěn)定運(yùn)行:
1.建立全面監(jiān)控體系:實(shí)現(xiàn)系統(tǒng)級(jí)、實(shí)例級(jí)、性能級(jí)、安全級(jí)全方位監(jiān)控,避免監(jiān)控盲區(qū)。
2.設(shè)置合理的閾值:基于歷史數(shù)據(jù)和業(yè)務(wù)需求,科學(xué)設(shè)定監(jiān)控閾值,減少誤報(bào)和漏報(bào)。
3.優(yōu)先級(jí)排序:對(duì)不同的監(jiān)控指標(biāo)設(shè)置優(yōu)先級(jí),確保關(guān)鍵指標(biāo)(如CPU、內(nèi)存、磁盤(pán)空間、慢查詢(xún))得到重點(diǎn)關(guān)注。
4.可視化呈現(xiàn):利用儀表盤(pán)、趨勢(shì)圖等方式直觀展示監(jiān)控?cái)?shù)據(jù),便于快速了解系統(tǒng)狀態(tài)。
5.自動(dòng)化告警通知:配置自動(dòng)化告警機(jī)制,確保問(wèn)題能及時(shí)通知到相關(guān)人員。
6.定期分析報(bào)表:定期生成性能分析、資源使用、告警統(tǒng)計(jì)等報(bào)表,用于趨勢(shì)分析和容量規(guī)劃。
7.重視日志分析:完善日志收集和分析能力,為問(wèn)題診斷提供重要依據(jù)。
8.保持監(jiān)控?cái)?shù)據(jù)安全:對(duì)監(jiān)控?cái)?shù)據(jù)和日志進(jìn)行安全存儲(chǔ)和訪問(wèn)控制。
9.持續(xù)優(yōu)化:定期復(fù)盤(pán)監(jiān)控效果,根據(jù)實(shí)際運(yùn)行情況調(diào)整監(jiān)控策略和配置。
10.人員技能提升:加強(qiáng)運(yùn)維人員監(jiān)控技能培訓(xùn),提高問(wèn)題診斷和解決能力。
一、數(shù)據(jù)庫(kù)監(jiān)控制度概述
數(shù)據(jù)庫(kù)監(jiān)控制度是指通過(guò)一系列技術(shù)手段和管理規(guī)范,對(duì)數(shù)據(jù)庫(kù)的運(yùn)行狀態(tài)、性能指標(biāo)、安全狀況進(jìn)行全面監(jiān)控、分析和管理的制度。其目的是確保數(shù)據(jù)庫(kù)的穩(wěn)定運(yùn)行、高效性能和數(shù)據(jù)安全,及時(shí)發(fā)現(xiàn)并解決潛在問(wèn)題,保障業(yè)務(wù)的連續(xù)性和數(shù)據(jù)完整性。數(shù)據(jù)庫(kù)監(jiān)控制度主要包括監(jiān)控目標(biāo)、監(jiān)控內(nèi)容、監(jiān)控方法、異常處理等方面。
二、數(shù)據(jù)庫(kù)監(jiān)控目標(biāo)
(一)確保數(shù)據(jù)庫(kù)穩(wěn)定運(yùn)行
1.監(jiān)控?cái)?shù)據(jù)庫(kù)服務(wù)器的CPU、內(nèi)存、磁盤(pán)等硬件資源使用情況,防止資源耗盡導(dǎo)致服務(wù)中斷。
2.監(jiān)控?cái)?shù)據(jù)庫(kù)連接數(shù)、并發(fā)會(huì)話數(shù),確保系統(tǒng)在高負(fù)載下仍能穩(wěn)定運(yùn)行。
3.監(jiān)控?cái)?shù)據(jù)庫(kù)啟動(dòng)、關(guān)閉狀態(tài),確保系統(tǒng)按預(yù)期正常啟動(dòng)和關(guān)閉。
(二)優(yōu)化數(shù)據(jù)庫(kù)性能
1.監(jiān)控關(guān)鍵業(yè)務(wù)SQL語(yǔ)句的執(zhí)行時(shí)間,識(shí)別并優(yōu)化慢查詢(xún)。
2.監(jiān)控索引使用情況,確保索引有效提高查詢(xún)效率。
3.監(jiān)控?cái)?shù)據(jù)庫(kù)緩存命中率,優(yōu)化緩存策略提高響應(yīng)速度。
(三)保障數(shù)據(jù)安全
1.監(jiān)控?cái)?shù)據(jù)庫(kù)訪問(wèn)權(quán)限,防止未授權(quán)訪問(wèn)和惡意操作。
2.監(jiān)控?cái)?shù)據(jù)備份和恢復(fù)狀態(tài),確保數(shù)據(jù)可恢復(fù)性。
3.監(jiān)控?cái)?shù)據(jù)加密傳輸和存儲(chǔ)情況,防止數(shù)據(jù)泄露。
三、數(shù)據(jù)庫(kù)監(jiān)控內(nèi)容
(一)系統(tǒng)級(jí)監(jiān)控
1.服務(wù)器硬件資源監(jiān)控:
-CPU使用率:正常范圍應(yīng)控制在70%以下,持續(xù)高于85%需預(yù)警。
-內(nèi)存使用率:可用內(nèi)存低于20%需預(yù)警。
-磁盤(pán)空間:可用空間低于15%需預(yù)警。
-磁盤(pán)I/O:讀寫(xiě)速度異常波動(dòng)需分析原因。
2.數(shù)據(jù)庫(kù)進(jìn)程監(jiān)控:
-后臺(tái)進(jìn)程狀態(tài):如日志寫(xiě)入、索引重建等關(guān)鍵進(jìn)程狀態(tài)。
-鎖等待情況:高鎖等待率可能導(dǎo)致性能下降。
(二)性能級(jí)監(jiān)控
1.查詢(xún)性能監(jiān)控:
-SQL執(zhí)行時(shí)間:平均執(zhí)行時(shí)間超過(guò)1秒需優(yōu)化。
-查詢(xún)緩存命中率:低于60%需分析原因。
-熱點(diǎn)表監(jiān)控:頻繁更新的表可能導(dǎo)致性能瓶頸。
2.事務(wù)監(jiān)控:
-事務(wù)成功率:低于95%需分析失敗原因。
-事務(wù)隔離級(jí)別:過(guò)高隔離級(jí)別可能影響性能。
(三)安全級(jí)監(jiān)控
1.訪問(wèn)控制監(jiān)控:
-異常登錄IP:非工作時(shí)間異地登錄需報(bào)警。
-權(quán)限變更記錄:定期審計(jì)權(quán)限變更情況。
2.數(shù)據(jù)完整性監(jiān)控:
-重復(fù)數(shù)據(jù)檢測(cè):定期掃描重復(fù)記錄。
-數(shù)據(jù)校驗(yàn):關(guān)鍵數(shù)據(jù)字段進(jìn)行完整性校驗(yàn)。
四、數(shù)據(jù)庫(kù)監(jiān)控方法
(一)自動(dòng)化監(jiān)控工具部署
1.選擇合適的監(jiān)控工具:
-商業(yè)工具:如SolarWinds、Zabbix等。
-開(kāi)源工具:如Prometheus、Nagios等。
2.配置監(jiān)控參數(shù):
-設(shè)定閾值:如CPU使用率超過(guò)80%觸發(fā)報(bào)警。
-設(shè)置監(jiān)控頻率:關(guān)鍵指標(biāo)每5分鐘采集一次。
(二)日志分析系統(tǒng)
1.部署日志收集系統(tǒng):
-ELK棧(Elasticsearch、Logstash、Kibana)。
-Splunk等商業(yè)日志分析系統(tǒng)。
2.配置日志規(guī)則:
-關(guān)鍵錯(cuò)誤日志(Error)級(jí)別以上自動(dòng)收集。
-定期生成日志報(bào)告。
(三)自定義監(jiān)控腳本
1.編寫(xiě)監(jiān)控腳本:
-Shell腳本定期執(zhí)行sql查詢(xún)。
-Python腳本調(diào)用數(shù)據(jù)庫(kù)API獲取狀態(tài)。
2.定時(shí)任務(wù)配置:
-Crontab設(shè)置每小時(shí)執(zhí)行一次監(jiān)控腳本。
五、異常處理流程
(一)監(jiān)控預(yù)警處理
1.閾值觸發(fā)預(yù)警:
-收到系統(tǒng)自動(dòng)發(fā)送預(yù)警通知。
-登錄監(jiān)控平臺(tái)查看詳細(xì)狀態(tài)。
2.初步分析:
-判斷問(wèn)題嚴(yán)重程度(緊急/重要/一般)。
-標(biāo)記問(wèn)題類(lèi)型(性能/安全/配置)。
(二)問(wèn)題定位與解決
1.分步排查:
-檢查硬件資源使用情況。
-查看數(shù)據(jù)庫(kù)慢查詢(xún)?nèi)罩尽?/p>
-驗(yàn)證安全策略配置。
2.解決措施:
-調(diào)整配置參數(shù)(如內(nèi)存分配)。
-優(yōu)化SQL語(yǔ)句。
-重啟服務(wù)(作為最后手段)。
(三)復(fù)盤(pán)與改進(jìn)
1.問(wèn)題記錄:
-記錄問(wèn)題詳情、解決方法、影響范圍。
-歸檔到知識(shí)庫(kù)系統(tǒng)。
2.制度優(yōu)化:
-根據(jù)問(wèn)題調(diào)整監(jiān)控閾值。
-修訂應(yīng)急預(yù)案。
六、監(jiān)控制度維護(hù)
(一)定期檢查
1.監(jiān)控有效性檢查:
-每月驗(yàn)證監(jiān)控規(guī)則準(zhǔn)確性。
-模擬故障測(cè)試告警功能。
2.數(shù)據(jù)完整性檢查:
-定期備份監(jiān)控配置。
-校驗(yàn)監(jiān)控?cái)?shù)據(jù)與實(shí)際狀態(tài)一致性。
(二)制度更新
1.根據(jù)業(yè)務(wù)變化:
-新業(yè)務(wù)上線增加監(jiān)控項(xiàng)。
-并發(fā)量增加調(diào)整監(jiān)控頻率。
2.技術(shù)迭代:
-升級(jí)監(jiān)控工具版本。
-引入新的監(jiān)控技術(shù)(如AI預(yù)測(cè))。
(三)人員培訓(xùn)
1.新員工培訓(xùn):
-監(jiān)控系統(tǒng)操作培訓(xùn)。
-異常處理流程演練。
2.定期考核:
-每季度組織監(jiān)控技能考核。
-記錄培訓(xùn)效果改進(jìn)點(diǎn)。
---
一、數(shù)據(jù)庫(kù)監(jiān)控制度概述
數(shù)據(jù)庫(kù)監(jiān)控制度是保障數(shù)據(jù)庫(kù)系統(tǒng)健康、穩(wěn)定、高效運(yùn)行的核心管理機(jī)制。它通過(guò)系統(tǒng)化的監(jiān)控、度量、分析和響應(yīng)流程,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)各項(xiàng)關(guān)鍵指標(biāo)的可視化管理。其核心目標(biāo)在于:
1.主動(dòng)預(yù)警,防患未然:在數(shù)據(jù)庫(kù)性能下降或潛在故障發(fā)生前,通過(guò)監(jiān)控指標(biāo)的變化提前發(fā)現(xiàn)異常,觸發(fā)預(yù)警,為及時(shí)干預(yù)爭(zhēng)取寶貴時(shí)間。
2.性能優(yōu)化,保障效率:持續(xù)監(jiān)控?cái)?shù)據(jù)庫(kù)的響應(yīng)時(shí)間、吞吐量、資源利用率等性能指標(biāo),識(shí)別性能瓶頸,指導(dǎo)優(yōu)化工作,確保數(shù)據(jù)庫(kù)能夠高效支撐業(yè)務(wù)需求。
3.安全防護(hù),數(shù)據(jù)保障:監(jiān)控?cái)?shù)據(jù)庫(kù)的訪問(wèn)行為、權(quán)限變更、安全漏洞等,防止未授權(quán)操作和數(shù)據(jù)泄露,確保數(shù)據(jù)的機(jī)密性、完整性和可用性。
4.資源合理利用:監(jiān)控硬件資源(CPU、內(nèi)存、磁盤(pán)I/O、網(wǎng)絡(luò))的使用情況,避免資源浪費(fèi)或過(guò)度配置,降低運(yùn)營(yíng)成本。
5.保障業(yè)務(wù)連續(xù)性:通過(guò)監(jiān)控備份、恢復(fù)、高可用等機(jī)制的狀態(tài),確保在故障發(fā)生時(shí)能夠快速恢復(fù)服務(wù),最大限度減少業(yè)務(wù)中斷時(shí)間。
該制度涵蓋了從監(jiān)控策略制定、工具部署、日常運(yùn)維到異常處理和持續(xù)改進(jìn)的全生命周期管理,是數(shù)據(jù)庫(kù)管理不可或缺的一部分。
二、數(shù)據(jù)庫(kù)監(jiān)控目標(biāo)
數(shù)據(jù)庫(kù)監(jiān)控的目標(biāo)設(shè)定應(yīng)緊密?chē)@業(yè)務(wù)需求和數(shù)據(jù)庫(kù)特性,具體可細(xì)分為以下幾類(lèi):
(一)確保數(shù)據(jù)庫(kù)穩(wěn)定運(yùn)行
1.硬件資源監(jiān)控與預(yù)警
CPU使用率監(jiān)控:設(shè)定正常工作負(fù)載下的CPU使用率基準(zhǔn)(如平均70%以下)。設(shè)置多個(gè)預(yù)警閾值,如:
警告閾值:連續(xù)5分鐘超過(guò)60%,提示負(fù)載較高。
報(bào)警閾值:連續(xù)10分鐘超過(guò)80%,可能影響性能。
嚴(yán)重閾值:連續(xù)15分鐘超過(guò)90%,服務(wù)可能不穩(wěn)定。
內(nèi)存使用監(jiān)控:
監(jiān)控?cái)?shù)據(jù)庫(kù)進(jìn)程內(nèi)存(DBMemory)和共享內(nèi)存(SharedMemory)的使用情況。
設(shè)置可用內(nèi)存百分比閾值(如低于20%或30%時(shí)預(yù)警)。
關(guān)注內(nèi)存不足導(dǎo)致的換頁(yè)(Swapping)或OutOfMemory(OOM)事件。
磁盤(pán)I/O監(jiān)控:
監(jiān)控?cái)?shù)據(jù)庫(kù)數(shù)據(jù)文件、日志文件所在磁盤(pán)的讀/寫(xiě)速率(IOPS)和帶寬使用率(Throughput)。
異常波動(dòng)(如突然飆升或持續(xù)低下)可能指示磁盤(pán)瓶頸或故障。
關(guān)注磁盤(pán)空間使用率,設(shè)置低空間預(yù)警(如低于15%或10%)。
磁盤(pán)空間監(jiān)控:
實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)文件(DataFiles)、臨時(shí)文件(TemporaryFiles)、重做日志文件(RedoLogs)、歸檔日志文件(ArchivedLogs)及閃回區(qū)(FlashbackArea)等的空間占用。
自動(dòng)生成空間使用報(bào)告,定期(如每周)分析增長(zhǎng)趨勢(shì)。
設(shè)置磁盤(pán)空間不足的預(yù)警和報(bào)警閾值。
2.數(shù)據(jù)庫(kù)進(jìn)程與鎖監(jiān)控
后臺(tái)進(jìn)程狀態(tài)監(jiān)控:監(jiān)控關(guān)鍵后臺(tái)進(jìn)程(如PMON、DBWR、LGWR、CKPT、AR)的運(yùn)行狀態(tài)、CPU使用率和等待事件。任何關(guān)鍵進(jìn)程長(zhǎng)時(shí)間掛起或狀態(tài)異常都應(yīng)觸發(fā)報(bào)警。
鎖等待監(jiān)控:
監(jiān)控鎖等待事件的發(fā)生頻率和持續(xù)時(shí)間。
關(guān)注高優(yōu)先級(jí)事務(wù)因鎖等待而阻塞的情況。
分析鎖模式(共享鎖、排他鎖等)和被鎖資源(行鎖、表鎖、間隙鎖等)。
設(shè)置鎖等待超時(shí)的預(yù)警閾值(如等待時(shí)間超過(guò)5秒或10秒)。
定期生成鎖統(tǒng)計(jì)報(bào)告,識(shí)別死鎖風(fēng)險(xiǎn)。
3.實(shí)例狀態(tài)與健康檢查
監(jiān)控?cái)?shù)據(jù)庫(kù)實(shí)例的啟動(dòng)、運(yùn)行、關(guān)閉狀態(tài),確保服務(wù)持續(xù)可用。
檢查關(guān)鍵參數(shù)是否與配置一致,如內(nèi)存分配參數(shù)(SGA_TARGET,PGA_AGGREGATE_TARGET)、日志文件大小和數(shù)量等。
監(jiān)控連接數(shù)和會(huì)話數(shù),防止連接數(shù)耗盡。
(二)優(yōu)化數(shù)據(jù)庫(kù)性能
1.查詢(xún)性能監(jiān)控與分析
慢查詢(xún)?nèi)罩痉治觯?/p>
啟用并配置慢查詢(xún)?nèi)罩荆涗泩?zhí)行時(shí)間超過(guò)閾值的SQL語(yǔ)句(如默認(rèn)1秒,可根據(jù)業(yè)務(wù)調(diào)整)。
定期(如每日)分析慢查詢(xún)?nèi)罩?,找出性能瓶頸SQL。
關(guān)注SQL的執(zhí)行計(jì)劃,識(shí)別索引缺失或不當(dāng)、表連接效率低等問(wèn)題。
SQL執(zhí)行時(shí)長(zhǎng)監(jiān)控:
對(duì)核心業(yè)務(wù)SQL語(yǔ)句設(shè)置實(shí)時(shí)監(jiān)控,記錄其平均/最大執(zhí)行時(shí)間。
使用性能視圖(如V$SQL,V$SQLTEXT,V$SESSION)獲取SQL執(zhí)行信息。
查詢(xún)緩存命中率監(jiān)控:
監(jiān)控SQL區(qū)緩存(SQLAreaCache)和PL/SQL區(qū)緩存(PL/SQLAreaCache)的命中率。
低緩存命中率(如低于60%-70%)可能表示SQL變化頻繁或緩存配置不當(dāng)。
2.索引使用情況監(jiān)控
監(jiān)控索引的命中率(IndexHitRatio)和解析率(ParseRate)。
分析是否存在未使用索引(UnusedIndexes)或索引選擇不當(dāng)(IncorrectIndexes)。
關(guān)注索引重建或重建后的性能變化。
3.緩存與內(nèi)存使用監(jiān)控
緩沖區(qū)緩存(BufferCache):
監(jiān)控緩沖區(qū)緩存命中率(BufferCacheHitRatio),這是衡量數(shù)據(jù)庫(kù)I/O效率的關(guān)鍵指標(biāo)(目標(biāo)通常在95%以上)。
分析緩沖區(qū)命中率低的原因,如數(shù)據(jù)訪問(wèn)模式不適合緩存、SGA大小設(shè)置不當(dāng)?shù)取?/p>
會(huì)話緩存(SessionCache):
監(jiān)控會(huì)話緩存命中率,影響會(huì)話相關(guān)數(shù)據(jù)的加載速度。
4.并發(fā)與事務(wù)監(jiān)控
并發(fā)會(huì)話數(shù)監(jiān)控:監(jiān)控當(dāng)前活躍的數(shù)據(jù)庫(kù)連接數(shù),超過(guò)最大連接數(shù)(MAX_SESSIONS)時(shí)應(yīng)觸發(fā)預(yù)警。
事務(wù)監(jiān)控:
監(jiān)控事務(wù)的開(kāi)始、提交、回滾數(shù)量。
關(guān)注長(zhǎng)時(shí)間未提交的事務(wù)(Long-runningTransactions),可能導(dǎo)致鎖競(jìng)爭(zhēng)加劇。
監(jiān)控事務(wù)成功率,低成功率可能指示應(yīng)用層或數(shù)據(jù)庫(kù)層面的錯(cuò)誤。
(三)保障數(shù)據(jù)安全
1.訪問(wèn)控制與審計(jì)
登錄嘗試監(jiān)控:
監(jiān)控來(lái)自異常IP地址或地區(qū)的登錄嘗試。
監(jiān)控頻繁失敗的登錄密碼嘗試,可能指示暴力破解攻擊。
權(quán)限變更監(jiān)控:
審計(jì)角色、用戶、權(quán)限(SELECT,INSERT,UPDATE,DELETE,GRANT,REVOKE)的創(chuàng)建、修改和刪除操作。
記錄操作者、操作時(shí)間、操作對(duì)象,定期(如每月)進(jìn)行權(quán)限審計(jì)。
審計(jì)日志分析:
啟用并配置細(xì)粒度的審計(jì)日志(如SQL審計(jì)、登錄審計(jì))。
定期分析審計(jì)日志,查找可疑活動(dòng)或潛在安全風(fēng)險(xiǎn)。
2.數(shù)據(jù)完整性監(jiān)控
數(shù)據(jù)校驗(yàn):
對(duì)關(guān)鍵數(shù)據(jù)表或字段,定期執(zhí)行數(shù)據(jù)規(guī)則校驗(yàn)(如主鍵唯一性、外鍵約束、數(shù)據(jù)格式)。
使用數(shù)據(jù)庫(kù)自帶工具或自定義腳本執(zhí)行校驗(yàn)。
重復(fù)數(shù)據(jù)檢測(cè):
定期掃描關(guān)鍵業(yè)務(wù)表,檢測(cè)是否存在重復(fù)記錄(基于唯一標(biāo)識(shí)符或關(guān)鍵字段)。
數(shù)據(jù)備份有效性驗(yàn)證:
定期(如每月)對(duì)備份數(shù)據(jù)進(jìn)行恢復(fù)測(cè)試(部分?jǐn)?shù)據(jù)或全量數(shù)據(jù)),驗(yàn)證備份文件的可用性。
監(jiān)控備份任務(wù)的成功率、完成時(shí)間和存儲(chǔ)空間。
3.安全漏洞與配置基線
配置基線檢查:
定期與預(yù)定義的安全配置基線進(jìn)行比對(duì),檢查是否存在不合規(guī)的數(shù)據(jù)庫(kù)參數(shù)設(shè)置。
例如,檢查密碼復(fù)雜度策略、審計(jì)級(jí)別、網(wǎng)絡(luò)配置等。
補(bǔ)丁狀態(tài)監(jiān)控:
監(jiān)控?cái)?shù)據(jù)庫(kù)補(bǔ)丁級(jí)別(PatchLevel),確保系統(tǒng)運(yùn)行在推薦的安全補(bǔ)丁版本上。
記錄補(bǔ)丁安裝時(shí)間和版本。
三、數(shù)據(jù)庫(kù)監(jiān)控內(nèi)容
(一)系統(tǒng)級(jí)監(jiān)控
1.服務(wù)器硬件資源監(jiān)控
CPU使用率:
監(jiān)控總CPU使用率、用戶模式CPU使用率、系統(tǒng)模式CPU使用率。
關(guān)注CPU等待時(shí)間(如I/O等待、內(nèi)存等待),高等待時(shí)間可能指示資源瓶頸。
內(nèi)存使用率:
監(jiān)控物理內(nèi)存使用率、交換空間使用情況。
分析內(nèi)存區(qū)域分配(如FreeMemory,UsedMemory,Buffers,Caches)。
磁盤(pán)使用率與I/O:
監(jiān)控磁盤(pán)分區(qū)(/,/u02,/u03等)的空間使用率。
監(jiān)控磁盤(pán)讀/寫(xiě)操作次數(shù)(Reads/Sec,Writes/Sec)和吞吐量(ReadBytes/Sec,WriteBytes/Sec)。
監(jiān)控磁盤(pán)延遲(AvgDisksec/Read,AvgDisksec/Write)。
網(wǎng)絡(luò)使用率:
監(jiān)控?cái)?shù)據(jù)庫(kù)服務(wù)器的入站/出站網(wǎng)絡(luò)流量。
高網(wǎng)絡(luò)流量可能指示大量數(shù)據(jù)傳輸或潛在的網(wǎng)絡(luò)問(wèn)題。
2.操作系統(tǒng)層面監(jiān)控
系統(tǒng)負(fù)載:監(jiān)控1分鐘、5分鐘、15分鐘的平均系統(tǒng)負(fù)載值。
進(jìn)程狀態(tài):監(jiān)控關(guān)鍵數(shù)據(jù)庫(kù)進(jìn)程(PMON,DBWR,LGWR等)的存活和CPU使用情況。
文件系統(tǒng)I/O:監(jiān)控文件系統(tǒng)級(jí)別的讀/寫(xiě)速率和延遲。
網(wǎng)絡(luò)連接:監(jiān)控服務(wù)器端口的網(wǎng)絡(luò)連接數(shù)。
(二)數(shù)據(jù)庫(kù)實(shí)例級(jí)監(jiān)控
1.實(shí)例狀態(tài)與參數(shù)
實(shí)例運(yùn)行狀態(tài):是否處于OPEN狀態(tài)。
關(guān)鍵參數(shù)值:監(jiān)控核心參數(shù)(如SGA_MAX_SIZE,pga_aggregate_target,log_buffer,undo_tablespace)的當(dāng)前值是否在合理范圍內(nèi)。
警告信息:監(jiān)控?cái)?shù)據(jù)庫(kù)實(shí)例生成的警告信息。
2.會(huì)話與連接
活動(dòng)會(huì)話數(shù):當(dāng)前處于活動(dòng)狀態(tài)的用戶會(huì)話數(shù)量。
會(huì)話狀態(tài):監(jiān)控會(huì)話的等待事件、CPU使用率、內(nèi)存使用情況。
會(huì)話等待事件:分析會(huì)話等待的前N個(gè)事件(如等待鎖、等待I/O、等待信號(hào)),識(shí)別性能瓶頸。
3.鎖與并發(fā)
鎖模式統(tǒng)計(jì):共享鎖、排他鎖、行鎖、表鎖等不同鎖模式的獲取和釋放次數(shù)。
鎖等待隊(duì)列:監(jiān)控鎖等待隊(duì)列的長(zhǎng)度和等待時(shí)間。
死鎖檢測(cè):監(jiān)控死鎖的發(fā)生和自動(dòng)檢測(cè)機(jī)制的狀態(tài)。
(三)數(shù)據(jù)庫(kù)性能級(jí)監(jiān)控
1.SQL執(zhí)行監(jiān)控
慢查詢(xún)?cè)斍椋河涗浻|發(fā)慢查詢(xún)的SQL文本、執(zhí)行時(shí)長(zhǎng)、執(zhí)行次數(shù)、等待事件、關(guān)聯(lián)會(huì)話ID。
SQL執(zhí)行計(jì)劃:獲取并分析關(guān)鍵SQL的執(zhí)行計(jì)劃,識(shí)別全表掃描、嵌套循環(huán)等低效操作。
綁定變量使用率:監(jiān)控應(yīng)用使用綁定變量(BindVariables)的比例,高比例(目標(biāo)>90%)有助于提高緩存效率和減少SQL解析開(kāi)銷(xiāo)。
2.緩存與內(nèi)存
緩沖區(qū)緩存統(tǒng)計(jì):
緩沖區(qū)緩存命中率(BufferCacheHitRatio)。
緩沖區(qū)命中率變化趨勢(shì)(Delta)。
緩沖區(qū)命中率TopN表(說(shuō)明緩存未命中主要集中在哪些表)。
獲得緩沖區(qū)的方式(Pinhit,Pinmiss,Buffersgottenfromfreelist,BuffersgottenfromLRUlist)。
SGA組件監(jiān)控:
各SGA子組件(如DatabaseBufferCache,RedoBuffer,JavaPool,LargePool)的內(nèi)存使用情況。
對(duì)比SGA配置值(Target/Max)與當(dāng)前實(shí)際使用值。
3.I/O性能
物理讀/寫(xiě):
物理讀取塊數(shù)(PhysicalReadTotalIORequests)。
物理讀取字節(jié)數(shù)(PhysicalReadTotalBytes)。
物理寫(xiě)入塊數(shù)(PhysicalWriteTotalIORequests)。
物理寫(xiě)入字節(jié)數(shù)(PhysicalWriteTotalBytes)。
邏輯讀:
邏輯讀取塊數(shù)(LogicalReadTotalIORequests)。
邏輯讀取次數(shù)(LogicalReadTotalReads)。
邏輯讀與物理讀的比例,過(guò)高可能表示緩存效率低。
4.并發(fā)與事務(wù)
并發(fā)會(huì)話統(tǒng)計(jì):會(huì)話總數(shù)、空閑會(huì)話數(shù)、活動(dòng)會(huì)話數(shù)。
事務(wù)統(tǒng)計(jì):
事務(wù)開(kāi)始/提交/回滾數(shù)量。
平均事務(wù)持續(xù)時(shí)間。
長(zhǎng)時(shí)間運(yùn)行的事務(wù)列表。
鎖統(tǒng)計(jì):
鎖模式獲取次數(shù)(SharedLocksGranted,ExclusiveLocksGranted)。
鎖模式釋放次數(shù)(SharedLocksReleased,ExclusiveLocksReleased)。
鎖等待次數(shù)(LockWaits)。
(四)數(shù)據(jù)庫(kù)安全級(jí)監(jiān)控
1.審計(jì)日志監(jiān)控
登錄/注銷(xiāo)審計(jì):
用戶登錄成功/失敗次數(shù)、IP地址、時(shí)間。
用戶注銷(xiāo)時(shí)間。
權(quán)限變更審計(jì):
GRANT/REVOKE操作記錄(操作者、授權(quán)對(duì)象、被授權(quán)者、權(quán)限類(lèi)型、時(shí)間)。
角色創(chuàng)建/刪除記錄。
用戶創(chuàng)建/刪除/修改記錄。
SQL審計(jì):
執(zhí)行成功的SQL記錄(SQL文本、用戶、會(huì)話ID、執(zhí)行時(shí)長(zhǎng)、執(zhí)行時(shí)間)。
執(zhí)行失敗的SQL記錄(原因、用戶、會(huì)話ID)。
需要特別關(guān)注的敏感SQL(如刪除、更新、GRANT)。
2.異常行為檢測(cè)
異常登錄地點(diǎn):用戶從非常用地理位置或網(wǎng)絡(luò)環(huán)境登錄。
異常登錄時(shí)間:在非工作時(shí)間或節(jié)假日登錄。
權(quán)限濫用跡象:短時(shí)間內(nèi)對(duì)大量數(shù)據(jù)進(jìn)行修改或刪除。
密碼嘗試次數(shù)過(guò)多:短時(shí)間內(nèi)多次登錄失敗。
3.數(shù)據(jù)完整性與備份
備份任務(wù)狀態(tài):完整備份、增量備份、差異備份任務(wù)的執(zhí)行成功/失敗狀態(tài)、開(kāi)始/結(jié)束時(shí)間、耗時(shí)。
備份空間使用:備份文件在存儲(chǔ)系統(tǒng)上的空間占用情況。
數(shù)據(jù)校驗(yàn)結(jié)果:定期數(shù)據(jù)校驗(yàn)任務(wù)的結(jié)果(通過(guò)/失敗)。
四、數(shù)據(jù)庫(kù)監(jiān)控方法
(一)自動(dòng)化監(jiān)控工具部署與配置
1.選擇監(jiān)控工具
商業(yè)數(shù)據(jù)庫(kù)監(jiān)控工具:
SolarWindsDatabasePerformanceMonitor:提供全面的數(shù)據(jù)庫(kù)性能監(jiān)控、歷史趨勢(shì)分析、告警功能。
Dynatrace:AI驅(qū)動(dòng)的應(yīng)用性能監(jiān)控(APM),深度分析數(shù)據(jù)庫(kù)性能瓶頸。
Datadog:云原生監(jiān)控平臺(tái),支持多種數(shù)據(jù)庫(kù)類(lèi)型,提供實(shí)時(shí)指標(biāo)和日志。
BMCTrueSight:綜合監(jiān)控解決方案,包含數(shù)據(jù)庫(kù)性能監(jiān)控模塊。
開(kāi)源監(jiān)控工具:
Zabbix:功能強(qiáng)大的開(kāi)源監(jiān)控系統(tǒng),可通過(guò)插件監(jiān)控多種數(shù)據(jù)庫(kù)。
Prometheus+Grafana:時(shí)間序列數(shù)據(jù)監(jiān)控和可視化方案,配合MySqlExporter或PostgresExporter使用。
Nagios:經(jīng)典的開(kāi)源網(wǎng)絡(luò)監(jiān)控工具,可配置插件監(jiān)控?cái)?shù)據(jù)庫(kù)狀態(tài)。
PerconaMonitoringandManagement(PMM):專(zhuān)為Percona服務(wù)設(shè)計(jì)的開(kāi)源監(jiān)控平臺(tái),對(duì)MySQL/PerconaServer優(yōu)化。
2.部署與安裝
Agent模式:
在數(shù)據(jù)庫(kù)服務(wù)器上安裝監(jiān)控代理(Agent)。
代理直接收集本地性能指標(biāo)和狀態(tài)信息。
優(yōu)點(diǎn):數(shù)據(jù)實(shí)時(shí)性高,減少網(wǎng)絡(luò)傳輸。
缺點(diǎn):可能增加數(shù)據(jù)庫(kù)服務(wù)器負(fù)載,需要管理多個(gè)代理。
Agentless模式:
監(jiān)控服務(wù)器通過(guò)JDBC/ODBC連接到數(shù)據(jù)庫(kù),執(zhí)行查詢(xún)獲取監(jiān)控?cái)?shù)據(jù)。
優(yōu)點(diǎn):對(duì)數(shù)據(jù)庫(kù)影響小,部署簡(jiǎn)單。
缺點(diǎn):數(shù)據(jù)獲取可能存在延遲,受網(wǎng)絡(luò)連接影響。
3.配置監(jiān)控項(xiàng)與閾值
定義監(jiān)控目標(biāo):明確需要監(jiān)控的數(shù)據(jù)庫(kù)實(shí)例、服務(wù)器、指標(biāo)。
配置數(shù)據(jù)源:設(shè)置數(shù)據(jù)庫(kù)連接信息(主機(jī)名、端口、用戶名、密碼/認(rèn)證方式)。
添加監(jiān)控模板/主機(jī)模板:利用工具提供的模板快速配置常用監(jiān)控項(xiàng)。
設(shè)置關(guān)鍵指標(biāo)閾值:
CPU:如>85%警告,>95%報(bào)警。
內(nèi)存:可用內(nèi)存<15%警告。
磁盤(pán):可用空間<10%報(bào)警,<15%警告。
I/O:磁盤(pán)讀寫(xiě)延遲>100ms警告。
連接數(shù):>90%最大連接數(shù)警告。
慢查詢(xún):執(zhí)行時(shí)間>1秒警告(根據(jù)業(yè)務(wù)調(diào)整)。
緩存命中率:<70%警告。
鎖等待:等待時(shí)間>5秒報(bào)警。
配置告警規(guī)則:
定義觸發(fā)告警的條件(如連續(xù)X分鐘超過(guò)閾值)。
設(shè)置告警級(jí)別(緊急、重要、一般)。
配置告警通知方式(郵件、短信、Slack、釘釘、Webhook等)。
設(shè)置告警接收人。
4.可視化與報(bào)表
儀表盤(pán)(Dashboard):創(chuàng)建自定義儀表盤(pán),展示關(guān)鍵監(jiān)控指標(biāo)和狀態(tài)。
歷史趨勢(shì)圖:查看指標(biāo)隨時(shí)間的變化趨勢(shì),用于性能分析和容量規(guī)劃。
配置報(bào)表:定期生成性能、資源使用、告警等報(bào)表。
(二)日志分析系統(tǒng)
1.日志收集系統(tǒng)部署
ELKStack(Elasticsearch,Logstash,Kibana):
Logstash:作為日志收集器,通過(guò)JDBC驅(qū)動(dòng)連接數(shù)據(jù)庫(kù)實(shí)例,定時(shí)拉取日志(如審計(jì)日志、錯(cuò)誤日志、慢查詢(xún)?nèi)罩荆?/p>
Elasticsearch:作為搜索引擎和存儲(chǔ),索引化日志數(shù)據(jù)。
Kibana:作為可視化界面,創(chuàng)建儀表盤(pán)、圖表、報(bào)表,搜索和分析日志。
Splunk:商業(yè)化的日志分析和監(jiān)控平臺(tái),功能類(lèi)似ELKStack,提供更強(qiáng)大的搜索和分析能力。
OpenSearch:Elasticsearch的分支,提供類(lèi)似的功能。
2.配置日志源
數(shù)據(jù)庫(kù)審計(jì)日志:
確保數(shù)據(jù)庫(kù)審計(jì)功能已啟用,并配置為將日志輸出到指定文件或直接輸出到Logstash。
在Logstash中配置JDBC輸入插件,連接數(shù)據(jù)庫(kù)審計(jì)日志表。
數(shù)據(jù)庫(kù)錯(cuò)誤日志:
配置Logstash讀取數(shù)據(jù)庫(kù)錯(cuò)誤日志文件(如Oracle的alert日志、MySQL的錯(cuò)誤日志)。
可使用文件輸入插件或直接從數(shù)據(jù)庫(kù)表中讀取。
應(yīng)用日志:如果應(yīng)用日志包含數(shù)據(jù)庫(kù)操作信息,也納入收集范圍。
3.配置Logstash/Pipeline
輸入(Input):配置JDBC輸入、文件輸入等。
過(guò)濾器(Filter):
使用Groovy腳本或JSON過(guò)濾器解析日志格式。
提取關(guān)鍵信息(用戶、時(shí)間、操作類(lèi)型、對(duì)象、SQL語(yǔ)句等)。
轉(zhuǎn)換時(shí)間戳格式。
輸出(Output):配置Elasticsearch輸出,指定索引名。
4.Kibana/Kibana配置
創(chuàng)建索引模式:匹配Elasticsearch中的日志索引。
創(chuàng)建可視化:
時(shí)間序列圖:展示錯(cuò)誤數(shù)量、慢查詢(xún)數(shù)量隨時(shí)間變化。
表格:展示詳細(xì)的慢查詢(xún)?nèi)罩?、審?jì)日志記錄。
地圖:展示登錄IP地理位置分布(用于審計(jì))。
創(chuàng)建儀表盤(pán):整合多個(gè)可視化,形成數(shù)據(jù)庫(kù)健康狀態(tài)概覽。
設(shè)置告警:
基于Kibana的告警功能,對(duì)特定日志模式(如嚴(yán)重錯(cuò)誤、頻繁登錄失?。┰O(shè)置告警。
配置通知方式。
(三)自定義監(jiān)控腳本
1.腳本語(yǔ)言選擇
ShellScript(Bash):適用于簡(jiǎn)單的監(jiān)控任務(wù),如檢查文件、執(zhí)行SQL查詢(xún)、發(fā)送郵件。
Python:功能強(qiáng)大,適合復(fù)雜的監(jiān)控邏輯、數(shù)據(jù)處理、發(fā)送通知、調(diào)用API。
Perl:類(lèi)似Python,也有豐富的庫(kù)支持。
SQL腳本:純SQL腳本可用于執(zhí)行簡(jiǎn)單的監(jiān)控查詢(xún),但通常需要數(shù)據(jù)庫(kù)客戶端工具執(zhí)行。
2.腳本功能設(shè)計(jì)
獲取監(jiān)控?cái)?shù)據(jù):
連接數(shù)據(jù)庫(kù)執(zhí)行特定查詢(xún)(如獲取CPU使用率、內(nèi)存使用、連接數(shù)、慢查詢(xún)列表)。
查詢(xún)數(shù)據(jù)庫(kù)視圖(如Oracle的V$views,MySQL的PerformanceSchema,SQLServer的DynamicManagementViews/DiagnosticLogs)。
讀取操作系統(tǒng)文件(如/proc/meminfo,/proc/stat,磁盤(pán)使用率文件)。
數(shù)據(jù)解析與處理:
解析查詢(xún)結(jié)果或文件內(nèi)容。
計(jì)算衍生指標(biāo)(如增長(zhǎng)率、平均值)。
閾值判斷與告警:
將獲取的數(shù)據(jù)與預(yù)設(shè)閾值進(jìn)行比較。
判斷是否觸發(fā)告警條件。
發(fā)送通知:
通過(guò)郵件、SNMPTrap、API調(diào)用等方式發(fā)送告警信息。
3.腳本示例(Python)
```python
importpymysql
importsmtplib
fromemail.mime.textimportMIMEText
importdatetime
配置數(shù)據(jù)庫(kù)連接
db_config={
'host':'localhost',
'user':'monitor',
'password':'password',
'db':'performance_db'
}
配置告警閾值
THRESHOLDS={
'cpu_usage':90,
'free_memory_pct':10,
'max_connections':100
}
配置郵件通知
EMAILConfig={
'smtp_server':'',
'smtp_port':587,
'sender':'monitor@',
'receiver':'admin@',
'subject':'DatabaseMonitoringAlert',
'username':'monitor_user',
'password':'monitor_password'
}
defcheck_metrics():
try:
連接數(shù)據(jù)庫(kù)
conn=pymysql.connect(db_config)
cursor=conn.cursor()
檢查CP
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年初中入學(xué)化學(xué)試題及答案
- 吉林省一模語(yǔ)文考試試卷及答案
- 南寧市2025年中考數(shù)學(xué)試卷及答案
- 主樓磚胎膜專(zhuān)項(xiàng)施工方案
- 中醫(yī)傳統(tǒng)養(yǎng)生咨詢(xún)方案范文
- 三年級(jí)乒乓球活動(dòng)方案策劃
- 臨電施工方案審批人
- 2025年威海市立醫(yī)院公開(kāi)招聘高層次急需緊缺專(zhuān)業(yè)技術(shù)人才(33人)模擬試卷及答案詳解(名師系列)
- 2025內(nèi)蒙古森工集團(tuán)招聘50名高校畢業(yè)生(第一批)模擬試卷及答案詳解(奪冠)
- 2025國(guó)網(wǎng)國(guó)際發(fā)展有限公司第二批高校畢業(yè)生錄用人選的模擬試卷及答案詳解(奪冠系列)
- 全國(guó)學(xué)科專(zhuān)業(yè)目錄及名稱(chēng)代碼表
- 項(xiàng)目安全管理考核表
- 食品生產(chǎn)企業(yè)安全檢查表含日管控、周排查及月調(diào)度檢查記錄表
- 單病種住院診療費(fèi)用控制表
- 2023年工業(yè)地產(chǎn)市場(chǎng)分析報(bào)告
- 老舊小區(qū)改造監(jiān)理實(shí)施細(xì)則
- 禮品售后服務(wù)承諾書(shū)
- 音樂(lè)治療和心理劇演出你內(nèi)心的音樂(lè)
- 液塑限自動(dòng)計(jì)算程序
- 掩耳盜鈴兒童故事繪本PPT
- CIED植入圍手術(shù)期抗凝治療
評(píng)論
0/150
提交評(píng)論