达梦数据库学习1:数据库还原

最近公司的项目要上达梦数据库。提前学习了一下数据库运维的知识。知识基本上是大同小异,对应达梦数据库,我首先关注的是备份和还原。

备份和还原是运维工作的最基础任务。下面记录一下备份过程。

达梦数据库有物理备份和逻辑备份,物理备份和还原的速度快,运维主要使用这种方法。

1. 物理备份过程:

首先数据库要打开归档模式。(当然,生产环境不会有谁不打开归档模式吧)

联机归档配置操作步骤如下所示:

(1)修改数据库为 Mount 状态

alter DATABASE MOUNT

(2)配置本地归档

ALTER DATABASE ADD ARCHIVELOG 'DEST = /home/dm_arch/arch, TYPE = local,FILE_SIZE = 1024, SPACE_LIMIT = 2048';

(3)开启归档模式

ALTER DATABASE ARCHIVELOG;

(4)修改数据库为 Open 状态

ALTER DATABASE OPEN;

2. 联机备份

备份命令的语法如下:

BACKUP DATABASE [[[FULL] [DDL_CLONE]]|

INCREMENT [CUMULATIVE][WITH BACKUPDIR '<基备份搜索目录>'{,'<基备份搜索目录>'} |

[BASE ON ']][TO <备份名>][BACKUPSET '<备份集路径>']

[DEVICE TYPE <介质类型> [PARMS '<介质参数>']]

[BACKUPINFO '<备份描述>'] [MAXPIECESIZE <备份片限制大小>]

[IDENTIFIED BY <密码>[WITH ENCRYPTION]

[ENCRYPT WITH <加密算法>]][COMPRESSED [LEVEL <压缩级别>]]

[WITHOUT LOG][TRACE FILE '< TRACE 文件名>']

[TRACE LEVEL < TRACE 日志级别>][TASK THREAD <线程数>]

[PARALLEL [<并行数>] [READ SIZE <拆分块大小>]];

数据库备份:

执行checkpoint命令,确保可以正常备份。

checkpoint(100)

BACKUP DATABASE FULL BACKUPSET '/opt/dmdbms/BAK/db_full_bak_01';

看到备份成功的输出,即执行完毕。

3. 数据模拟损坏

首先模拟系统损坏,删除system表空间数据文件。

4. 数据库还原

使用dmrman工具进行数据还原。

/dm8/bin/dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup/FULL_BACK' "

/dm8/bin/dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup/FULL_BACK' "

/dm8/bin/dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

这样整个备份和还原过程就执行完了。启动数据库进行检查一下。

5. 后记

数据库的备份是重中之重,以前也经历过运维人员误操作,删除了oracle system表空间的一个文件,导致数据库无法启动。幸好有备份数据,才没问题。前段时间有某单位运维的oracle,删除了重做日志文件导致无法启动,备份也没做,无法还原,找到我们咨询处理办法。检查了一下,除了重做日志以外,还误删除了不少文件。没有备份就是血的教训。

后面介绍去找工具load出来,不知道最后结果如何,希望他们幸运吧。

你可能感兴趣的:(达梦数据库学习1:数据库还原)