达梦数据库故障分析与恢复

达梦数据库故障分析与恢复

一.文件损坏

1.undo日志损坏

    1)优先选择“备份+归档”恢复,从实例日志获取故障时间;
    2)无备份归档情况下,选择跳过ROLL.DBF启动数据库临时启动数据库(危险操作,可能破坏事务的原子性)
  修改dm.ini参数PSEG_RECV=0

2.redo日志损坏

    1)优先选择“备份+归档”恢复,从实例日志获取故障时间;
    2)无备份归档的情况下,可以选择替换redo日志临时启动数据库(危险操作,可能会丢失部分数据),然后将数据迁移出来。无法使用备份归档恢复下,替换redo启动数据库步骤:
      (1)查看初始化日志,观察初始化参数,重新初始化一个新的实例并前台启 动一次        
      (2)查看故障库的db_magic值和pemnt_magic值 ./dmmdf type=1 file=/home/dmdba/data/TEST/SYSTEM.DBF
      (3)修改新库的db_magic值和pemnt_magic值并保存 ./dmmdf type=2 file=/home/dmdba/data/dmdbms/TEST/TEST01.log
      (4)将修改后的redo挪到故障库下,尝试启动数据库 故障库:mv TEST01.log TEST01.log_old新库:cp TEST01.log /home/dmdba/data/TEST/
	  (5)此时已经启动起来的数据库仍然存在隐患,应立即完成数据的迁移工作,防止再次发生宕机事故。

二.数据页损坏
在这里插入图片描述

 1、实例仍能启动:

实例正常启停一次 ./dmdbchk path=/home/dmdba/data/TEST/dm.ini
bin下会生成一个dbchk_err.txt,可能会记录有一些索引或者表错误,可以重建再做 dmdbchk

 2、实例不能启动:

IGNORE_FILE_SYS_CHECK 默认 0,检查文件系统。1,不检查文件系统

三.其他故障

1.SQL语句触发版本bug

  1)一般会在bin下生成core文件,分析core文件
                如果没有生成core文件 vim /etc/security/limits.conf
               * hard core unlimited
               * soft core unlimited
               
            分析core文件:
            (1)通过 dmrdc 命令行工具分析core文件获取其中的SQL语句;core_tmp.2808
            (2)收集堆栈信息:
                gdb dmserver core.1086
                输入bt或者where
               记录最后的LWP号,寻找对应LWP号的SQL语句,进入manager工具测试这个SQL语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)开启sql日志记录执行sql ,分析sql日志
    	SP_SET_PARA_VALUE(1,'SVR_LOG',1);  第一个1表示在内存和ini中都修改该参 数值配置 sqllog.ini

2.磁盘问题导致故障

    报错:os_file_flush error!handle:3,code:30,desc:Read-only file system
   	创建文件,报错只读文件系统
    交给存储厂家处理

3.磁盘空间不足导致故障
日志报错:

tablespace 7 fail to extend.Please check disk space or extend attribbute of data files.
tablespace 6 fail to extend.Please check disk space or extend attribbute of data files.
 ARCH_DEST[/opt/dmdbms/data/DAMENG/arch] will be out of space.
    df -h查看空间
    定时删除备份执行没?
    归档上限设置没?
    都没问题的话,争取加大盘

4.cpu占用过高导致实例被操作系统kill掉

    1)top查看CPU占用率;

在这里插入图片描述

2)查看服务器配置;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

-g是以GB为单位;也可以使用-m,即以MB为单位 

在这里插入图片描述
3)配合应用日志检查问题;
4)数据库版本,尝试版本升级;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值