达梦数据库备份还原 [数据库教程]
备份还原 1
物理备份与还原 2
1、脱机备份与还原(冷备) 2
1.1、console工具备份 2
1.2、console工具还原与恢复 3
1.3、dmrman工具备份 5
1.4、dmrman工具还原恢复 5
2、联机备份与还原(热备) 6
2.1、开启归档 6
2.2、联机备份 8
2.2.1、使用manager工具 8
2.2.2、使用SQL语句 10
2.3、还原 10
逻辑备份与还原 13
1、逻辑导出dexp 13
2、逻辑导入dimp 13
备份还原
备份恢复与还原
备份:就是数据库在某一个时间点的副本,备份主要是为了防止数据丢失(地震、火灾、人 为操作、硬件故障)。
还原:就是将数据库在某个时间点的副本拷贝到对应的数据库目录下
恢复:就是在数据库还原之后,应用部分或者是全部的归档日志
物理备份:备份的是使用过的有效的数据页,分为联机备份(热备)和脱机备份(冷备); 完全备份和增量备份。
逻辑备份:备份的是数据库对象(表、视图、索引、过程、触发器、序列)
联机备份:数据库在正常访问的情况下,做的备份
脱机备份:数据库在关闭后,做的备份
全量备份:备份指定的数据库或者表空间的全部数据。
增量备份:是指在一次全备或增备后,以后每次的备份只需要备份与前一次相比增加或者被 修改的数据页。
脱机备份可通过console控制台工具和DMRMAN命令行的方式进行备份,联机备份可通过达梦Manager管理工具和使用SQL命令的方式进行备份。
物理备份与还原
物理备份备份的是使用过的有效的数据页,分为联机备份(热备)和脱机备份(冷备);完全备份和增量备份。
1、脱机备份与还原(冷备)
冷备可以不用开归档,需要开启DmAP服务,需要关闭数据库实例,针对整库做备份
1.1、console工具备份
1)备份之前关闭数据库服务
2)、打开console工具
填写备份集名称和备份集目录,可选全备和增备,增备必须要有基备份目录。
1.2、console工具还原与恢复
1)、关闭数据库实例服务
2)、打开console工具
先配置获取备份的路径,再点击获取备份,最后选择上要恢复的备份集
3)点击还原,确定dm.ini路径后点击确定,即可还原成功
4)点击恢复
确定好备份集和dm.ini路径后点击确定即可恢复
5)更新魔数,即可完成还原的全部流程
1.3、dmrman工具备份
dmrman工具只支持冷备。负责库级脱机备份、脱机还原、数据库恢复等相关操作,该工具支持命令行指定参数方式和控制台交互方式执行,降低了用户的操作难度。
1)备份库
全备:
RMAN>backup database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini‘ full backupset ‘/home/dmdba/dmdbms/data/DAMENG/bak/db_full_bak_2021-2-5‘
增备:
RMAN>backup database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini‘ increment with backupdir ‘/home/dmdba/dmdbms/data/DAMENG/bak/‘ backupset ‘/home/dmdba/dmdbms/data/DAMENG/bak/db_increment_bak_2021-2-5‘;
1.4、dmrman工具还原恢复
检查数据库备份
RMAN> check backupset ‘/home/dmdba/dmdbms/data/DAMENG/bak/db_full_bak_2021-2-5‘;
还原数据库
RMAN> restore database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini‘ from backupset ‘/home/dmdba/dmdbms/data/DAMENG/bak/db_full_bak_2021-2-5‘;
恢复数据库
RMAN> recover database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini‘ from backupset ‘/home/dmdba/dmdbms/data/DAMENG/bak/db_full_bak_2021-2-5‘;
更新magic
RMAN> recover database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini‘ update db_magic;
2、联机备份与还原(热备)
需要开启归档,数据库需要打开(open)可以备份数据库、表空间、表、归档日志
2.1、开启归档
(1)使用达梦管理工具
-- 查看是否归档
select arch_mode from v$database;
N表示未开启
打开本地归档
切换状态为配置模式。
最后再把状态切换为open
select arch_mode from v$database;再次查看,归档模式开启。
(2)使用disql开启归档
# 修改数据库状态为mount
ALTER DATABASE MOUNT;
# 配置本地归档
alter database add archivelog ‘type=local,dest=/home/dmdba/dmdbms/arch,file_size=64,space_limit=10240‘;
# 开启归档模式
alter database archivelog;
# 修改数据库为OPEN状态
alter database open;
(3)手动配置归档
将dm.ini里面的额ARCH_INI参数置为1
vi /home/dmdba/dmdbms/data/DAMENG/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdbms/data/DAMENG/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 10240
2.2、联机备份
2.2.1、使用manager工具
1)库备份
右击库备份,新建备份,设置备份名和备份集目录即可,可选择增备和全备
2)表空间备份
表空间备份必须联机,还原脱机
3)表备份
表备份可以直接使用manager工具联机还原
4)归档备份
可以指定备份多有归档,也可以指定某一时间段的归档
2.2.2、使用SQL语句
1)库备份
全备:backup database full backupset ‘DB_DAMENG_FULL_2021_02_05_15_53_19‘;
增备:
backup database increment base on backupset‘/home/dmdba/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_2021_ 02_05_15_50_19‘
to "DB_DAMENG_INCRE_2021_02_05_15_50_19"
backupset ‘DB_DAMENG_INCRE_2021_02_05_15_50_19‘;
2)表空间备份
全备:
backup tablespace "MAIN" full to "TS_TEST" backupset ‘/home/dmdba/dmdbms/data/DAMENG/bak/TS_TEST‘;
增备:
backup tablespace "MAIN" increment base on backupset ‘/home/dmdba/dmdbms/data/DAMENG/bak/TS_TEST‘
to "TS_DAMENG_INCRE_2021_02_05_15_50_19" backupset ‘TS_DAMENG_INCRE_2021_02_05_15_50_19‘;
3)表备份
backup table "USER01"."USERS01" to "TAB_USER01_USERS01_2021_02_05_15_31_17" backupset ‘TAB_USER01_USERS01_2021_02_05_15_31_17‘;
4)归档备份
备份所有归档:
backup archivelog all to "ARCH_2021_02_05_15_27_48" backupset ‘ARCH_2021_02_05_15_27_48‘;
基于时间点的归档:
backup archivelog time between ‘2021-02-05 16:00:53‘ and ‘2021-02-05 16:21:53‘ to "ARCH_2021_02_05_16_21_53" backupset ‘ARCH_2021_02_05_16_21_53‘;
2.3、还原
关闭数据库实例
1)库还原
还原过后,恢复的时候可以选择指定归档恢复,可以恢复到发生故障之前的那一刻数据库的数据。
2)表空间还原
使用console工具:
使用dmrman工具:
RESTORE DATABASE ‘home/dmdba/dmdbms/data/DAMENG/dm.ini‘ tablespace "MAIN" FROM BACKUPSET ‘/home/dmdba/dmdbms/data/DAMENG/bak/TS_TEST‘;
RECOVER DATABASE ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini‘ TABLESPACE MAIN WITH ARCHIVEDIR ‘/home/dmdba/dmdbms/arch‘;
注意:还原表空间的时候默认会应用所有归档日志不能做不完全恢复,所以,你备份后删除表的记录,也会记录下来,恢复后表空间里的表还是修改或删除后的状态。
3)归档还原
使用conclose工具:
使用dmrman工具
RESTORE ARCHIVE LOG FROM BACKUPSET ‘/home/dmdba/dmdbms/data/DAMENG/bak/ARCH_2021_02_05_15_20_06‘ TO DATABASE ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini‘OVERWRITE 2;
逻辑备份与还原
备份的是数据库对象
逻辑备份可以用来迁移和重组数据库,是数据库的辅助备份
dexp/dimp
四个级别:
导入导出库级别、用户级别、模式级别、表级别
1、逻辑导出dexp
针对数据库对象,有FULL、OWNER、SCHEMAS、TABLES四种导出方式可供选择。一次导出只能指定一种方式。可选参数,缺省为SCHEMA。
导出环境:192.168.138.120:5236 、linux 、SYSDBA/SYSDBA
导出整个数据库:
[dmdba@dameng03 bin]$ ./dexp SYSDBA/SYSDBA@192.168.138.120:5236 file=dexp01.dmp log=dexp01.log directory=/home/dmdba/dmdbms/data/ full=y
导出用户:
[dmdba@dameng03 bin]$ ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/home/dmdba/dmdbms/data/
导出模式
[dmdba@dameng03 bin]$ ./dexp SYSDBA/SYSDBA@192.168.138.120:5236 FILE=dexp_sch.dmp LOG=dexp_sch.log SCHEMAS=USER01 DIRECTORY=/home/dmdba/dmdbms/data/dexp_sch
导出表:
[dmdba@dameng03 bin]$ ./dexp SYSDBA/SYSDBA@192.168.138.120:5236 FILE=dexp_tab.dmp LOG=dexp_tab.log TABLES=USERS DIRECTORY=/home/dmdba/dmdbms/data/dexp_tab
2、逻辑导入dimp
导入环境:192.168.138.120:5237 、linux 、SYSDBA/SYSDBA
导入整个数据库:
[dmdba@dameng03 bin]$ ./dimp SYSDBA/SYSDBA@192.168.138.120:5237 FILE=/home/dmdba/dmdbms/data/dexp01.dmp log=dimp.log directory=/home/dmdba/dmdbms/data/ full=y
导入用户:
[dmdba@dameng03 bin]$ ./dimp SYSDBA/SYSDBA@192.168.138.120:5237 file=/home/dmdba/dmdbms/data/dexp_user/dexp_user.dmp log=dimp_user.log owner=USER01 directory=/home/dmdba/dmdbms/data/dimp_user
导入模式:
[dmdba@dameng03 bin]$ ./dimp SYSDBA/SYSDBA@192.168.138.120:5237 FILE=/home/dmdba/dmdbms/data/dexp_sch/dexp_sch.dmp LOG=dimp_sch.log SCHEMAS=USER01 DIRECTORY=/home/dmdba/dmdbms/data/dimp_sch
导入表:
[dmdba@dameng03 bin]$ ./dimp SYSDBA/SYSDBA@192.168.138.120:5237 file=/home/dmdba/dmdbms/data/dexp_tab/dexp_tab.dmp log=dimp_tab.log tables=USERS directory=/home/dmdba/dmdbms/data/dimp_tab
达梦数据库备份还原
以上是 达梦数据库备份还原 [数据库教程] 的全部内容, 来源链接: utcz.com/z/535332.html