
NAME VALUE DESCRIB
------------------------------------ ------------ ------------------------------------------------
_auto_bmr enabled enable/disable Auto BMR
_auto_bmr_req_timeout 60 Auto BMR Requester Timeout
_auto_bmr_sess_threshold 30 Auto BMR Request Session Threshold
_auto_bmr_pub_timeout 10 Auto BMR Publish Timeout
_auto_bmr_fc_time 60 Auto BMR Flood Control Time
_auto_bmr_bg_time 3600 Auto BMR Process Run Time
_auto_bmr_sys_threshold 100 Auto BMR Request System Threshold
_auto_bmr_max_rowno 1024 x$krbabrstat Max number of rows
[omm1@mogdb1 ~]$ gsql -r
gsql ((MogDB 5.0.8 build 41aa0432) compiled at 2024-07-26 12:43:48 commit 0 last mr 1804 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
MogDB=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges | Compatibility
-----------+-------+----------+---------+-------+-------------------+---------------
aa | aa | UTF8 | C | C | | A
bb | bb | UTF8 | C | C | | B
postgres | omm1 | UTF8 | C | C | | A
template0 | omm1 | UTF8 | C | C | =c/omm1 +| A
| | | | | omm1=CTc/omm1 |
template1 | omm1 | UTF8 | C | C | =c/omm1 +| A
| | | | | omm1=CTc/omm1 |
(5 rows)
MogDB=# \c aa
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "aa" as user "omm1".
aa=# create table test_corrupt(id int,name varchar(100));
CREATE TABLE
aa=# insert into test_corrupt select generate_series,generate_series||'MogDB or MogDB Cube' from generate_series(1,100000);
INSERT 0 100000
aa=# SELECT pg_relation_filepath('test_corrupt');
pg_relation_filepath
----------------------
base/16779/31665
(1 row)
aa=# checkpoint;
CHECKPOINT
aa=#
aa=# \q
[omm1@mogdb1 ~]$ cd $PGDATA
[omm1@mogdb1 data]$ rm -rf base/16779/31665
[omm1@mogdb1 data]$
[omm1@mogdb1 data]$ gsql -r -d aa
gsql ((MogDB 5.0.8 build 41aa0432) compiled at 2024-07-26 12:43:48 commit 0 last mr 1804 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
aa=# select count(1) from test_corrupt;
ERROR: could not open file "base/16779/31665": No such file or directory
aa=#
aa=# select * from gs_verify_data_file();
node_name | rel_oid | rel_name | miss_file_path
-------------------+---------+--------------+------------------
dn_6001_6002_6003 | 31665 | test_corrupt | base/16779/31665
(1 row)
aa=#
aa=# \timing on
Timing is on.
aa=# select * from gs_repair_file(31665,'base/16779/31665',600);
gs_repair_file
----------------
t
(1 row)
Time: 530.816 ms
aa=# select count(1) from test_corrupt;
count
--------
100000
(1 row)
Time: 33.093 ms
aa=#
tableoid 要修复的文件对应的表oid,依据gs_verify_data_file函数返回的列表中rel_oid一列填写。 取值范围:Oid,0 - 4294967295。注意:输入负值等都会被强制转成非负整数类型。 path 需要修复的文件路径,依据gs_verify_data_file函数返回的列表中miss_file_path一列填写。 取值范围:字符串。 timeout 等待备DN回放的时长,修复文件需要等待备DN回放到当前主DN对应的位置,根据备DN回放所需时长设定。 取值范围:60s - 3600s。
2024-08-20 15:55:09.762 omm1 aa [local] 47016331712256 0[0:0#0] 2251799813808012 [REMOTE] LOG: remote read page size, file base/16779/31665 from 172.20.22.128@17135
2024-08-20 15:55:09.884 omm1 aa [local] 47016331712256 0[0:0#0] 2251799813808012 [REMOTE] LOG: remote read page, file base/16779/31665 block start is 0 from 172.20.22.126@54520
2024-08-20 15:55:10.290 omm1 aa [local] 47016331712256 0[0:0#0] 2251799813808012 [REDO] LOG: file rename from base/16779/31665.repair to base/16779/31665 finish
参考:https://docs.mogdb.io/zh/mogdb/v5.0/data-damage-detection-and-repair-functions
关于作者
END
访问官网了解更多:www.mogdb.io
产品兼容适配申请:partner@enmotech.com
加微信进入交流群:Roger_database


文章转载自MogDB,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




