ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021-02-28

2021-02-28 16:01:53  阅读:175  来源: 互联网

标签:02 dm 备份 BACKUPSET 28 数据库 2021 home bak


DM8备份还原

备份还原工具
Disql 工具:联机数据备份与还原,包括库备份、表空间备份与还原、表备份与还原;
DMRMAN 工具:脱机数据库备份还原与恢复;
客户端工具 MANAGER和CONSOLE:对应命令行工具DIsql和DMRMAN的功能,分别用于联机和脱机备份还原数据。

1.使用SQL语句联机配置归档:
修改数据库为mount状态

ALTER DATABASE MOUNT;

2.配置本地归档;

ALTER DATABASE ADD ARCHIVELOG 'DEST = /home/dm_arch/arch, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048';
开启归档模式;
ALTER DATABASE ARCHIVELOG;
修改数据库为open状态;
ALTER DATABASE OPEN;

1)手动编辑dmarch.ini文件,之后保存在dm.ini所在的目录

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dm_arch/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048

2)编辑dm.ini文件,设置参数ARCH_INI=1,保存。
3)启动服务器,服务器已运行与归档模式;

SQL方式备份
1.数据库备份

BACKUP DATABASE BACKUPSET 'db_bak_01';

指定备份集路径,设置备份名,指定介质类型,添加备份描述,限制备份片大小,备份压缩,进行备份;

SQL> BACKUP DATABASE TO
 WEEKLY_FULL_BAK BACKUPSET ‘/home/dm_bak/db_bak_3_02’ DEVICE TYPE TAPE  
 BACKUPINFO ‘完全备份’MAXPIECESIZE 300  COMPRESSED LEVEL 5 PARALLEL 8;

注:指定的备份名、加密密码、加密算法名长度限制为128字节;
MOUNT模式下不允许数据库备份

数据库备份
完全备份
FULL参数可省略,默认为完全备份:

SQL> BACKUP DATABASE FULL BACKUPSET '/home/dm_bak/db_full_bak_01';

完全备份中,可指定DDL_CLONE(数据库克隆)参数,只备份定义不备份数据。该参数只用于数据库级完全备份中。

增量备份

SQL> BACKUP DATABASE INCREMENT WITH BACKUPDIR '/home/dm_bak' 
BACKUPSET '/home/dm_bak/db_increment_bak_02'; 

表空间备份

SQL>  BACKUP TABLESPACE MAIN BACKUPSET 'ts_bak_01';

指定基备份目录(不指定则搜索最近一次完全/增量备份作基备份)

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

注:备机状态/MOUNT状态/MPP和RAC环境均不允许表空间备份

表备份:表备份均为联机完全备份,不需要备份归档日志,不存在增量备份之说

SQL>   BACKUP TABLE TAB_01 BACKUPSET 'tab_bak_01';

归档备份
归档备份拷贝指定归档目录下的所有的归档文件到备份集中,备份归档需要服务器配置归档。

SQL>BACKUP ARCHIVE LOG ALL BACKUPSET 'arch_bak_01'; 

备份加密:
例:数据库完全备份,创建加密密码为“cdb546”,加密算法为“rc4”,复杂数据库加密备份:

SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_bak_for_encrypt_01' 
IDENTIFIED BY "cdb546" WITH ENCRYPTION 2 ENCRYPT WITH RC4; 

其中, 参数WITH ENCRYPTION(默认值为 1 ,简单加密) 和 ENCRYPT WITH(默认加密算法AES256_CFB)可不指定。

设置跟踪日志文件
例:以数据库完全备份为例,为备份设置跟踪日志文件:

SQL>BACKUP DATABASE BACKUPSET
 '/home/dm_bak/db_bak_for_trac_01'   TRACE FILE'/home/dm_log/db_bak_trace.log‘  TRACE LEVEL 2;

