版本信息
數據庫版本:Mogdb 3.0.1
服務器版本:Centos 7.9
場景描述
使用gs_om進行數據庫的安裝,在數據庫預安裝完畢后,數據庫初始化階段,出現如下報錯:

初步診斷
根據報錯提示和日志輸出,可以判斷數據庫已經完成初始化,故障節點主要發生在啟動階段。同時通過報錯可以確定問題點在于sysctl.conf文件中的kernel.shmall和kernel.shmmax和數據庫shared_buffers參數不匹配導致,多常見于shared_buffer > kernel.shmmax
TIPS:
kernel.shmall:可以簡單理解為一個共享內存段的最大值,一般要大于數據庫的共享內存
kernel.shmmax:共享內存段的頁數,為kernel.shmall/4K(os_block_size)
處理過程
分別查看sysctl.conf中的kernel.shmall和kernel.shmmax參數和數據庫shared_buffers參數
cat /etc/sysctl.conf cat postgresql.conf|grep shared_buffers


發現參數設置沒有問題,繼續檢查內存,發現內存足夠。
free -m

繼續查看,發現free命令中返回的的swap為0,加了2048M的swap,重新初始化數據庫。
dd if=/dev/zero of=/swapfile bs=1m count=2048 mkswap /swapfile swapon /swapfile free -m

數據庫可以正常初始化。


故障總結
初始化數據庫,分為兩步,1、初始化實例,2、啟動數據庫。本文中,通過初始化的輸出日志,可以確認初始化實例已完成,報錯發生在啟動過程中,根據數據庫日志明確故障成因。同時也可以通過修改參數log_min_messages輸出更詳細的日志輸出。
本次故障中,參數配置沒有任何的問題,但是由于未能配置swap,導致故障的產生。建議使用ptk工具進行數據庫的安裝,可以在數據庫安裝前自動檢查安裝檢查項,并生成對應的修復腳本。
最后修改時間:2022-08-31 20:24:31
「喜歡這篇文章,您的關注和贊賞是給作者最好的鼓勵」
關注作者
【版權聲明】本文為墨天輪用戶原創內容,轉載時必須標注文章的來源(墨天輪),文章鏈接,文章作者等基本信息,否則作者和墨天輪有權追究責任。如果您發現墨天輪中有涉嫌抄襲或者侵權的內容,歡迎發送郵件至:contact@modb.pro進行舉報,并提供相關證據,一經查實,墨天輪將立刻刪除相關內容。




