GaussDB修改表空间占用磁盘使用率阈值

GaussDB数据库表空间占用磁盘使用率达到了你所设定的值后数据库会进入只读模式

执行非只读SQL时报错如下:

ERROR: cannot execute %s in a read-only transaction.
或者运行中部分非只读SQL(insert、update、create table as、create index、alter table 及copy from等)时报错。
canceling statement due to default_transaction_read_only is on

原因分析
磁盘空间达到阈值后,设置数据库只读,只允许只读语句执行。

处理办法:
步骤 1 使用maintenance模式连接数据库,以下两种方法均可。


方式一:
gsql -d postgres -p 8000 -r -m
方式二:
gsql -d postgres -p 8000 -r

连接成功后,执行如下命令:
set xc_maintenance_mode=on;此命令不建议使用,可以跳过,最后实在不行再做这一步

步骤 2 使用DROP/TRUNCATE语句删除当前不再使用的用户表,直至磁盘空间使用率小于设定的阈值。删除大文件,基本上只需要操作这步即可,把磁盘使用率降下来,数据库自动恢复状态
删除用户表只能暂时缓解磁盘空间不足的问题,建议尽早通过扩容解决磁盘空间不足的问题。
步骤 3 使用系统用户omm设置数据库只读模式关闭。
gs_guc reload -D /gaussdb/data/dbnode -c “default_transaction_read_only=off”

提前提高阈值方法
可以先去cm_server下看下当前的阈值是多少,可以看出为85%

[root@gaussdb01 cm_server]# cat cm_server.conf | grep datastorage_threshold_value_check
datastorage_threshold_value_check = 85

在这里插入图片描述

修改为95%

gs_guc reload -Z cmserver -N all -I all -c "datastorage_threshold_value_check=95"

在这里插入图片描述
再次查看已修改为95%
在这里插入图片描述

为了确保GaussDB 200数据库的高效稳定运行,系统管理员需要对包括Host健康、OMS状态和KrbServer在内的多个关键指标项进行定期检查,并通过自动化工具进行监控。以下是详细的健康检查步骤和建议的监控方法: 参考资源链接:[GaussDB 200健康检查全面指南](https://wenku.youkuaiyun.com/doc/3br58j8yc9?spm=1055.2569.3001.10343) 1. **主机健康检查**: - **Swap使用率**:使用`free`命令检查swap空间的使用情况,设置阈值,超过阈值发送告警。 - **文件句柄使用率**:通过`lsof`命令统计打开的文件数量,并设置告警规则。 - **NTP偏移量**:使用`ntpq`命令检查NTP同步情况,设置偏移阈值进行监控。 - **平均负载**:通过`top`或`uptime`命令监控平均负载,并通过脚本定期检查。 - **D状态进程**:使用`ps`命令查找处于D状态(不可中断)的进程,并设置阈值报警。 - **硬件状态**:利用系统自带的监控工具或第三方硬件监控软件检查CPU、内存和磁盘健康状况。 - **主机名配置**:通过脚本检查`/etc/hostname`确保主机名正确无误。 - **Umask设置**:编写脚本检查`umask`值,确保其设置符合数据库安全要求。 - **OMS HA状态**:通过OMS提供的API检查集群的高可用性状态。 - **安装目录及数据目录**:使用文件系统检查命令验证目录的完整性。 - **CPU和内存使用率**:通过`vmstat`或`mpstat`监控资源使用情况,并设置告警。 - **磁盘使用率、写速率和读速率**:使用`iostat`命令监控磁盘I/O性能,及时发现性能瓶颈。 - **业务平面网络状态**:使用网络监控工具检查网络连接和带宽使用情况。 - **主机整体状态**:通过编写脚本汇总各项指标,并定期生成健康报告。 - **检查告警**:建立定期审查制度,对系统报警进行分析和处理。 2. **OMS健康检查**: - **OMS组件状态**:使用OMS自带的监控和管理工具检查各组件状态。 - **OMA状态**:监控对象管理器模块的运行日志,设置告警机制。 - **节点互信**:定期运行脚本来验证集群节点间的信任关系。 - **进程运行时间**:通过监控工具跟踪关键进程的运行时间,及时重启长时间运行的进程。 - **License期限**:编写脚本定期检查License的有效期,并在到期前进行提醒。 - **帐户和密码过期**:使用系统管理工具监控账户的有效性,并在过期前通知管理员更新。 3. **KrbServer健康检查**: - **KerberosAdmin服务**:利用Kerberos自带的管理工具检查服务状态,确保服务可访问。 - **KerberosServer服务**:使用`kadmin`工具监控核心服务运行情况,确保认证机制的有效性。 综合上述检查步骤,建议构建一个自动化监控系统,如使用Nagios、Zabbix或Prometheus等,这些系统可以配置定期检查任务,并在指标异常时通过邮件、短信或即时通讯工具通知管理员。此外,可以考虑将监控数据可视化,以便更好地分析系统状况。 为了更好地理解和掌握这些操作,推荐查阅《GaussDB 200健康检查全面指南》。这份指南详细阐述了各个健康检查指标的含义和监控方法,提供了实际操作的指导,能够帮助用户全面掌握GaussDB 200的健康检查流程,实现系统的稳定运行。 参考资源链接:[GaussDB 200健康检查全面指南](https://wenku.youkuaiyun.com/doc/3br58j8yc9?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值