其中, 参数TRACE FILE 用于指定生成的跟踪日志文件路径;
TRACE LEVEL 表示是否启用TRACE,有效值1和2。1表示不启用TRACE功能,2表示启用,系统默认值为1。

备份管理相关系统过程与函数总结如下:

SF_RMAN_ADD_BACKUP_DIR:添加备份目录。 
SF_RMAN_REMOVE_BACKUP_DIR:指定删除内存中的备份目录。
SF_RMAN_REMOVE_BACKUP_DIR_ALL:删除内存中全部的备份目录。
SF_RMAN_BAKSET_CHECK:校验指定的备份文件。
SF_RMAN_BAKSET_REMOVE:删除指定的备份集。
SP_RMAN_BATCH_DEL_DB_BAKSET:批量删除数据库备份集。
SP_RMAN_BATCH_DEL_TS_BAKSET:批量删除表空间备份集。
SP_RMAN_BATCH_DEL_TAB_BAKSET:批量删除表备份集

管理备份
备份管理相关动态视图总结如下:

V$BACKUPSET:显示备份集基本信息。 
V$BACKUPSET_DBINFO:显示备份集的数据库相关信息。 
V$BACKUPSET_DBF:显示备份集中数据文件的相关信息。 
V$BACKUPSET_ARCH:显示备份集的归档信息。 
V$BACKUPSET_RLOG:显示备份集的日志信息。
V$BACKUPSET_BKP:显示备份集的备份片信息。 
V$BACKUPSET_SEARCH_DIRS:显示备份集搜索目录。 
V$BACKUPSET_TABLE:显示表备份集中备份表信息。 
V$BACKUPSET_INDEX:显示表备份集中备份索引信息。 
V$BACKUPSET_SUBS:显示并行备份中生成的子备份集信息

还原
使用Disql执行还原
注:DIsql只能进行表空间和表的还原,库还原使用脱机工具DMRMAN。
表空间还原:
系统处于OPEN状态下
表空间还原、恢复操作一次性完成,还原后不需单独执行恢复
可使用表空间完全备份、表空间增量备份、数据库备份文件还原表空间

SQL> ALTER TABLESPACE MAIN OFFLINE; 
SQL> RESTORE TABLESPACE MAIN FROM BACKUPSET 'ts_bak_01'; 
SQL> ALTER TABLESPACE MAIN ONLINE;

Disql执行还原
表还原:不需配置归档系统处于OPEN状态下表还原是联机完全备份还原,因此还原后不需要恢复
1)保证数据库为open状态;
2)创建待备份还原的表

CREATE TABLE_TAB_RES_02(C1 INT);

3)创建索引;

CREATE INDEX I_TAB_FOR_RES_02 ON TAB_FOR_RES_02(C1);

4)备份表。

BACKUP TABLE_TAB_FOR_RES_02 BACKUPSET '/home/dm_bak_for_res_02';

5)校验备份,此步骤为可选;

SELECT SF_BAKSET_CHECK('DISK','/home/dm_bak_for_res_02');

6)执行表结构还原,表备份和表中都包含索引,如果执行表数据还原会报错:还原表中存在二级索引或约束;

RESTORE TABLE STRUCT TAB_FOR_RES_02 FROM BACKUPSET '/home/dm_bak_for_res_02';

7)执行表数据还原

RESTORE TABLE TAB_FOR_RES_02 FROM BACKUPSET '/home/dm_bak/tab_bak_res_02';

DMRMAN
(DM RECOVERY MANEGER)是 DM8的脱机备份还原管理工具,由它来统一 负责库级脱机备份、脱机还原、数据库恢复等相关操作。
1、DMRMAN备份数据库
数据库处于脱机状态。
创建完全备份:

RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini'
 FULL BACKUPSET '/home/dm_bak/db_full_bak_01';

创建增量备份:

RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini'
 INCREMENT WITH BACKUPDIR '/home/dm_bak ' BACKUPSET '/home/dm_bak/db_increment_bak_02';

2、DMRMAN备份归档

