网站开发价格 北京,Wordpress采集插件破解版,游戏网站怎么赚钱,wordpress 调用略缩图disql备份还原
前言
本文档根据官方文档#xff0c;进行整理。
一、概述
在 disql 工具中使用 BACKUP 语句你可以备份整个数据库。通常情况下#xff0c;在数据库实例配置归档后输入以下语句即可备份数据库#xff1a;
BACKUP DATABASE BACKUPSET db_bak_01;语句执行完…disql备份还原
前言
本文档根据官方文档进行整理。
一、概述
在 disql 工具中使用 BACKUP 语句你可以备份整个数据库。通常情况下在数据库实例配置归档后输入以下语句即可备份数据库
BACKUP DATABASE BACKUPSET db_bak_01;语句执行完后会在默认的备份路径下生成名为“db_bak_01”的备份集目录。默认的备份路径为 dm.ini 中 BAK_PATH 配置的路径若未配置 BAK_PATH则默认使用 SYSTEM_PATH 下的 bak 目录。这是最简单的数据库备份语句如果要设置其他的备份选项需了解联机备份数据库的语法。
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|[FULL] SHADOW|INCREMENT increment_statement
increment_statement:: [FROM LSN lsn] | inc_sub_statement
inc_sub_statement:: [CUMULATIVE][指定基备份子句]
指定基备份子句:: BASE ON BACKUPSET 基备份目录
指定备份集子句 WITH BACKUPDIR ‘备份集搜索路径’{,‘备份集搜索路径’}
read_limit:: READ SPEED 读速度上限 [WRITE SPEED 写速度上限]
write_limit:: WRITE SPEED 写速度上限参数说明
参数说明备份类型1️⃣FULL完全备份完全备份生成的备份集包含了指定库或者表空间的全部有效数据页。2️⃣DDL_CLONE数据库克隆该参数只能用于完全备份中对于数据库中的表来说只备份表的定义不备份表中数据。表空间和表备份不支持该参数数据库克隆必须备份日志。3️⃣SHADOW影子备份该参数只能用于完全备份中表示生成影子备份集只备份源库的 SYSTEM.DBF 及日志相关信息。表空间和表备份不支持该参数影子备份必须备份日志。4️⃣INCREMENT增量备份TO指定生成备份名称管理工具中可以查看。若未指定系统随机生成默认备份名格式为DB_备份类型_备份时间。BACKUPSET指定当前备份集目录。若指定为相对路径例如 BACKUPSET ‘db_bak_01’则在默认备份目录中生成备份集。若不指定命令不写则在默认备份目录中按约定规则生成默认备份集目录。SQL backup database full;DEVICE TYPE指存储备份集的介质类型支持 DISK 和 TAPE默认 DISKPARMS只对介质类型为 TAPE 时有效BACKUPINFO备份的描述信息。MAXPIECESIZE最大备份片文件大小上限以 MB 为单位最小 128MB32 位系统最大 2GB64 位系统最大 128GB缺省为最大取值。LIMIT指定备份时最大的读写文件速度单位为 MB/S默认为 0表示无速度限制。READ SPEED备份时读速度上限取值范围 0~2147483647单位为 MB/S0 表示无限制。WRITE SPEED备份时写速度上限取值范围 0~2147483647单位为 MB/S0 表示无限制。IDENTIFIED BY指定备份时的加密密码WITH ENCRYPTION指定加密类型取值范围 0、1、2。0 表示不加密不对备份文件进行加密处理1默认值表示简单加密对备份文件设置口令但文件内容仍以明文方式存储2表示完全数据加密对备份文件进行完全的加密备份文件以密文方式存储。当不指定 WITH ENCRYPTION 子句时采用简单加密。ENCRYPT WITH指定加密算法。当不指定 ENCRYPT WITH 子句时使用 AES256_CFB 加密算法。COMPRESSED是否对备份数据进行压缩处理。LEVEL 表示压缩等级取值范围 0~90默认值 表示不压缩1 表示 1 级压缩9 表示 9 级压缩。压缩级别越高压缩速度越慢但压缩比越高。若指定 COMPRESSED但未指定 LEVEL则压缩等级默认 1若未指定 COMPRESSED则默认不进行压缩处理。WITHOUT LOG联机数据库备份是否备份联机日志。如果使用则表示不备份否则表示备份。WITHOUT MIRROR联机数据库备份是否备份镜像文件。如果使用则表示不备份否则表示备份。TRACE LEVEL是否启用 TRACE。有效值 1、2默认为 1 表示不启用 TRACE此时若指定了 TRACE FILE会生成 TRACE 文件但不写入 TRACE 信息为 2 启用 TRACE 并在 TRACE 文件中写入 TRACE 相关内容。TRACE FILE指定生成的 TRACE 文件。启用 TRACE但不指定 TRACE FILE 时默认在 DM 数据库系统的 log 目录下生成 DM_SBTTRACE_年月.log 文件若使用相对路径则生成在执行码同级目录下若用户指定 TRACE FILE则指定的文件不能为已经存在的文件否则报错。TRACE FILE 不可以为 ASM 文件。TASK THREAD备份过程中数据处理过程线程的个数取值范围 0~64默认为 4。若指定为 0则调整为 1若指定超过当前系统主机核数则调整为主机核数。线程数TASK THREAD*并行数PARALLEL不得超过 512。PARALLEL指定**并行备份的并行数和拆分块大小**。并行数取值范围 0~128。若不指定并行数则默认为 4若指定为 0 或者 1 均认为非并行备份。若未指定关键字 PARALLEL则认为非并行备份。FROM LSN用于增量备份中指定备份的起始 LSN。起始 LSN 必须小于等于检查点 LSN用户可以手动刷新检查点 LSN。仅支持库级增量备份。CUMULATIVE用于增量备份中指明为累积增量备份类型若不指定则缺省为差异增量备份类型。WITH BACKUPDIR用于增量备份中指定基备份的搜索目录。若缺省自动在以下路径中搜索默认备份目录即 BAK_PATH 配置的路径如果 BAK_PATH 没有配置则使用 SYSTEM_PATH 配置的路径、当前备份集目录即 BACKUPSET 指定的路径例如 BACKUPSET ‘D:\ bakrman\db_bak’的路径、当前备份集目录的上一级目录例如’D:\bakrman’搜索基备份。如果基备份不在上述路径下增量备份必须指定该参数。BASE ON BACKUPSET用于增量备份中指定基备份集路径。 注意 增量备份时DM不会在默认备份目录或当前备份目录的子目录中搜索基备份集因此若基备份集在默认备份目录或当前备份目录的子目录中则需要指定基备份的搜索目录或直接指定基备份集路径否则将无法搜索到相应的基备份集备份操作将会失败。 2、常用的备份命令
2.1 设置联机备份路径(BACKUPSET)
指定备份集路径为“/dmdata/dmbak/db_bak_3_01”
BACKUP DATABASE BACKUPSET /dmdata/dmbak/db_bak_3_01;2.2 设置备份名(TO)
创建备份集备份名设置为“FULLBAK01”,备份路径为what
BACKUP DATABASE TO FULLBAK01 BACKUPSET what备份集名称为FULLBAK01 保存路径是/dmdata/dmbak/what
2.3 添加备份描述(BACKUPINFO)
创建备份为备份集添加描述信息为“测试备份”
BACKUP DATABASE BACKUPINFO 测试备份;2.4 限制备份片大小(MAXPIECESIZE)
创建备份限制备份片大小为 300MB
BACKUP DATABASE BACKUPSET /dmdata/dmbak/db_bak_3_05 MAXPIECESIZE 300;2.5 备份压缩(COMPRESSED LEVEL)
执行备份压缩压缩级别设置为 5
BACKUP DATABASE BACKUPSET /dmdata/dmbak/db_bak_3_06 COMPRESSED LEVEL 5;2.6 并行备份(PARALLEL)
创建并行备份指定并行数为 8
BACKUP DATABASE BACKUPSET /dmdata/dmbak/db_bak_3_07 PARALLEL 8;二、数据备份
1、数据库备份
执行数据库备份数据库必须处于 OPEN 状态MOUNT 和 SUSPEND 状态下不允许执行数据库备份。除此之外还要运行在归档模式
1.1 完全备份
完全备份数据库步骤如下
配置归档保证数据库处于 OPEN 状态DIsql 中输入备份数据库语句最简单的不设置其他参数的完全备份语句如下
BACKUP DATABASE FULL BACKUPSET /dmdata/dmbak/db_full_bak_01;备份语句中的参数 FULL 可以省略不指定备份类型会默认指定备份类型为完全备份。 1.2 增量备份
增量备份指基于指定的库或者表空间的某个备份完全备份或者增量备份备份自该备份以来所有发生修改的数据页。
增量备份数据库步骤如下 配置归档 保证数据库处于 OPEN 状态 disql 中输入备份数据库语句
1.2.1 差异增量备份
最简单的不设置其他参数的增量备份语句如下
BACKUP DATABASE INCREMENT WITH BACKUPDIR /dmdata/dmbak BACKUPSET /dmdata/dmbak/db_increment_bak_02;指定基备份集路径/dmdata/dmbak/DB_DAMENG_FULL_20240210_163606_932454
BACKUP DATABASE INCREMENT BASE ON BACKUPSET /dmdata/dmbak/DB_DAMENG_FULL_20240210_163606_932454 BACKUPSET /dmdata/dmbak/INC;以/dmdata/dmbak/DB_DAMENG_FULL_20240210_163606_932454这个备份集作为基备份集 指定基备份扫描路径/dmdata/dmbak
BACKUP DATABASE INCREMENT WITH BACKUPDIR /dmdata/dmbak BACKUPSET DB_DAMENG_INCRE_2024_02_10_16_52_32;扫描目录/dmdata/dmbak找到其中最新的备份集将其作为基备份集。 WITH BACKUPDIR 参数用来指定基备份集的搜索目录 1.2.2 累积增量备份
BACKUP DATABASE INCREMENT CUMULATIVE;2、表空间备份
在 disql 工具中使用 BACKUP 语句也可以备份单个表空间。同备份数据库一样执行表空间备份数据库实例也必须运行在归档模式下
2.1 语法
BACKUP TABLESPACE 表空间名 [FULL | INCREMENT increment_statement] [指定备份集子句] [TO 备份名] [BACKUPSET 备份集路径][DEVICE TYPE 介质类型 [PARMS 介质参数]]
[BACKUPINFO 备份描述] [MAXPIECESIZE 备份片限制大小]
[LIMIT read_limit|write_limit]
[IDENTIFIED BY 密码|密码 [WITH ENCRYPTIONTYPE][ENCRYPT WITH 加密算法]] [COMPRESSED [LEVEL 压缩级别]][WITHOUT LOG][WITHOUT MIRROR]
[TRACE FILE TRACE文件名] [TRACE LEVEL TRACE日志级别]
[TASK THREAD 线程数][PARALLEL [并行数][READ SIZE 拆分块大小]];
inc_sub_statement:: 参考3.2.2.1.1概述
read_limit:: READ SPEED 读速度上限 [WRITE SPEED 写速度上限]
write_limit:: WRITE SPEED 写速度上限2.2 完全备份
备份MAIN表空间
BACKUP TABLESPACE MAIN BACKUPSET ts_bak_01;2.3 增量备份
下面以增量备份用户 MAIN 表空间为例
BACKUP TABLESPACE MAIN BACKUPSET ts_full_bak_01;
BACKUP TABLESPACE MAIN INCREMENT BACKUPSET ts_increment_bak_01;
BACKUP TABLESPACE MAIN INCREMENT BASE ON BACKUPSET ts_full_bak_01 BACKUPSET ts_increment_bak_02;上述示例中增量备份 ts_increment_bak_02 若不指定备份集 ts_full_bak_01 作为基备份那么默认会使用最近一次的备份集 ts_increment_bak_01 作为基备份。 3、表备份
与备份数据库与表空间不同备份表不需要服务器配置归档。
3.1 语法
BACKUP TABLE 表名 [TO 备份名] [BACKUPSET 备份集路径]
[DEVICE TYPE 介质类型 [PARMS 介质参数]] [BACKUPINFO 备份描述] [MAXPIECESIZE 备份片限制大小] [LIMIT read_limit|write_limit]
[IDENTIFIED BY 密码|密码 [WITH ENCRYPTION TYPE][ENCRYPT WITH 加密算法]]
[COMPRESSED [LEVEL 压缩级别]]
[TRACE FILE TRACE文件名] [TRACE LEVEL TRACE日志级别];
read_limit:: READ SPEED 读速度上限 [WRITE SPEED 写速度上限]
write_limit:: WRITE SPEED 写速度上限使用说明 仅支持对用户的非分区的行存储表和堆表进行备份不支持对分区表的备份。在非分区表中也不支持对临时表、物化视图表、物化视图附属表、日志表和特定模式DBG_PKG/INFORMATION_SCHEMA/INFO_SCHEM/SYSREP/SYSGEO/SYSJOB/SYSCPT/SYS下的表进行表备份。表的**列类型为对象类型的表不支持表备份**。表备份不备份表上的注释以及 default 表达式中的函数定义因此还原时需用户自行确认。不支持在加密库上进行表备份与还原。当备份数据超过限制大小时会生成新的备份文件新的备份文件名是初始文件名后加文件编号。表备份时其所属表空间必须处于联机状态。目前表备份不支持备份到 TAPE 介质上。 3.2 完整备份步骤
保证数据库处于 OPEN 状态创建待备份的表 TAB_01
CREATE TABLE TAB_01(C1 INT);disql 中输入备份表语句简单的备份语句如下
BACKUP TABLE TAB_01 BACKUPSET /dmdata/dmbak/tab_bak_01;4、归档备份
4.1 归档备份前提 归档文件的 db_magic、permanent_magic 值和库的 db_magic、permanent_magic 值必须一样 服务器必须配置归档 归档日志必须连续如果出现不连续的情况前面的连续部分会忽略仅备份最新的连续部分。如果备份时未收集到指定范围内的归档则直接报错。联机备份的时候经常会切换归档文件最后一个归档总是空的所以最后一个归档不会被备份。
4.2 语法
BACKUP ARCHIVE LOG |ARCHIVELOG [ALL | [FROM LSN lsn]| [UNTIL LSN lsn]|
[LSN BETWEEN lsn AND lsn] | [FROM TIME time]|[UNTIL TIME time]|
[TIME BETWEENtime AND time]][notBackedUpSpec][指定备份集子句][DELETE INPUT]
[TO 备份名][备份集子句];
备份集子句BACKUPSET [备份集路径][DEVICE TYPE 介质类型 [PARMS 介质参数]]
[BACKUPINFO 备份描述] [MAXPIECESIZE 备份片限制大小]
[LIMIT read_limit|write_limit]
[IDENTIFIED BY 密码|密码 [WITH ENCRYPTION TYPE][ENCRYPT WITH 加密算法]]
[COMPRESSED [LEVEL 压缩级别]] [WITHOUT LOG]
[TRACE FILE TRACE文件名] [TRACE LEVEL TRACE日志级别]
[TASK THREAD 线程数][PARALLEL [并行数][READ SIZE 拆分块大小]]
notBackedUpSpec::NOT BACKED UP [num TIMES]|[SINCE TIME datetime_string]
read_limit:: READ SPEED 读速度上限 [WRITE SPEED 写速度上限]
write_limit:: WRITE SPEED 写速度上限参数说明
参数说明ALL备份所有的归档。若不指定则默认为 ALL。FROM LSN指定备份的起始 lsn。UNTIL LSN指定备份的截止 lsn。FROM TIME指定备份的开始的时间点。UNTIL TIME指定备份的截止的时间点。BETWEEN … AND …指定备份的区间。指定区间后只会备份指定区间内的归档文件。DELETE INPUT用于指定备份完成之后是否删除归档操作。BACKUPSET指定当前备份集目录。若指定为相对路径例如 BACKUPSET ‘db_bak_01’则在默认备份目录中生成备份集。若不指定命令不写则在默认备份目录中按约定规则生成默认备份集目录。SQL backup database full;DEVICE TYPE指存储备份集的介质类型支持 DISK 和 TAPE默认 DISKPARMS只对介质类型为 TAPE 时有效BACKUPINFO备份的描述信息。MAXPIECESIZE最大备份片文件大小上限以 MB 为单位最小 128MB32 位系统最大 2GB64 位系统最大 128GB缺省为最大取值。LIMIT指定备份时最大的读写文件速度单位为 MB/S默认为 0表示无速度限制。IDENTIFIED BY指定备份时的加密密码WITH ENCRYPTION指定加密类型取值范围 0、1、2。0 表示不加密不对备份文件进行加密处理1默认值表示简单加密对备份文件设置口令但文件内容仍以明文方式存储2表示完全数据加密对备份文件进行完全的加密备份文件以密文方式存储。当不指定 WITH ENCRYPTION 子句时采用简单加密。ENCRYPT WITH指定加密算法。当不指定 ENCRYPT WITH 子句时使用 AES256_CFB 加密算法。COMPRESSED是否对备份数据进行压缩处理。LEVEL 表示压缩等级取值范围 0~90默认值 表示不压缩1 表示 1 级压缩9 表示 9 级压缩。压缩级别越高压缩速度越慢但压缩比越高。若指定 COMPRESSED但未指定 LEVEL则压缩等级默认 1若未指定 COMPRESSED则默认不进行压缩处理。WITHOUT LOG联机数据库备份是否备份联机日志。如果使用则表示不备份否则表示备份。TRACE LEVEL是否启用 TRACE。有效值 1、2默认为 1 表示不启用 TRACE此时若指定了 TRACE FILE会生成 TRACE 文件但不写入 TRACE 信息为 2 启用 TRACE 并在 TRACE 文件中写入 TRACE 相关内容。TRACE FILE指定生成的 TRACE 文件。启用 TRACE但不指定 TRACE FILE 时默认在 DM 数据库系统的 log 目录下生成 DM_SBTTRACE_年月.log 文件若使用相对路径则生成在执行码同级目录下若用户指定 TRACE FILE则指定的文件不能为已经存在的文件否则报错。TRACE FILE 不可以为 ASM 文件。TASK THREAD备份过程中数据处理过程线程的个数取值范围 0~64默认为 4。若指定为 0则调整为 1若指定超过当前系统主机核数则调整为主机核数。线程数TASK THREAD*并行数PARALLEL不得超过 512。PARALLEL指定**并行备份的并行数和拆分块大小**。并行数取值范围 0~128。若不指定并行数则默认为 4若指定为 0 或者 1 均认为非并行备份。若未指定关键字 PARALLEL则认为非并行备份。READ SPEED备份时读速度上限取值范围 0~2147483647单位为 MB/S0 表示无限制。WRITE SPEED备份时写速度上限取值范围 0~2147483647单位为 MB/S0 表示无限制。
4.3 备份步骤
配置归档保证数据库处于 OPEN 或者 MOUNT 状态DIsql 中输入备份数据库语句。 如何通过 LSN BETWEEN … AND …来指定起始和截至 LSN 首先确定 LSN 范围
select ARCH_LSN, CLSN, PATH from V$ARCH_FILE;ARCH_LSN CLSN PATH
----------- ---------- ------------------------------------------------------------------
314973 315394 /dmdata/arch/ARCHIVE_LOCAL1_0x2DFFFDD8_EP0_2024-02-10_21-50-01.log
315395 315713 /dmdata/arch/ARCHIVE_LOCAL1_0x2DFFFDD8_EP0_2024-02-10_21-57-56.log
……
//通过查询结果选出备份的起始LSN和截至LSN。比如315395 315713备份归档
BACKUP ARCHIVELOG LSN BETWEEN 315395 AND 315713 BACKUPSET /dmdata/dmbak/arch_bak_time_14-78;三、数据备份高级
DM 的数据库、表空间、表备份和归档备份**均支持创建加密备份和备份时设置跟踪日志文件**本节仅以数据库备份为例说明这两种类型备份的创建。
1、加密备份
备份语句中通过指定 IDENTIFIED BY…WITH ENCRYPTION…ENCRYPT WITH…执行加密备份。其中IDENTIFIED BY 子句指定加密密码密码长度为 9 到 48 个字节若密码长度不符合要求会报错
WITH ENCRYPTION 子句指定加密类型加密类型分为简单加密和复杂加密简单加密是对备份文件设置口令但文件内容仍以明文存储复杂加密则对备份文件进行完全的加密备份文件以密文方式存储用户可根据备份数据的重要程度选择加密类型ENCRYPT WITH 子句指定加密算法默认使用的加密算法为 AES256_CFB。
加密备份过程中 IDENTIFIED BY 子句必须指定子句 WITH ENCRYPTION 和子句 ENCRYPT WITH 可不指定此时 WITH ENCRYPTION 默认值为 1ENCRYPT WITH 默认值为 AES256_CFB。
简单加密
BACKUP DATABASE BACKUPSET /dmdata/dmbak/db_bak_for_encrypt IDENTIFIED BY cdb546789;BACKUP DATABASE BACKUPSET /dmdata/dmbak/db_bak_for_encrypt IDENTIFIED BY cdb546789 ENCRYPT WITH RC4;复杂加密
BACKUP DATABASE BACKUPSET /dmdata/dmbak/db_bak_for_encrypt IDENTIFIED BY cdb546789 WITH ENCRYPTION 2;BACKUP DATABASE BACKUPSET /dmdata/dmbak/db_bak_for_encrypt IDENTIFIED BY cdb546789 WITH ENCRYPTION 2 ENCRYPT WITH RC4;若指定了加密密码但加密类型 WITH ENCRYPTION 指定为 0则为非加密备份
BACKUP DATABASE BACKUPSET /dmdata/dmbak/db_bak_for_encrypt IDENTIFIED BY cdb546789 WITH ENCRYPTION 0;注意 对于增量备份加密如果基备份存在加密则增量备份使用的加密密码、加密类型和加密算法必须与基备份保持一致如果基备份未进行加密处理则对增量备份使用的加密密码、加密类型和加密算法没有特殊要求。 2、设置跟踪日志文件
DM 备份时支持设置 SBT 接口跟踪日志文件日志记录了 SBT 接口的调用过程用户通过查看日志可跟踪备份还原过程。
与生成跟踪日志文件相关的参数有两个TRACE FILE 和 TRACE LEVEL。 TRACE FILE 用于指定生成的跟踪日志文件路径TRACE LEVEL 表示是否启用 TRACE。TRACE LEVEL 有效值包括 1 和 2。1 表示不启用 TRACE 功能2 表示启用系统默认值为 1。
2.1 指定TRACE FILE
TRACE LEVEL 1默认值
-- 下面两个语句等价1.log日志内容为空保存在$DM_HOME/bin/1.log
backup database trace file 1.log;
backup database trace file 1.log trace level 1;指定参数 TRACE FILE 但 TRACE LEVEL 值设置为 1 即不启用 TRACE 功能则会生成 TRACE 文件但不会写入 TRACE 信息。 TRACE LEVEL 2
backup database trace file 2.log trace level 2; -- 2.log日志内容不为空保存在$DM_HOME/bin/2.log
backup database trace file /dmdata/3.log trace level 2; -- 3.log日志内容不为空保存在/dmdata/3.log注意 若 TRACE FILE 使用相对路径日志文件生成在执行码同级目录下**$DM_HOME/bin**。若 TRACE FILE 使用绝对路径日志文件生成在指定的绝对路径。如果指定的 TRACE 文件已存在则报错。 2.2 不指定TRACE FILE
TRACE LEVEL 2
backup database trace level 2; -- 在$DM_HOME/log路径下生成.log文件TRACE LEVEL 值设置为 2 即启用 TRACE 功能但若 TRACE FILE 没有指定则系统默认在执行码路径的 log 目录$DM_HOME/log生成 DM_SBTTRACE_年月.log 文件。 四、管理备份
1、备份管理相关系统过程与函数总结
1.1 函数
函数说明SF_BAKSET_BACKUP_DIR_ADD添加备份目录SF_BAKSET_BACKUP_DIR_REMOVE删除内存中指定的备份目录SF_BAKSET_BACKUP_DIR_REMOVE_ALL删除内存中全部的备份目录SF_BAKSET_CHECK对备份集进行校验SF_BAKSET_REMOVE删除指定设备类型和指定备份集目录的备份集SF_BAKSET_REMOVE_BATCH批量删除满足指定条件的所有备份集SF_BAKSET_REMOVE_BATCH_S批量安全删除满足指定条件的所有库级备份集SF_BAKSET_REMOVE_BATCH_N批量删除满足指定条件的所有备份集并保留用户指定个数的库级完全备份集
1.2 过程
存储过程说明SP_DB_BAKSET_REMOVE_BATCH批量删除指定时间之前的数据库备份集SP_TS_BAKSET_REMOVE_BATCH批量删除指定表空间对象及指定时间之前的表空间备份集SP_TAB_BAKSET_REMOVE_BATCH批量删除指定表对象及指定时间之前的表备份集SP_ARCH_BAKSET_REMOVE_BATCH批量删除指定条件的归档备份集 注意 上面函数存储过程的使用说明内容太多参考官方文档。 2、备份管理相关动态视图总结
视图说明V$BACKUPSET显示备份集基本信息V$BACKUPSET_DBINFO显示备份集的数据库相关信息V$BACKUPSET_DBF显示备份集中数据文件的相关信息V$BACKUPSET_ARCH显示备份集的归档信息V$BACKUPSET_BKP显示备份集的备份片信息V$BACKUPSET_SEARCH_DIRS显示备份集搜索目录V$BACKUPSET_TABLE显示表备份集中备份表信息V$BACKUPSET_SUBS显示并行备份中生成的子备份集信息V$BACKUP_MONITOR显示当前备份任务实时监控信息V$BACKUP_HISTORY显示最近 100 条备份监控信息V$BACKUP_FILES显示当前备份任务待备份数据文件列表 五、数据还原
DM 仅支持表的联机还原数据库、表空间和归档日志的还原必须通过脱机工具 DMRMAN 执行。
1、表还原
表还原之后不需要恢复操作。
1.1 语法
RESTORE TABLE [表名] [STRUCT] [KEEP TRXID] FROM BACKUPSET备份集路径 [DEVICE TYPE 介质类型 [PARMS 介质参数]] [IDENTIFIED BY 密码|密码 [ENCRYPT WITH 加密算法]] [TRACE FILE TRACE文件名] [TRACE LEVEL TRACE日志级别];参数说明表名可选参数指定需要还原的表名称。指定表名还原时数据库中必须存在该表否则报错不会从备份集判断是否存在目标表。不指定表名则使用备份集中记录的备份表作为还原目标表。STRUCT执行表结构还原若未指定则认为是表中数据还原表数据还原要求还原目标表结构与备份集中完全一致否则报错所以表结构还原可以在表数据还原之前执行减少报错。KEEP TRXID指定还原后数据页上记录的 TRXID 保持不变若发现备份时系统最大的 TRXID 大于等于当前系统的最大 TRXID则将当前系统最大事务 ID1000。调整后副作用rec_id next_trxid 的记录或者 rec_id bak_max_trxid 1000 的记录可能因为执行了表还原导致查询结果不正确原本不可见的数据变得可见了。…………
1.2 还原限制 仅支持对普通用户表进行还原包括堆表。其中系统表、临时表、物化视图表、物化视图附属表、日志表以及特定模式DBG_PKG/INFORMATION_SCHEMA/INFO_SCHEM/SYSREP/SYSGEO/SYSJOB/SYSCPT/SYS下的表不支持还原。 列类型为对象类型的表不支持表还原。 若还原表中存在位图连接索引和位图连接虚索引则不支持还原。 若为加密库表还原时要求源库与目标库加密算法一致。 备份集路径指备份集所在目录其中应包含完整备份数据包括元数据文件(.meta)和备份片文件(.bak)。仅支持从表备份集中还原表。 表名设置为可选参数。若指定则数据库中必须存在该表且表定义必须与备份表严格一致若不指定则使用备份集中记录的备份表作为还原目标表。 还原时若不指定目标表则表还原操作需要 DBA 权限若指定目标表则目标表的创建者可以进行表还原操作。 目标表所在的表空间必须处于联机状态。 数据守护环境下主库允许表备份还原备库不允许。 MOUNT 和 SUSPEND 状态下不允许进行表还原必须处于OPEN状态。 MPP 环境不允许进行表还原。 若在语句中指定 STRUCT 关键字则执行表结构还原。表结构还原会根据备份集中备份表还原要求对目标表定义进行校验并删除目标表中已存在的二级索引和约束。 若不指定 STRUCT 关键字则执行表数据还原表数据还原默认仅会将备份表中聚集索引上的数据进行还原。表数据还原默认仅会在目标表定义与备份表一致且不存在二级索引和约束的情况下执行。 若在未指定 STRUCT 的情况下执行还原出现存在二级索引或冗余约束的错误或在不指定目标表的情况下报目标不存在的错误可先执行 STRUCT 还原后再继续执行实际数据的还原。 若用户指定 TRACE FILE则指定的文件不能为已经存在的文件否则报错也不可以为 ASM 文件。 若表中存在大字段列且表备份时 INI 参数 BLOB_OUTROW_REC_STOR 大于 0但建立还原目标表时 INI 参数 BLOB_OUTROW_REC_STOR 等于 0那么若大字段列存在行外数据则在执行表还原时会报错且表数据会丢失。 表还原不检查目标表的缺省表达式default 值。 若表列进行了加密则表还原时不能跨库或跨表还原只能还原到自身。 1.3. 不包含索引或约束的还原步骤
保证数据库为 OPEN 状态创建待备份的表
CREATE TABLE TAB_FOR_RES_01(C1 INT);备份表数据
BACKUP TABLE TAB_FOR_RES_01 BACKUPSET /dmdata/dmbak/tab_bak_for_res_01;校验备份此步骤为可选
SELECT SF_BAKSET_CHECK(DISK,/dmdata/dmbak/tab_bak_for_res_01);还原表数据
RESTORE TABLE TAB_FOR_RES_01 FROM BACKUPSET /dmdata/dmbak/tab_bak_for_res_01;1.4 包含索引或约束的还原步骤
保证数据库为 OPEN 状态创建待备份的表
CREATE TABLE TAB_FOR_RES_02(C1 INT);创建索引
CREATE INDEX I_TAB_FOR_RES_02 ON TAB_FOR_RES_02(C1);备份表
BACKUP TABLE TAB_FOR_RES_02 BACKUPSET /dmdata/dmbak/tab_bak_for_res_02;校验备份此步骤为可选
SELECT SF_BAKSET_CHECK(DISK,/dmdata/dmbak/tab_bak_for_res_02);执行表结构还原表备份和目标表中都包含索引如果直接执行表数据还原会报错还原表中存在二级索引或冗余约束
RESTORE TABLE TAB_FOR_RES_02 STRUCT FROM BACKUPSET /dmdata/dmbak/tab_bak_for_res_02;执行表数据还原
RESTORE TABLE TAB_FOR_RES_02 FROM BACKUPSET /dmdata/dmbak/tab_bak_for_res_02;1.5 指定还原时不重建索引
表备份时会默认备份表中的索引还原时使用 RESTORE TABLE...WITHOUT INDEX...语句可选择不还原索引
建表跟索引
CREATE TABLE TAB_FOR_IDX_01(C1 INT);CREATE INDEX I_TAB_FOR_IDX_01 ON TAB_FOR_IDX_01 (C1);备份略 还原但不重建索引
RESTORE TABLE TAB_FOR_RES WITHOUT INDEX FROM BACKUPSET /dmdata/dmbak/tab_bak_for_res_01;1.6 指定还原时不重建约束
表备份时会默认备份表中的索引定义还原时使用 RESTORE TABLE...WITHOUT CONSTRAINT...语句可选择还原时不重建约束
建表跟索引
CREATE TABLE TAB_FOR_CONS_01(C1 INT);CREATE INDEX I_TAB_FOR_CONS_01 ON TAB_FOR_CONS_01 (C1);备份略 还原但不重建约束
RESTORE TABLE TAB_FOR_RES WITHOUT CONSTRAINT FROM BACKUPSET /dmdata/dmbak/tab_bak_for_res_01;达梦社区https://eco.dameng.com