达梦数据库的备份还原

一、联机执行SQL语句进行备份还原

[dmdba@localhost bin]$ ./disql SYSDBA/SYSDBA:5236

服务器[LOCALHOST:5236]:处于普通打开状态

登录使用时间 : 9.065(ms)

disql V8

SQL> BACKUP DATABASE BACKUPSET '/opt/dmdbms/data/backup/db_bak_01' BACKUPINFO '完全备份';

1、完全备份

执行数据库备份,数据库必须处于OPEN状态,MOUNT和SUSPEND状态下不允许执行数据库备份

SQL> BACKUP DATABASE FULL BACKUPSET '/opt/dmdbms/data/backup/db_full_bak_01';

#一般规则是数据库经过频繁修改后最好执行一次完全备份

2、增量备份

保证数据库处于OPEN状态

SQL> BACKUP DATABASE INCREMENT WITH BACKUPDIR '/opt/dmdbms/data/backup/dm_bak_increment'BACKUPSET;

BACKUP DATABASE INCREMENT WITH BACKUPDIR '/opt/dmdbms/data/backup/dm_bak_increment'BACKUPSET;

[-8036]:无基备份或无匹配基备份.

已用时间: 00:00:01.960. 执行号:0.

#增量备份无需写文件名,只需要写到备份目录即可

SQL> BACKUP DATABASE INCREMENT WITH BACKUPDIR '/opt/dmdbms/data/backup'BACKUPSET;                       

操作已执行

已用时间: 891.370(毫秒). 执行号:501.

3、表空间备份

SQL> BACKUP TABLESPACE TEST BACKUPSET 'ts_bak_01';

4、增量备份指定基备份目录

SQL> BACKUP TABLESPACE MAIN BACKUPSET 'ts_full_bak_01';

操作已执行

已用时间: 836.592(毫秒). 执行号:700.

SQL> BACKUP TABLESPACE MAIN INCREMENT BASE ON BACKUPSET 'ts_full_bak_01' BACKUPSET 'ts_increment_bak_02';

操作已执行

已用时间: 00:00:02.619. 执行号:701.

5、备份归档

SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'arch_bak_01';

完整步骤:

(1)配置归档

SQL> ALTER DATABASE MOUNT;

SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/opt/dmdbms/data/dm_arch/arch, TYPE=local, FILE_SIZE=1024, SPACE_LIMIT=2048';                            

SQL> ALTER DATABASE ARCHIVELOG;

SQL> ALTER DATABASE OPEN;

(2)数据库处于OPEN或MOUNT 状态

(3)DIsql中输入备份数据库语句

备份归档日志,通过 LSN BETWEEN … AND … 来指定其实和截止LSN

确定LSN范围

SQL> select arch_lsn,clsn,path from v$arch_file;

其次备份归档

SQL> BACKUP ARCHIVELOG LSN BETWEEN 25833 AND 27286 BACKUPSET '/opt/dmdbms/data/dm_arch/arch_bak_time_5833-7286';

6、备份还原

测试数据表test

(1)表还原(还原表数据)

不能采用表空间级备份

也不能采用库级

正确处理:

SQL> backup table test backupset '/opt/dmdbms/data/backup/tab_bak_for_res_02';

SQL> delete from test;

SQL> restore table test from backupset '/opt/dmdbms/data/backup/tab_bak_for_res_02';

成功还原

二、使用脱机工具DMRMAN进行备份还原

注:

(1)DMRMAN可以执行脚本,如cmd_file.txt文件中的内容为

“ BACKUP DATABASE '/opt/dmdbms/data/test/dm.ini'“

(2)DMRMAN按行解析命令,必须输入完整一行命令

`/home/dm_cmd/cmd_file.txt

出现的问题:

原因:

DMRMAN是脱机备份操作,数据库实例需处于关闭状态

解决:

(3)使用参数CTLFILE,指定执行语句所在的文件路径,不能和 CTLSTMT 同时使用。脚本文件格式 支持*.txt

(4)使用参数CTLSTMT,指定待执行语句,不能和 CTLFILE 同时使用。如:CTLSTMT="BACKUP DATABASE '/home/dmdbms/data/DAMENG/dm.ini'"

(该截图源自达梦官方产品手册《产品手册 | 达梦技术文档》)

(5)创建完全备份

(6)创建增量备份

(7)备份归档(数据库实例为关闭状态)

完整的创建脱机数据库备份:

1)启动DMRMAN命令行工具;

2)保证数据库处于脱机状态;

3)DMRMAN中输入以下命令:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嗜甜兔星人

创作不易,球球各位看官支持一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值