关键字:
KingbaseES、控制文件、RAC、人大金仓
控制文件介绍:
控制文件是用来记录数据库集群的状态信息,如版本信息、集群所管理的各种文件信息、检查点信息、事务状态信息等。控制文件是系统自动维护的,KingbaseES 不允许用户增加、删除或修改控制文件。
RAC控制文件主要包括初始化静态信息、WAL及checkpoint的动态信息以及其他配置信息。物理大小为8k,内容尽量小于512字节。一般使用bin目录下的sys_controldata工具查看控制文件信息。
控制文件内容(主要):
- sys_control_global version number: 1201
控制文件版本号
- Catalog version number: 202208021
系统表版本号
- Database system identifier: 7270117267358311773
数据库系统号select to_timestamp(((7270117267358311773)>>32)&(2^32 -1)::bigint));
- Database cluster state: in production
记录实例状态如下:
(starting up、shut down、shut down in recovery(standby实例正常关闭)、shutting down(正常停库时,做checkpoint中会变为此状态)、in crash recovery(数据库实例非异常停止后,重启时会先进行实例的恢复,恢复时为此状态)、in archive recovery(standby实例正常启动为此状态)、in production(数据库实例正常启动时,非standby))
- latest checkpoints: 0/1D238E8
异常停止后重启需要做实例恢复,从wal日志中找最后一次ckpoint,实例前滚。记录最后一次latest checkpoint
- wal_level setting: replica
wal日志级别
- Data page checksum version: 0
数据块的校验和版本,只有当initdb加参数-k时,才会启用checksum功能。或是通过sys_checksum工具来启用。
控制文件应用:
数据库启动必须访问的控制文件:
Sys_control和Sys_datafile/Sys_redolog
控制文件的信息查看的命令行工具:
sys_controldata :查看 sys_control 控制文件内容
sys_datafile :查看或修复 sys_datafile 控制文件内容
sys_redolog:查看 sys_redolog 控制文件内容。
RAC控制文件要点:
- 如果控制文件损坏或丢失,数据库将运行异常,无法启动。启动必须访问控制文件和物理文件(datafile或redolog)。
- 修复需要回复wal日志和checkpoint的动态信息。(这些信息可以通过xlog、clog、multixact可以解析出来)
- xlog文件名解析可参看不同的段大小、命名大不相同。 Resetwal帮助文件适用于16MB的段大小,如果其他大小需要重新计算。
- Checksums:检查、启用或禁用校验和。运行前需要彻底关闭服务器!!!如果验证没有错误,则退出状态为0;否则非0。
- 验证时,会扫描每个文件;启用时,会重写每个文件;禁用时仅更新控制文件。