达梦数据库单实例数据库故障恢复

一.文件损坏

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)此时已经启动起来的数据库仍然存在隐患,应立即完成数据的迁移工作,  防止再                           次发生宕机事故。

3.控制文件被误删

        通过ctl_bak找回,用最近的一个dm_xxx.ctl改名为dm.ctl重新启动

二.数据页损坏

实例仍能启动:

实例正常启停一次 ./dmdbchk  path=/home/dmdba/data/TEST/dm.ini

bin下会生成一个dbchk_err.txt,可能会记录有一些索引或者表错误,可以重建再做 dmdbchk

实例不能启动:

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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值