原创 頻繁全表掃描導致cpu使用率飆升故障處理

一:問題描述 今天早晨收到郵件告警,提示有臺數據庫服務器的cpu使用率在50%-70%間波動,有幾個瞬間達到了90多。 通過巡檢數據庫,發現有兩處異常: ① 故障期間的慢查詢日誌其中90%的慢查詢來自於同一個sql: 在半個小時內執行

原创 Oracle定期備份shell腳本

每週一0點執行全備,其他每天執行增量備份。 定時任務如下: 0級備份腳本內容: [oracle@zhmh-64 rman_bak]$ cat /k8s/backup/rman_bak/rman_full_level0.sh #!/b

原创 mysql恢復誤刪除的表(drop table)

一 試驗介紹 備份策略:使用xtrabackup做全量備份 生產服務器:192.168.1.202 恢復服務器:192.168.1.203 想要恢復生產最近被drop的表dba.t4 二 試驗步驟 2.1 找到drop table所在bi

原创 [WARNING]:-Skipping startup of segment marked down in configuration

一:問題描述 執行gpstart -a報錯: [WARNING]:-Skipping startup of segment marked down in configuration: on pc3 directory /data/gree

原创 GreemPlum怎樣將故障恢復後的主庫加入集羣

環境介紹: 原主庫IP      原主庫hostname 192.168.1.202   pc1 192.168.1.204   pc3   當原主庫故障恢復後,在原主庫上執行gpstart -a時報錯: gpstart:pc1:gpad

原创 重複值較高的列上創建了索引導致cpu使用率較高問題處理

一 問題描述 今天上午發現有臺生產環境服務器的cpu使用率在30%~50%左右,分析了下早晨8點到估值時刻之間的慢查詢日誌。 top1 SQL信息如下:  執行計劃如下: 感覺post表的rows掃描條數比較多,有點可疑。 看下該

原创 Mysql Router 8.0 + MGR(單主模式)安裝配置

一 簡單介紹 MGR只支持數據庫集羣本身的高可用,但在服務器崩潰時,不能將連接到該服務的客戶端重定向或故障轉移到其他服務器。因此,這裏結合mysql router代理中間件來實現真正的高可用(主節點故障時程序能夠自動連接到新的主節點),同

原创 在GTID環境中根據主庫備份恢復從庫

試驗環境: 主庫 192.168.3.202 備庫 192.168.3.203 開啓了GTID模式。   假如從庫和主庫差異較大,想要根據主庫的備份恢復從庫。 需要做如下步驟。   一 備份主庫 mysqldump -u root -p

原创 mysql 如何遠程實時備份binlog日誌

轉原文地址: https://www.cnblogs.com/ivictor/p/5502240.html 以前備份binlog時,都是先在本地進行備份壓縮,然後發送到遠程服務器中。但是這其中還是有一定風險的,因爲日誌的備份都是週期性的,

原创 Mysql慢sql優化案例之使用force index改變執行計劃

一 問題描述 生產有個這樣的慢sql: SELECT    ua.id AS "id",    ua.appid AS "appid",    ua.user_id AS "userId",    ua.create_time

原创 Mysql慢sql優化案例

一 問題描述 生產有一個這樣的慢sql: SELECT DISTINCT   m1.meetingid AS meetingid,   m1.starttime AS START,   m1.endtime AS END, m1

原创 Mysql sql優化案例之表關聯字段字符集不同導致被驅動表無法走索引

一 問題描述 發現生產有這樣一個慢查詢: SELECT   t.*,   u.user_truename AS username FROM   cms_template_flow t   LEFT JOIN sys_user

原创 使用SQL Tuning Advisor(STA)爲sql提供優化建議

在Oracle10g之前,優化SQL是個比較費力的技術活,不停的分析執行計劃,加hint,分析統計信息等等。 在10g中,Oracle推出了自己的SQL優化輔助工具: SQL優化器(SQL Tuning Advisor :STA),它可以

原创 mysql left join執行異常緩慢優化案例

一:問題描述   生產有這個這樣的慢sql: SELECT * FROM ( SELECT ml.*, GROUP_CONCAT(sd. NAME) NAME,GROUP_CONCAT(sd.unit) unit,GROUP_

原创 用logmnr追蹤oracle操作記錄

1 確保打開補充日誌 alter database add supplemental log data; SQL> select SUPPLEMENTAL_LOG_DATA_MIN from v$database;   SUPPLEME