创建归档备份:

RMAN>BACKUP ARCHIVE LOG ALL DATABASE '/opt/dmdbms/data/DAMENG/dm.ini'
BACKUPSET '/home/dm_bak/arch_all_bak_01'; 

创建设置条件的归档备份:
通过设置 LSN 或者时间点,控制需要备份归档的范围。

RMAN>BACKUP ARCHIVE LOG LSN BETWEEN 50000 AND 20000 DATABASE '/opt/dmdbms/data/DAMENG/dm.ini'  
BACKUPSET '/home/dm_bak/db_increment_bak_02';

3、备份高级主题——备份加密
例:数据库完全备份,创建加密密码为“cdb546”,加密算法为“rc4”,复杂数据库加密备份:

RMAN>BACKUP       DATABASE     '/opt/dmdbms/data/DAMENG/dm.ini'     BACKUPSET 
'/home/dm_bak/db_bak_for_encrypt_04' IDENTIFIED BY "cdb546" WITH ENCRYPTION 2 
ENCRYPT WITH RC4; 

其中, 参数WITH ENCRYPTION(默认值为 1 ,简单加密) 和 ENCRYPT WITH(默认加密算法AES256_CFB)可不指定
3、备份高级主题——设置跟踪日志文件
与DIsql不同:DMRMAN不可在备份时指定参数生成跟踪文件,只能使用CONFIGURE命令进行事先配置。
例:为数据库脱机备份设置跟踪日志文件:
1)用CONFIGURE命令配置生成跟踪日志文件:

RMAN>CONFIGURE DEFAULT TRACE FILE '/home/dm_trace/trace.log ' TRACE LEVEL 2; 

2)备份数据库:

RMAN>BACKUP       DATABASE     '/opt/dmdbms/data/DAMENG/dm.ini'      BACKUPSET 
'/home/dm_bak/db_bak_for_trace_01' ; 

查看/home/dm_trace/trace.log文件即可跟踪本次备份的SBT接口调用过程

4.管理备份
备份集查看
备份集校验
备份集删除
1、查看备份集信息:

RMAN>SHOW BACKUPSET '/home/dm_bak/db_bak_for_show_01';

2、校验特定备份集:

RMAN>CHECK BACKUPSET 'db_bak_for_check_02'
 DATABASE '/opt/dmdbms/data/DAMENG/dm.ini'; 

3、删除备份集:

RMAN>REMOVE BACKUPSET '/home/dm_bak/db_bak_for_remove_01'; 

4.管理备份
批量删除所有备份集:

RMAN>REMOVE BACKUPSETS WITH BACKUPDIR '/home/dm_bak'; 

批量删除指定时间之前的备份集:

RMAN>REMOVE BACKUPSETS WITH BACKUPDIR
 '/home/dm_bak' UNTIL TIME'2015-11-1 00:00:00'; 

数据库还原
1)联机备份数据库:

SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_full_bak_for_restore';
  1. 准备目标库。还原目标库可以是已经存在的数据库,也可使用dminit 工具初始化一个新库。
    3)校验待还原备份集的合法性(如果确定合法该步可省略)
RMAN>CHECK BACKUPSET '/home/dm_bak/db_full_bak_for_restore'; 
  1. 还原数据库
RMAN>RESTORE DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'
 FROM BACKUPSET '/home/dm_bak/db_full_bak_for_restore'; 

数据库恢复
更新DB_MAGIC恢复
从备份集恢复
从归档恢复
1、更新DB_MAGIC恢复:
当备份集为脱机备份即备份过程中无日志生成,可以直接更新DB_MAGIC 完成数据库恢复。

RMAN>RECOVER DATABASE
 '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' UPDATE DB_MAGIC;

2、从备份集恢复:
如果备份集在备份过程中生成了日志,且这些日志在备份集中有完整备份(如联机数据库备份),在执行库还原后,可重做备份集中备份的日志,将数据库恢复到备份时的状态,即从备份集恢复。
例:1)联机备份数据库。
2) 准备目标库。
3)校验待还原备份集的合法性。
4) 还原数据库。
5)从备份集恢复数据库:

