wal日誌是瀚高資料庫至關重要的日誌檔案,資料恢復的重要依靠保障,如果誤刪了資料庫會怎樣呢?
模擬情況:
[highgo@sds1 data]$ pg_ctl start
server starting
[highgo@sds1 data]$ log: 00000: database system was shut down at 2018-11-14 23:31:31 cst
log: 00000: creating missing wal directory "pg_xlog/archive_status"
log: 00000: invalid primary checkpoint record
log: 00000: invalid secondary checkpoint record
panic: xx000: could not locate a valid checkpoint record
[highgo@sds1 data]$ psql
fatal: 57p03: the database system is starting up
psql: fatal: 57p03: the database system is starting up
[highgo@sds1 data]$ log: 00000: startup process (pid 5967) was terminated by signal 6: aborted
log: 00000: aborting startup due to startup process failure
[highgo@sds1 data]$
[highgo@sds1 data]$ psql
psql: could not connect to server: no such file or directory
is the server running locally and accepting
connections on unix domain socket "/tmp/.s.pgsql.5866"?
可以發現資料庫已經起不來了,找不到相應的wal日誌檔案。如果我們沒有對應的wal檔案的話,則只能:
[highgo@sds1 data]$ pg_resetxlog -d $pgdata
transaction log reset
啟動資料庫:
[highgo@sds1 data]$ pg_ctl start
server starting
[highgo@sds1 data]$ log: 00000: database system was shut down at 2018-11-14 23:39:15 cst
log: 00000: multixact member wraparound protections are now enabled
log: 00000: database system is ready to accept connections
log: 00000: autovacuum launcher started
[highgo@sds1 data]$ psql
psql (4.7.6)
psql: release 4.7.6
connected to:
highgo database v4.7 enterprise edition release 4.7.6 - 64-bit production
type "help" for help.
highgo=#
介紹資料庫中的wal技術 預寫日誌 WAL 介紹
預寫日誌 wal,write ahead log 是關係型資料庫中用於實現事務性和永續性的一系列技術。簡單來說就是,做乙個操作之前先講這件事情記錄下來。為什麼要使用wal呢?比如你的備忘錄裡面有如下記錄 2015.12.25 理髮 2015.12.28 整容 2015.12.31 修指甲 別亂想,博...
oracle資料庫表的記錄誤刪後如何恢復
今天不小心將oracle中的一些資料刪除了,結果在網上查了下,找到了可以恢復刪除的資料的方法。真感慨oracle產品的強大啊!下面與大家一起分享。alter table ctywtqclinfo enable row movement 改變表的行標可移動 flashback table ctywtq...
mysql誤刪 mysql資料庫誤刪除後怎麼辦?
在日常運維工作中,對於資料庫的備份是至關重要的!資料庫對於 的重要性使得我們對 mysql 資料庫的管理不容有失!然而是人總難免會犯錯誤,說不定哪天大腦短路了,誤操作把資料庫給刪除了,怎麼辦?下面,就 mysql 資料庫誤刪除後的恢復方案進行說明。一 工作場景 mysql資料庫每晚12 00自動完全...