一、达梦数据库备份恢复介绍
数据库系统在运行过程中可能会发生一些故障。造成故障的原因多种多样,包括磁盘崩 溃、电源故障、软件错误,甚至人为破坏。这些情况一旦发生,就可能会丢失数据,数据库 系统将无法正常运行。因此,故障恢复是数据库系统必不可少的组成部分,即数据库系统必 须保证即使发生故障,也可以保障数据的完整性和一致性。
二、备份恢复方式
达梦数据库备份恢复可采用物理备份恢复和逻辑备份恢复两种方式,其中,物理备份包含准备和热备两种,逻辑备份恢复采用dexp/dimp命令完成。物理备份推荐使用热备方式完成。逻辑备份更多适用于数据逻辑迁移或者单次备份恢复操作。下面介绍常用的物理备份中的数据库热备及逻辑备份恢复两种。
1.物理备份之热备份
达梦数据库在服务器处于归档模式时,如果数据库发生故障,通过备份文件和归档日志可以 恢复到指定时间点。
达梦数据库热备主要由BACKUP DATABASE、RESTORE DATABASE两个命令完成,可支持命令行操作、界面操作两种方式。
1.1 命令行方式
1)归档开启
代码如下:
SQL> alter database mount;
SQL> alter database add archivelog 'type=local,dest=/data/dm8/dmarch,file_size=64,space_limit=0';
SQL> alter database archivelog;
SQL> alter database open;
SQL> select name,status$,arch_mode from v$database;
2) 全备
代码如下:
SQL> backup database full backupset '/data/dm8/dmbak/full_bak2';
3)增量备:
代码如下:
SQL> backup database increment backupset '/data/dm8/dmbak/incr_bak';
1.2 图形界面工具备份
1) 利用管理工具去开归档
2) 归档路径
3) 利用管理工具完成全备
2.物理备份之还原
本次操作模拟数据库TBS3表空间空间损坏,进行数据库恢复,恢复操作由restore tablespace操作完成。
2.1 改名tbs03_01.dbf。
代码如下:
[dmdba@alldb]$ mv tbs3_01.dbf tbs3_01bak.dbf
2.2 重启服务,数据库处于mount状态,手动open。
代码如下:
SQL> restore tablespace tbs3 from backupset '/data/dm8/dmbak/full_bak2'';
2.3 将表空间tbs3置为online。
代码如下:
SQL> alter tablespace tbs3 online;
3.逻辑备份
导入导出(dexp,dimp),可以对数据库级别、用户/模式级别,表级别的数据进行导出改出操作,下面演示全库逻辑导出导入的操作方式。
3.1 逻辑导出
[dmdba@alldb dmbak]$ mkdir dexp
[dmdba@alldb dexp]$ dexp sysdba/SYSDBA@localhost:5236 file=dexp01.dmp log=dexp01.log directory=/data/dm8/dmbak/dexp full=y
3.2 逻辑导入
[dmdba@alldb dexp]$ dimp sysdba/SYSDBA@localhost:5236 file=/data/dm8/dmbak/dexp/dexp01.dmp log=/data/dm8/dmbak/dexp/dimp01.log
三、总结
达梦数据库恢复恢复机制非常全面,包含物理备份、逻辑备份两种方式,在数据库日常运行中,可根据具体需求建立完整的数据库备份机制,以应对数据库运行中可能出现的各种故障,有效保障数据库平稳运行,保障数据安全。