PostgreSQL啟動恢復透過checkpoint open wal檔案
StartupLOG:: ->record = ReadCheckpointRecord(xlogreader, ControlFile->checkPoint, 1, true) ->record = ReadRecord(xlogreader, ControlFile->checkPoint, LOG, true) ->record = XLogReadRecord(xlogreader, ControlFile->checkPoint, &errormsg); ->readOff = ReadPageInternal(state,ControlFile->checkPoint - (ControlFile->checkPoint % XLOG_BLCKSZ), Min(ontrolFile->checkPoint % XLOG_BLCKSZ + SizeOfXLogRecord, XLOG_BLCKSZ)); ->|--pageptr=ControlFile->checkPoint - (ControlFile->checkPoint % XLOG_BLCKSZ) |--targetPageOff = (pageptr % XLogSegSize);//段檔案偏移 |--targetSegmentPtr = pageptr - targetPageOff; |--readLen = state->read_page(state, targetSegmentPtr(0?), XLOG_BLCKSZ,ControlFile->checkPoint, state->readBuf, &state->readPageTLI); ->WaitForWALToBecomeAvailable(targetSegmentPtr(0?) + XLOG_BLCKSZ,private->randAccess,1,targetRecPtr) ->readFile = XLogFileReadAnyTLI(targetSegmentPtr/XLogSegSize, DEBUG2,currentSource == XLOG_FROM_ARCHIVE ? XLOG_FROM_ANY :currentSource) ->fd = XLogFileRead(segno, emode, tli,XLOG_FROM_ARCHIVE或者XLOG_FROM_PG_WAL, true) ->fd = BasicOpenFile(path, O_RDONLY | PG_BINARY, 0); ->fd = open(fileName, fileFlags, fileMode)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31493717/viewspace-2199170/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql 透過idb 恢復檔案MySql
- PostgreSQL啟動恢復讀取checkpoint記錄失敗的條件SQL
- 【PG】PostgreSQL 預寫日誌(WAL)、checkpoint、LSNSQL
- PostgreSQL啟動恢復過程中日誌源的切換SQL
- PostgreSQL DBA(15) - WAL檔案結構SQL
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- 透過Snapshot Control File 恢復控制檔案
- 如何使用 rsync 透過 SSH 恢復部分傳輸的檔案
- PostgreSQL 恢復大法 - 恢復部分資料庫、跳過壞塊、修復無法啟動的資料庫SQL資料庫
- PostgreSQL啟動恢復期間,恢復到的時間線的確定SQL
- 資料庫所有檔案丟失後透過RMAN實現恢復資料庫
- word自動儲存的檔案怎麼恢復,word檔案恢復
- oracle mount_open_checkpoint(scn)啟動驗證測試Oracle
- rman恢復時跳過資料檔案,進行恢復
- 透過控制程式碼檔案恢復linux下誤刪除的資料檔案Linux
- 非易失性WAL BUFFER實現機制解析:啟動恢復流程改造
- 控制檔案恢復—從trace檔案中恢復
- SCN、Checkpoint、例項恢復介質恢復理解
- 在open狀態下恢復丟失的資料檔案
- WAL檔案回收
- 開啟 控制檔案自動備份下,引數檔案、控制檔案全部丟失恢復
- 啟動netbackup client for aix圖形介面,進行檔案恢復clientAI
- 同名檔案替換怎麼恢復,恢復同名檔案
- 在open狀態下恢復未備份的資料檔案
- 恢復SPFILE檔案
- Linux上透過binlog檔案恢復mysql資料庫詳細步驟LinuxMySql資料庫
- Controlfile和system01資料檔案丟失的恢復(透過standby)
- PostgreSQL資料檔案災難恢復-解析與資料dumpSQL
- MySQL 透過 binlog 恢復資料MySql
- 行動硬碟刪除的檔案能恢復嗎,怎樣恢復刪除的檔案硬碟
- 控制檔案恢復—從快照中恢復
- RMAN恢復案例:無恢復目錄,丟失全部資料檔案、控制檔案、日誌檔案恢復
- Ubuntu boot分割槽檔案誤刪,系統無法啟動_恢復Ubuntuboot
- 案例:在open狀態下恢復未備份的資料檔案
- 行動硬碟刪除的檔案能恢復嗎,怎麼恢復硬碟刪除的檔案硬碟
- OBServer啟動恢復解析Server
- 透過移動資料檔案來均衡檔案I/O
- 檔案替換後怎麼恢復,恢復被覆蓋的檔案