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

GaussDB T 在线修改redo日志

原创 章芋文 2020-03-03
2436

gaussdb T默认安装的数据库有6组redo日志,每个日志2G,占用太大空间,高斯数据库redo日志的维护与oracle类似,无法不能直接调整大小,可以先添加,再删除。
同时gaussdb维护redo日志还有如下约束:

  1. ACTIVE和CURRENT日志不能删除,需要切换日志再删除
  2. 最少需要3组redo日志
  3. redo日志大小不能小于120M
SQL> select FILE_NAME,BYTES,STATUS,TYPE from DV_LOG_FILES; FILE_NAME BYTES STATUS TYPE ------------------------------------------ -------------------- -------------------- -------------------- /opt/gaussdb/data/data/log_1 2147483648 INACTIVE ONLINE /opt/gaussdb/data/data/log_2 2147483648 CURRENT ONLINE /opt/gaussdb/data/data/log_3 2147483648 INACTIVE ONLINE /opt/gaussdb/data/data/log_4 2147483648 INACTIVE ONLINE /opt/gaussdb/data/data/log_5 2147483648 INACTIVE ONLINE /opt/gaussdb/data/data/log_0 2147483648 INACTIVE ONLINE 6 rows fetched.

开始删除日志,

SQL> alter database drop logfile ('/opt/gaussdb/data/data/log_0'); Succeed. SQL> alter database drop logfile ('/opt/gaussdb/data/data/log_1'); Succeed. SQL> alter database drop logfile ('/opt/gaussdb/data/data/log_2'); GS-00841, Log file is in use, can not be dropped SQL> alter database drop logfile ('/opt/gaussdb/data/data/log_3'); Succeed. SQL> alter database drop logfile ('/opt/gaussdb/data/data/log_4'); GS-00812, Database requires at least 3 log files.

从上面报错可以看到,GS-00841:CURRENT状态的日志不能删除,GS-00812:数据库至少需要3个日志文件。

尝试添加3个100m的日志

SQL> alter database add logfile ('/opt/gaussdb/data/data/log_01' size 100M,'/opt/gaussdb/data/data/log_02' size 100M,'/opt/gaussdb/data/data/log_03' size 100M); GS-00714, Log file size should be larger than log keep size 125845504 SQL> select 125845504/1024/1024 from dual; 125845504/1024/1024 -------------------- 120.015625 1 rows fetched.

改为添加三个128M的日志。

SQL> alter database add logfile ('/opt/gaussdb/data/data/log_01' size 128m,'/opt/gaussdb/data/data/log_02' size 128m,'/opt/gaussdb/data/data/log_03' size 128m); Succeed.

删除剩余的几个日志文件,如果状态仍然是active,需要多切换几次日志,直到inactive即可删除。

SQL> alter database drop logfile ('/opt/gaussdb/data/data/log_4'); Succeed. SQL> alter database drop logfile ('/opt/gaussdb/data/data/log_5'); Succeed. SQL> alter system switch logfile; Succeed. SQL> select FILE_NAME,BYTES,STATUS,TYPE from DV_LOG_FILES; FILE_NAME BYTES STATUS TYPE ---------------------------------------------------------------- -------------------- -------------------- -------------------- /opt/gaussdb/data/data/log_01 134217728 UNUSED ONLINE /opt/gaussdb/data/data/log_02 134217728 UNUSED ONLINE /opt/gaussdb/data/data/log_2 2147483648 ACTIVE ONLINE /opt/gaussdb/data/data/log_03 134217728 CURRENT ONLINE 4 rows fetched. SQL> alter system switch logfile; Succeed. SQL> select FILE_NAME,BYTES,STATUS,TYPE from DV_LOG_FILES; FILE_NAME BYTES STATUS TYPE ---------------------------------------------------------------- -------------------- -------------------- -------------------- /opt/gaussdb/data/data/log_01 134217728 CURRENT ONLINE /opt/gaussdb/data/data/log_02 134217728 UNUSED ONLINE /opt/gaussdb/data/data/log_2 2147483648 INACTIVE ONLINE /opt/gaussdb/data/data/log_03 134217728 ACTIVE ONLINE 4 rows fetched. SQL> alter database drop logfile ('/opt/gaussdb/data/data/log_2'); Succeed.

查看调整后的日志文件:

SQL> select FILE_NAME,BYTES,STATUS,TYPE from DV_LOG_FILES; FILE_NAME BYTES STATUS TYPE ---------------------------------------------------------------- -------------------- -------------------- -------------------- /opt/gaussdb/data/data/log_01 134217728 CURRENT ONLINE /opt/gaussdb/data/data/log_02 134217728 UNUSED ONLINE /opt/gaussdb/data/data/log_03 134217728 ACTIVE ONLINE 3 rows fetched. [omm@pr7 data]$ ls -lh log_0* -rw------- 1 omm dbgrp 128M Jan 31 23:08 log_01 -rw------- 1 omm dbgrp 128M Jan 31 23:06 log_02 -rw------- 1 omm dbgrp 128M Jan 31 23:08 log_03
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论