RMAN>RECOVER DATABASE
 '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' 
 FROM BACKUPSET '/home/dm_bak/db_full_bak_for_recover_backupset'; 

3、从归档恢复:
从归档恢复是利用重做本地归档日志来恢复数据的过程。
允许恢复到指定的时间点及指定的LSN值。
例:1)联机备份数据库。 2) 准备目标库。3)校验备份集。 4) 还原数据库。
5)查看备份集的数据库信息,获取源库的DB_MAGIC。

RMAN>SHOW BACKUPSET '/home/dm_bak/db_full_bak_for_recover_arch' INFO DB;

6)利用归档恢复数据库。

RMAN>RECOVER DATABASE
 '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' WITH ARCHIVEDIR'/home/dm_arch/arch' USE DB_MAGIC 1447060265;

数据库恢复到指定时间点/LSN
例:1)联机备份数据库。 2) 修改一些数据,产生归档(SELECT SYSDATE-时间点t1;SELECT FILE_LSN FROM V$RLOG命令查询此时的LSN:50857)。3)误删除表数据(时间点t2;LSN50861)。 4) 还原数据库。
5)要恢复数据库至步骤2的状态,可以指定UNTIL TIME或UNTIL LSN参数重做部分归档:

RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' WITH 
ARCHIVEDIR'/home/dm_arch/arch' USE DB_MAGIC 1447060265 UNTIL TIME'2015-11-16 10:56:40.624931'; 
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' WITH 
ARCHIVEDIR'/home/dm_arch/arch' USE DB_MAGIC 1447060265 UNTIL LSN 50857;

7.查看操作日志
整个操作过程中可能涉及的日志或跟踪文件位于DM数据库的log 目录中。操作日志类型包括:
全局日志文件dm_DMSERVER_xxx.log
备份还原日志文件dm_bakres_xxx.log
SBT接口跟踪文件dm_SBTTRACE_xxx.log

MANAGER工具进行联机备份还原
数据备份
备份管理
数据还原
1、数据备份
包括库备份、表备份、表空间备份和归档备份。
页面类似,以库备份为例:
在这里插入图片描述
在这里插入图片描述

注:需要在manager.ini里增加参数:-Duse_bak2=true

1、数据备份
增量备份相关选项(指定基备份、基备份扫描路径、PWR日志优化等):
在这里插入图片描述

备份高级设置(压缩、加密、备份日志、介质类型、跟踪日志、并行数等)
在这里插入图片描述

2、备份管理
备份集查看
备份校验
备份删除
指定工作目录

在这里插入图片描述
在这里插入图片描述

Manager支持联机还原表空间和表。
表空间还原前后MANAGER工具会默认地脱机和联机表空间,不需要用户执行这些操作。
表空间和表的还原操作流程基本类似,下面以表空间还原为例:
在这里插入图片描述

还原高级设置(介质类型、加密相关、跟踪日志、归档文件路径等):
在这里插入图片描述

Console工具进行脱机数据库备份还原
数据备份
备份管理
数据还原
数据恢复
在这里插入图片描述

数据备份——数据库脱机备份
在这里插入图片描述

备份管理——查看备份集
在这里插入图片描述

数据还原——库还原
在这里插入图片描述

数据恢复——库恢复
更新DB_MAGIC
从备份集恢复
从归档恢复

更新DB_MAGIC
(恢复到备份结束时间点):
在这里插入图片描述

数据恢复——库恢复

从备份集恢复
(恢复到备份结束时间点):
在这里插入图片描述

从归档恢复:
在这里插入图片描述

标签:02,dm,备份,BACKUPSET,28,数据库,2021,home,bak
来源: https://blog.csdn.net/weixin_50168895/article/details/114226092

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有