一、简要说明
备份就是数据库在某一个时间点做的副本。
备份主要有:物理备份和逻辑备份
物理备份:主要备份的是使用过的、有效的数据页;
逻辑备份:主要备份的是数据库对象(表、视图、索引等)。
物理备份分为:
联机备份(热备):数据库在运行中产生的备份;
脱机备份(冷备):数据库在关闭后产生的备份。
完全备份:备份的是数据库或者表空间全部的数据;
增量备份:备份上一次完全备份或者增量备份后,以后每次只备份修改过的数据页。
二、物理备份
2.1 冷备
数据库需要关闭,需要开启 DmAP 服务,不需要开启归档
2.1.1方式一:console 工具备份
dmdba@localhost ~]$ cd /dm8/bin
[dmdba@localhost bin]$ ./DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]
[dmdba@localhost bin]$ ./DmAPService status
DmAPService (pid 8194) is running. 创建备份路径
[dmdba@localhost bin]$ mkdir -p /dm8/backup
/dm8/tool
[dmdba@localhost tool]$ ./console
2.1.2方式二:dmrman 工具
[dmdba@localhost tool]$ cd /dm8/bin
[dmdba@localhost bin]$ ./dmrman
dmrman V8
RMAN> backup database '/dm8/data/DAMENG/dm.ini' backupset '/dm8/backup';
2.2 热备
2.2.1热备环境要求
热备需要启动数据库、需要开启 DmAP 服务,需要数据库开启归档。
可以备份数据库、表空间、表、归档日志
//启动数据库
[dmdba@localhost bin]$ ./DmServiceDMSERVER status
//开启 DmAP 服务
DmServiceDMSERVER (pid 41952) is running. [dmdba@localhost bin]$ ./DmAPService status
DmAPService (pid 41694) is running.
//连接数据库
[dmdba@localhost bin]$ ./disql sysdba/Dameng123
服务器[LOCALHOST:5236]:处于普通打开状态
//查询归是否开启归档
SQL> select arch_mode,name from v$database;
行号 ARCH_MODE NAME
---------- --------- ------
1 N DAMENG
//开启归档
SQL> alter database mount;
SQL> alter database archivelog;
SQL> alter database add archivelog 'type=local,dest=/dm8/arch,file_size=80,space_limit=0';
SQL> alter database open;
2.2.2整库备份
1)方式一:manager 工具
做热备时报错:归档日志不连续,有两种解决方案,分别如下:
a重启数据库实例
b.执行检查点 checkpoint(100);
2)方式二:DISQL
backup database full to "FULL" backupset 'DB_DAMENG_FULL_2021_12_08_14_51_32';
备份在非默认备份路径下,需要指定工作目录才能看到备份
2.2.3表空间备份
表空间备份只能热备,还原只能脱机还原。
backup tablespace "DMHR" full to "TS_DMHR_FULL_2021_12_08_15_03_53" backupset
'TS_DMHR_FULL_2021_12_08_15_03_53';
2.2.4表备份
backup table "DMHR"."EMPLOYEE" to "TAB_DMHR_EMPLOYEE_2021_12_08_15_17_07" backupset 'TAB_DMHR_EMPLOYEE_2021_12_08_15_17_07';
2.2.5归档日志备份
backup archivelog all to "ARCH_2021_12_08_15_18_03" backupset
'ARCH_2021_12_08_15_18_03';
三、物理还原
3.1整库还原
3.1.1检查备份有效性
[dmdba@localhost bin]$ ./DmServiceDMSERVER stop Stopping DmServiceDMSERVER: [ OK ]
3.1.2方式一:console 工具
3.1.3方式二:dmrman
[dmdba@localhost bin]$ ./dmrman
dmrman V8
RMAN> restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup';
RMAN> recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/arch';
RMAN> recover database '/dm8/data/DAMENG/dm.ini' update db_magic;
3.2表空间
3.2.1方式一:console 工具
3.2.2方式二:Dmrman
RMAN> restore database '/dm8/data/DAMENG/dm.ini' tablespace dmhr from backupset
'/dm8/backup';
RMAN> recover database '/dm8/data/DAMENG/dm.ini' tablespace dmhr;
四、逻辑备份还原
逻辑备份是物理备份的辅助备份
备份的是数据库对象
常应用于跨库,跨版本的数据库迁移
4.1整库导出:
dm8/bin/dexp sysdba/Dameng123 DIRECTORY=/dm8/backup FILE=full.dmp FULL=Y
LOG=full.log
4.2用户导出:
/dm8/bin/dexp sysdba/Dameng123 DIRECTORY=/dm8/backup FILE=test1.dmp OWNER=TEST1
LOG=test1.log
4.3模式级别导出
/dm8/bin/dexp sysdba/Dameng123 DIRECTORY=/dm8/backup FILE=dmhr.dmp SCHEMAS=DMHR
LOG=dmhr.log
4.4表级别导出
/dm8/bin/dexp sysdba/Dameng123 DIRECTORY=/dm8/backup FILE=exp_table.dmp
TABLES=DMHR.EMPLOYEE,dmhr.department LOG=exp_table.log
4.5逻辑还原:将 DMHR 模式的数据导入到 TEST1 模式
/dm8/bin/dimp sysdba/Dameng123 DIRECTORY=/dm8/backup FILE=dmhr.dmp
remap_schema=dmhr:test1 log=imp_test1.log