- 归档配置
1.1 概述
DM 数据库可以运行在归档模式或非归档模式下。如果是归档模式,联机日志文件中的
内容保存到硬盘中,形成归档日志文件;如果是非归档模式,则不会形成归档日志。
查询 v$dm_arch_ini、v$arch_status 等动态视图可以获取归档配置以及归档状态
等相关信息。
联机备份数据库必须要配置归档,脱机备份数据库可以配置也可以不配置。正常退出的数据库会调用检查点刷盘,此时归档是完整的。故障推出的数据库必须配置归档。
备份表空间属于联机备份,必须配置归档。
备份表虽然是联机完全备份,但不需要配置归档。因为表在还原之后不需要再进行恢复
操作,用不到归档日志。
备份归档日志必须配置归档。
1.2 联机配置归档
1.2.1 开启归档
alter database mount;
alter database add archivelog 'dest=/dmarch ,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=102400';
alter database archivelog;
alter database open;
1.2.2 关闭归档
alter database mount;
alter database noarchivelog;
alter database open;
1.3 手动配置归档
1.3.1 本地归档
(1)配置dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = d:\dm_arch\arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048
ARCH_HANG_FLAG = 1
- 修改dm.ini文件中参数ARCH_INI=1并保存。
- 启动数据库
1.3.2 远程归档
DSC集群两节点为例
DSC0 实例的 dmarch.ini 配置:
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/dameng/arch_dsc0
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_HANG_FLAG = 1
[ARCH_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH =+DMDATA/dameng/arch_dsc1
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
DSC1 实例的 dmarch.ini 配置:
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST =+DMDATA/dameng/arch_dsc1
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_HANG_FLAG = 1
[ARCH_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_INCOMING_PATH =+DMDATA/dameng/arch_dsc0
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
二.数据库备份
2.1 语法结构
BACKUP DATABASE [<备份类型>][<指定备份集子句>] [TO <备份名>] [BACKUPSET '<备份集路径>']
[DEVICE TYPE <介质类型> [PARMS '<介质参数>']]
[BACKUPINFO '<备份描述>'] [MAXPIECESIZE <备份片限制大小>]
[LIMIT <read_limit>|<write_limit>]
[IDENTIFIED BY <密码>|"<密码>" [WITH ENCRYPTION <TYPE>][ENCRYPT WITH <加密算法>]]
[COMPRESSED [LEVEL <压缩级别>]] [WITHOUT LOG][WITHOUT MIRROR]
[TRACE FILE '<TRACE 文件名>'] [TRACE LEVEL <TRACE 日志级别>]
[TASK THREAD <线程数>][PARALLEL [<并行数>] [READ SIZE <拆分块大小>]];
·备份类型,省缺为FULL
完全备份FULL:完全备份生成的备份集包含了指定库(或者表空间)的全部有效数据页在完全备份中又可以具体指定为 DDL_CLONE(只拷贝元数据,不拷贝数据,仅在数据库备份中支持) 或 SHADOW(只备份SYSTEM.DBF及日志相关信息,用于还原成影子库)
增量备份INCREMENT
2.2 实操
2.2.1在 DIsql 工具中使用 BACKUP 语句可以备份整个数据库。
只有在归档模式下才能操作联机备份数据库
语句执行完后会在默认的备份路径下生成名为“db_bak_01”的备份集目录。默认的备
份路径为 dm.ini 中 BAK_PATH 配置的路径,若未配置 BAK_PATH,则默认使用
SYSTEM_PATH 下的 bak 目录-/dmdata/DMDB/bak/
2.2.2 DDL_CLONE与SHADOW
2.2.3 指定备份集路径为“/dmbak/db_bak_1_01”
BACKUP DATABASE BACKUPSET '/dmbak/db_bak_1_01/';
BACKUP DATABASE BACKUPSET '/dmbak/db_bak/';
2.2.4创建备份集,备份名设置为“WEEKLY_FULL_BAK”。
BACKUP DATABASE TO WEEKLY_FULL_BAK BACKUPSET '/dmbak/db_bak_1_02/';
2.2.5 创建备份为备份集添加描述信息为“完全备份”。
BACKUP DATABASE BACKUPSET '/dmbak/db_bak_1_03/' BACKUPINFO '完全备份';
2.2.6 限制备份片大小为300MB
BACKUP DATABASE BACKUPSET '/dmbak/db_bak_1_04/' MAXPIECESIZE 300;
2.2.7 备份压缩,压缩级别为5
BACKUP DATABASE BACKUPSET '/dmbak/db_bak_1_5/' COMPRESSED LEVEL 5;
2.2.8 并行压缩,行数为8
BACKUP DATABASE BACKUPSET '/dmbak/db_bak_1_06/' PARALLEL 8;
2.2.9 增量备份
BACKUP DATABASE INCREMENT WITH BACKUPDIR '/dmbak' BACKUPSET '/dmbak/db_increment_bak_01';
-WITH BACKUPDIR:指定基备份目录
-CUMULATIVE:创建累积增量备份(基备份必须是完全备份集),与之对应的是差异增量备份(基备份可以是完全备份集,也可以是增量备份集),若不指定则省缺为差异增量备份。
三.DSC环境使用说明
1) 保证故障节点的[CKPT_LSN,FILE_LSN]之间日志修改的数据页已写入磁盘。只有所有活动节点的 CKPT_LSN 大于等于故障节点的 FILE_LSN 才允许备份操作。
2) 主库备份时,只有所有活动节点 CKPT_LSN 推进到 MAX[APPLY_LSN]之后,才允许备份操作。
3) 备库备份时,需要触发检查点将所有活动节点 CKPT_LSN 推进到 MAX[APPLY_LSN]之后,才能启动备份操作。
四.表空间备份
4.1 语法结构
BACKUP TABLESPACE <表空间名> [FULL | INCREMENT <increment_statement>] [<指定备份集子
句>] [TO <备份名>] [BACKUPSET '<备份集路径>'][DEVICE TYPE <介质类型> [PARMS '<介质参数>']]
[BACKUPINFO '<备份描述>'] [MAXPIECESIZE <备份片限制大小>]
[LIMIT <read_limit>|<write_limit>]
[IDENTIFIED BY <密码>|"<密码>" [WITH ENCRYPTION<TYPE>][ENCRYPT WITH <加密算法>]]
[COMPRESSED [LEVEL <压缩级别>]][WITHOUT LOG][WITHOUT MIRROR]
[TRACE FILE '<TRACE 文件名>'] [TRACE LEVEL <TRACE 日志级别>]
[TASK THREAD <线程数>][PARALLEL [<并行数>][READ SIZE <拆分块大小>]];