暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GaussDB T :高斯数据库的控制文件查询分析和诊断

原创 eygle 2020-01-03
1204

控制文件对于 GaussDB T 来说,是数据库运行的大脑中枢,起着至关重要的角色。

在初始化参数文件中记录着控制文件信息,这是数据库启动时的寻址所在:

TEMP_BUFFER_SIZE = 1G
DATA_BUFFER_SIZE = 1G
SHARED_POOL_SIZE = 1G
LOG_BUFFER_SIZE = 64M
DBWR_PROCESSES = 8
LOG_BUFFER_COUNT = 8
SESSIONS = 1500
INSTANCE_NAME = enmotech
LSNR_ADDR = 127.0.0.1
LSNR_PORT = 1611
ENABLE_SYSDBA_LOGIN = TRUE
CONTROL_FILES = (/gaussdb/gaussdata/data/cntl1, /gaussdb/gaussdata/data/cntl2, /gaussdb/gaussdata/data/cntl3)

如同Oracle数据库早期一样,GaussDB 初始创建了3个控制文件,是完全一致的副本。

控制文件信息,可以通过视图 DV_CONTROL_FILES 进行查询:


STATUS           NAME                                                             IS_RECOVERY_DEST_FILE BLOCK_SIZE   FILE_SIZE_BLKS
---------------- ---------------------------------------------------------------- --------------------- ------------ --------------
                 /gaussdb/gaussdata/data/cntl1                                    NO                    16384        0             
                 /gaussdb/gaussdata/data/cntl2                                    NO                    16384        0             
                 /gaussdb/gaussdata/data/cntl3                                    NO                    16384        0             

3 rows fetched.

如果数据库启动时丢失控制文件,则会出现错误提示:

UTC+8 2020-01-03 10:36:08.831|ZENGINE|00000|140243567148986|ERROR>GS-00002 : Failed to open the file /gaussdb/gaussdata/data/cntl1, the error code was 2 [cm_file.c:65]
UTC+8 2020-01-03 10:36:08.831|ZENGINE|00000|32698|ERROR>[DB] failed to open /gaussdb/gaussdata/data/cntl1 
UTC+8 2020-01-03 10:36:08.831|ZENGINE|00000|32698|ERROR>failed to alter database MOUNT

这种情况下,复制任何一个完整的控制文件,都可以恢复数据库运行:

[eygle@enmodb1 data]$ python $GSDB_HOME/bin/zctl.py -t start
Successfully started instance.

控制文件的备份不可缺少,切记。

最后修改时间:2020-03-03 22:00:10
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论