DM达梦数据库备份还原学习成果

达梦数据库的备份还原根据工具可分为:使用DIsql工具进行还原备份、使用DMRMAN工具进行还原备份、使用MANAGER工具进行还原备份、使用CONSOLE工具进行还原备份、使用dexp和dimp工具分别进行备份还原;也可根据原理分为:物理联机备份还原、物理脱机备份还原、逻辑备份还原。下面依次介绍:

1 物理联机备份还原(DIsql、MANAGER):

物理联机备份还原通过DIsql、MANAGER两个工具都可以实现,两种方法的区别是DIsql是命令行方式,而manager是图形化方式。

1.1 DIsql备份还原

1.1.1 使用DIsql进行联机备份

该方式支持数据库、用户表空间、用户表和归档的备份。在进行库级备份、归档备份和表空间备份时,必须保证系统处于归档模式,否则联机备份不能进行。

1.1.1.1 数据库备份

语法如下:

BACKUP DATABASE [[[FULL] [DDL_CLONE]]| INCREMENT [CUMULATIVE][WITH BACKUPDIR '<基备份搜索目录>'{,'<基备份搜索目录>'}]|[BASE ON BACKUPSET '<基备份目录>']][TO <备份名>][BACKUPSET '<备份集路径>'] 

[DEVICE TYPE <介质类型> [PARMS '<介质参数>']] 

[BACKUPINFO '<备份描述>'] [MAXPIECESIZE <备份片限制大小>] 

[IDENTIFIED BY <密码>|"<密码>" [WITH ENCRYPTION <TYPE>][ENCRYPT WITH <加密算法>]] 

[COMPRESSED [LEVEL <压缩级别>]] [WITHOUT LOG] 

[TRACE FILE '<TRACE文件名>'] [TRACE LEVEL <TRACE日志级别>] 

[TASK THREAD <线程数>][PARALLEL [<并行数>] [READ SIZE <拆分块大小>]];

参数介绍:

FULL:备份类型。FULL表示完全备份,可不指定,默认为完全备份。

DDL_CLONE:数据库克隆。该参数只能用于完全备份中,表示仅拷贝所有的元数据不拷贝数据。如对于数据库中的表来说,只备份表的定义不备份表中数据。表空间和表备份不支持该参数。数据库克隆必须备份日志。

INCREMENT:备份类型。INCREMENT表示增量备份,若要执行增量备份必须指定该参数。

CUMULATIVE:用于增量备份中,指明为累积增量备份类型,若不指定则缺省为差异增量备份类型。

WITH BACKUPDIR:用于增量备份中,指定基备份的搜索目录,最大长度为256个字节。若不指定,自动在默认备份目录和当前备份目录下搜索基备份。如果基备份不在默认的备份目录或当前备份目录下,增量备份必须指定该参数。

BASE ON BACKUPSET:用于增量备份中,指定基备份集路径。

TO:指定生成备份名称。若未指定,系统随机生成,默认备份名格式为:DB_库名_备份类型_备份时间。其中,备份时间为开始备份时的系统时间。

BACKUPSET:指定当前备份集生成路径。若指定为相对路径,则在默认备份路径中生成备份集。若不指定,则在默认备份路径中按约定规则,生成默认备份集目录。库级备份默认备份集目录名生成规则:DB_库名_备份类型_备份时间,如DB_DAMENG_FULL_20180518_143057_123456。表明该备份集为2018年5月18日14时30分57秒123456毫秒时生成的库名为DAMENG的数据库完全备份集。若库名超长使备份集目录完整名称长度大于128个字节将直接报错路径过长。

DEVICE TYPE:指存储备份集的介质类型,支持DISK和TAPE,默认DISK。

PARMS:只对介质类型为TAPE时有效。

BACKUPINFO:备份的描述信息。最大不超过256个字节。

MAXPIECESIZE:最大备份片文件大小上限,以M为单位,最小32M,32位系统最大2G,64位系统最大128G。

IDENTIFIED BY:指定备份时的加密密码。密码可以用双引号括起来,这样可以避免一些特殊字符通不过语法检测。密码的设置规则遵行ini参数pwd_policy指定的口令策略。

WITH ENCRYPTION:指定加密类型,0表示不加密,不对备份文件进行加密处理;1表示简单加密,对备份文件设置口令,但文件内容仍以明文方式存储;2表示完全数据加密,对备份文件进行完全的加密,备份文件以密文方式存储。当不指定WITH ENCRYPTION子句时,采用简单加密。

ENCRYPT WITH:指定加密算法。当不指定ENCRYPT WITH子句时,使用AES256_CFB加密算法。

COMPRESSED:是否对备份数据进行压缩处理。LEVEL表示压缩等级,取值范围0~9:0表示不压缩;1表示1级压缩;9表示9级压缩。压缩级别越高,压缩速度越慢,但压缩比越高。若指定COMPRESSED,但未指定LEVEL,则压缩等级默认1;若未指定COMPRESSED,则默认不进行压缩处理。

WITHOUT LOG:联机数据库备份是否备份日志。如果使用,则表示不备份,否则表示备份。如果使用了WITHOUT LOG参数,则使用DMRMAN工具还原时,必须指定WITH ARCHIVEDIR参数。

TRACE FILE:指定生成的TRACE文件。启用TRACE,但不指定TRACE FILE时,默认在DM数据库系统的log目录下生成DM_SBTTRACE_年月.log文件;若使用相对路径,则生成在执行码同级目录下;若用户指定TRACE FILE,则指定的文件不能为已经存在的文件,否则报错。TRACE FILE不可以为ASM文件。

TRACE LEVEL:是否启用TRACE。有效值1、2,默认为1表示不启用TRACE,此时若指定了TRACE FILE,会生成TRACE文件,但不写入TRACE信息;为2启用TRACE并在TRACE文件中写入TRACE相关内容。

TASK THREAD:备份过程中数据处理过程线程的个数,取值范围0~64,默认为4。若指定为0,则调整为1;若指定超过当前系统主机核数,则调整为主机核数。线程数(TASK THREAD)*并行数(PARALLEL)不得超过512。

PARALLEL:指定并行备份的并行数和拆分块大小。并行数取值范围0~128。若不指定并行数,则默认为4,若指定为0或者1均认为非并行备份。若未指定关键字PARALLEL,则认为非并行备份。并行备份不支持存在介质为TAPE的备份。线程数(TASK THREAD)*并行数(PARALLEL)不得超过512。READ SIZE指定并行备份大数据量的数据文件时的拆分块大小,默认为1GB,最小为512MB,当指定的拆分块大小小于512MB时,系统会自动调整为512MB。若指定并行备份,但未指定拆分块大小,则直接使用默认拆分块大小进行拆分。当数据文件的大小小于拆分块大小时,不执行拆分;当数据文件的大小大于拆分块大小时,执行拆分。并行数不能大于拆分之后的总块数。

举例:

       1.完全备份:下面句子将完全备份执行该语句的数据库并将备份文件存储于'/home/dm_bak/db _full_bak_01'中。

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

       2.增量备份:下面语句将基于'/home/dm_bak'目录下最新的备份文件进行增量备份并存储于'/home/dm_bak/db_increment_bak_02'中。

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

1.1.1.2 表空间备份

语法如下:

BACKUP TABLESPACE <表空间名> [FULL | INCREMENT [CUMULATIVE][WITH BACKUPDIR '<基备份搜索目录>'{,'<基备份搜索目录>'}]| [BASE ON BACKUPSET '<基备份集目录>']][TO <备份名>] [BACKUPSET '<备份集路径>'] 

[DEVICE TYPE <介质类型> [PARMS '<介质参数>']] 

[BACKUPINFO '<备份描述>'] [MAXPIECESIZE <备份片限制大小>] 

[IDENTIFIED BY <密码>|"<密码>" [WITH ENCRYPTION<TYPE>][ENCRYPT WITH <加密算法>]] [COMPRESSED [LEVEL <压缩级别>]] 

[TRACE FILE '<TRACE文件名>'] [TRACE LEVEL <TRACE日志级别>] 

[TASK THREAD <线程数>][PARALLEL [<并行数>][READ SIZE <拆分块大小>] ];

参数介绍:

表空间名:指定备份的表空间名称(除了temp表空间)。

FULL|INCREMENT:备份类型,FULL表示完全备份,INCREMENT表示增量备份。若不指定,默认为完全备份。

CUMULATIVE:用于增量备份中,指明为累积增量备份类型,若不指定则缺省为差异增量备份类型。

WITH BACKUPDIR:用于增量备份中,指定备份目录,最大长度为256个字节。若不指定,自动在默认备份目录和当前备份目录下搜索基备份。如果基备份不在默认的备份目录或当前备份目录下,增量备份必须指定该参数。

BASE ON BACKUPSET:用于增量备份中,指定基备份集路径。

TO:指定生成备份名称。若未指定,系统随机生成,默认备份名格式为:DB_备份类型_表空间名_备份时间。其中,备份时间为开始备份的系统时间。

BACKUPSET:指定当前备份集生成路径。若指定为相对路径,则在默认备份路径中生成备份集。若不指定,则在默认备份路径下以约定规则生成默认的表空间备份集目录。表空间级备份默认备份集目录名生成规则:TS_表空间名_备份类型_时间,如TS_MAIN_INCREMENT_20180518_143057_123456。表明该备份集为2018年5月18日14时30分57秒123456毫秒时生成的表空间名为MAIN的表空间增量备份集。若表空间名称超长使备份集目录完整名称长度大于128个字节将直接报错路径过长。

DEVICE TYPE:指存储备份集的介质类型,支持DISK和TAPE,默认DISK。

PARMS:只对介质类型为TAPE时有效。

BACKUPINFO:备份的描述信息。最大不超过256个字节。

MAXPIECESIZE:最大备份片文件大小上限,以M为单位,最小32M,32位系统最大2G,64位系统最大128G。

IDENTIFIED BY:指定备份时的加密密码。密码可以用双引号括起来,这样可以避免一些特殊字符通不过语法检测。密码的设置规则遵行ini参数pwd_policy指定的口令策略。

WITH ENCRYPTION:指定加密类型,0表示不加密,不对备份文件进行加密处理;1表示简单加密,对备份文件设置口令,但文件内容仍以明文方式存储;2表示完全数据加密,对备份文件进行完全的加密,备份文件以密文方式存储。当不指定WITH ENCRYPTION子句时,采用简单加密。

ENCRYPT WITH:指定加密算法。当不指定ENCRYPT WITH子句时,使用AES256_CFB加密算法。

COMPRESSED:是否对备份数据进行压缩处理。LEVEL表示压缩等级,取值范围0~9:0表示不压缩;1表示1级压缩;9表示9级压缩。压缩级别越高,压缩速度越慢,但压缩比越高。若指定COMPRESSED,但未指定LEVEL,则压缩等级默认1;若未指定COMPRESSED,则默认不进行压缩处理。

TRACE FILE:指定生成的TRACE文件。启用TRACE,但不指定TRACE FILE时,默认在DM数据库系统的log目录下生成DM_SBTTRACE_年月.log文件;若使用相对路径,则生成在执行码同级目录下;若用户指定TRACE FILE,则指定的文件不能为已经存在的文件,否则报错。TRACE FILE不可以为ASM文件。

TRACE LEVEL:是否启用TRACE。有效值1、2,默认为1表示不启用TRACE,此时若指定了TRACE FILE,会生成TRACE文件,但不写入TRACE信息;为2启用TRACE并在TRACE文件中写入TRACE相关内容。

TASK THREAD:备份过程中数据处理过程线程的个数,取值范围0~64,默认为4。若指定为0,则调整为1;若指定超过当前系统主机核数,则调整为主机核数。线程数(TASK THREAD)*并行数(PARALLEL)不得超过512。

PARALLEL:指定并行备份的并行数和拆分块大小。

举例:

       1.完全备份:

SQL>BACKUP TABLESPACE MAIN FULL BACKUPSET '/home/dm_bak/ts_full_bak_01';

       2.增量备份:

SQL>BACKUP TABLESPACE MAIN INCREMENT WITH BACKUPDIR '/home/dm_bak'BACKUPSET
'/home/dm_bak/ts_increment_bak_02';

1.1.1.3 表备份

语法如下:

BACKUP TABLE <表名>  

[TO <备份名>] [BACKUPSET '<备份集路径>'] [DEVICE TYPE <介质类型> [PARMS '<介质参数>']] 

[BACKUPINFO '<备份描述>'] 

[MAXPIECESIZE <备份片限制大小>] 

[IDENTIFIED BY <密码>|"<密码>" [WITH ENCRYPTION <TYPE>][ENCRYPT WITH <加密算法>]] 

[COMPRESSED [LEVEL <压缩级别>]] 

[TRACE FILE '<TRACE文件名>'] [TRACE LEVEL <TRACE日志级别>];

参数介绍:

TABLE:指定备份的表,只能备份用户表。

TO:指定生成备份名称。若未指定,系统随机生成,默认备份名格式为:DB_备份类型_表名_备份时间。其中,备份时间为开始备份的系统时间。

BACKUPSET:指定当前备份集生成路径。若指定为相对路径,则在默认备份路径中生成备份集。若不指定具体备份集路径,则在默认备份路径下以约定规则生成默认的表备份集目录。表备份默认备份集目录名生成规则:TAB_表名_BTREE_时间,如TAB_T1_BTREE_20180518_143057_123456。表明该备份集为2018年5月18日14时30分57秒123456毫秒时生成的表名为T1的表备份集。若表名超长使备份集目录完整名称长度大于128个字节将直接报错路径过长。

DEVICE TYPE:指存储备份集的介质类型,表备份暂时只支持DISK。

PARMS:只对介质类型为TAPE时有效。

BACKUPINFO:备份的描述信息。最大不超过256个字节。

MAXPIECESIZE:最大备份片文件大小上限,以M为单位,最小32M,32位系统最大2G,64位系统最大128G。

IDENTIFIED BY:指定备份时的加密密码。密码可以用双引号括起来,这样可以避免一些特殊字符通不过语法检测。密码的设置规则遵行ini参数pwd_policy指定的口令策略。

WITH ENCRYPTION:指定加密类型,0表示不加密,不对备份文件进行加密处理;1表示简单加密,对备份文件设置口令,但文件内容仍以明文方式存储;2表示完全数据加密,对备份文件进行完全的加密,备份文件以密文方式存储。当不指定WITH ENCRYPTION子句时,采用简单加密。

ENCRYPT WITH:指定加密算法。当不指定ENCRYPT WITH子句时,使用AES256_CFB加密算法。

COMPRESSED:是否对备份数据进行压缩处理。LEVEL表示压缩等级,取值范围0~9:0表示不压缩;1表示1级压缩;9表示9级压缩。压缩级别越高,压缩速度越慢,但压缩比越高。若指定COMPRESSED,但未指定LEVEL,则压缩等级默认1;若未指定COMPRESSED,则默认不进行压缩处理。

TRACE FILE:指定生成的TRACE文件。启用TRACE,但不指定TRACE FILE时,默认在DM数据库系统的log目录下生成DM_SBTTRACE_年月.LOG文件;若使用相对路径,则生成在执行码同级目录下;若用户指定TRACE FILE,则指定的文件不能为已经存在的文件,否则报错。TRACE FILE不可以为ASM文件。

TRACE LEVEL:是否启用TRACE。有效值1、2,默认为1表示不启用TRACE,此时若指定了TRACE FILE,会生成TRACE文件,但不写入TRACE信息;为2启用TRACE并在TRACE文件中写入TRACE相关内容。

举例:

SQL>BACKUP TABLE TAB_01 BACKUPSET '/home/dm_bak/tab_bak_01';

1.1.1.4 归档备份

语法如下:

BACKUP <ARCHIVE LOG |ARCHIVELOG> 

[ALL | [FROM LSN <lsn>]| [UNTIL LSN <lsn>]|[LSN BETWEEN <lsn> AND <lsn>] | [FROM TIME '<time>']|[UNTIL TIME '<time>']|[TIME BETWEEN'<time>'> AND '<time>' ]][<notBackedUpSpec>][DELETE INPUT] [TO <备份名>][<备份集子句>]; 

<备份集子句>::=BACKUPSET ['<备份集路径>'][DEVICE TYPE <介质类型> [PARMS '<介质参数>']] 

[BACKUPINFO '<备份描述>'] 

[MAXPIECESIZE <备份片限制大小>] 

[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>']

参数介绍:

ALL:备份所有的归档。若不指定,则默认为ALL。

FROM LSN:指定备份的起始lsn。

UNTIL LSN:指定备份的截止lsn。

FROM TIME:指定备份的开始的时间点。

UNTIL TIME:指定备份的截止的时间点。

BETWEEN … AND …:指定备份的区间。指定区间后,只会备份指定区间内的归档文件。

\<notBackedUpSpec\>:搜索过滤。搜索过滤仅限于根据备份指定条件能找到的所有归档备份集。1)num TIMES,num取值范围为0~2147483647,指若归档文件已经备份了num次,则不再备份;否则备份。如num=3,则认为已经备份了3次的归档文件就不再备份。若num=0,则认为所有归档文件都不需要备份。2)SINCE TIME ‘datetime_string’,对指定时间datetime_string开始没有备份的归档文件进行备份。3)若以上两个参数均未指定,则备份所有未备份过的归档日志文件。

DELETE INPUT:用于指定备份完成之后,是否删除归档操作。

TO:指定生成备份名称。若未指定,系统随机生成,默认备份名格式为:ARCH_备份时间。其中,备份时间为开始备份的系统时间。

BACKUPSET:指定当前备份集生成路径,若指定为相对路径,则在默认备份路径中生成备份集。若不指定具体备份集路径,则在默认备份路径下,以约定归档备份集命名规则生成默认的归档备份集目录。归档备份默认备份集目录名生成规则:ARCH_LOG_时间,如ARCH_LOG_20180518_143057_123456。表明该备份集为2018年5月18日14时30分57秒123456毫秒时生成的归档备份集。

DEVICE TYPE:指存储备份集的介质类型,支持DISK和TAPE,默认DISK。

PARMS:只对介质类型为TAPE时有效。

BACKUPINFO:备份的描述信息。最大不超过256个字节。

MAXPIECESIZE:最大备份片文件大小上限,以M为单位,最小32M,32位系统最大2G,64位系统最大128G。

IDENTIFIED BY:指定备份时的加密密码。密码可以使用双引号括起来,这样可以避免一些特殊字符通不过语法检测。密码的设置规则遵行ini参数pwd_policy指定的口令策略。

WITH ENCRYPTION:指定加密类型,0表示不加密,不对备份文件进行加密处理;1表示简单加密,对备份文件设置口令,但文件内容仍以明文方式存储;2表示完全数据加密,对备份文件进行完全的加密,备份文件以密文方式存储。当不指定WITH ENCRYPTION子句时,采用简单加密。

ENCRYPT WITH:指定加密算法。当不指定ENCRYPT WITH子句时,使用AES256_CFB加密算法。

COMPRESSED:是否对备份数据进行压缩处理。LEVEL表示压缩等级,取值范围0~9:0表示不压缩;1表示1级压缩;9表示9级压缩。压缩级别越高,压缩速度越慢,但压缩比越高。若指定COMPRESSED,但未指定LEVEL,则压缩等级默认1;若未指定COMPRESSED,则默认不进行压缩处理。

WITHOUT LOG:只是语法支持,不起任何作用。

TRACE FILE:指定生成的TRACE文件。启用TRACE,但不指定TRACE FILE时,默认在DM数据库系统的log目录下生成DM_SBTTRACE_年月.LOG文件;若使用相对路径,则生成在执行码同级目录下;若用户指定TRACE FILE,则指定的文件不能为已经存在的文件,否则报错。TRACE FILE不可以为ASM文件。

TRACE LEVEL:是否启用TRACE。有效值1、2,默认为1表示不启用TRACE,此时若指定了TRACE FILE,会生成TRACE文件,但不写入TRACE信息;为2启用TRACE并在TRACE文件中写入TRACE相关内容。

TASK THREAD:备份过程中数据处理过程线程的个数,取值范围0~64,默认为4。若指定为0,则调整为1;若指定超过当前系统主机核数,则调整为当前主机核数。线程数(TASK THREAD)*并行数(PARALLEL)不得超过512。

PARALLEL:指定并行备份的并行数和拆分块大小。

举例:

SQL>BACKUP ARCHIVELOG LSN BETWEEN 50414 AND 50478 BACKUPSET '/home/dm_bak/arch_bak_time_14-78';

1.1.2 使用DIsql进行联机还原

使用DIsql进行联机还原,只能还原表级备份,关于库级、表空间级、归档备份只能通过脱机方式进行还原,及通过DMRMAN或者CONSOLE这两个工具。

语法如下:

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,则将当前系统最大事务ID+1000。调整后副作用:rec_id >= next_trxid的记录,或者rec_id <= bak_max_trxid + 1000的记录,可能因为执行了表还原,导致查询结果不正确,原本不可见的数据,变得可见了。

BACKUPSET:表备份时指定的备份集路径。若指定为相对路径,会在默认备份目录下搜索备份集。

DEVICE TYPE:指存储备份集的介质类型,表还原暂时只支持DISK。

PARMS:只对介质类型为TAPE时有效。

IDENTIFIED BY:加密备份表时,用户设置的加密密码。密码可以用双引号括起来,这样可以避免一些特殊字符通不过语法检测。

ENCRYPT WITH:加密备份表时,用户设置的加密算法。当不指定ENCRYPT WITH子句时,默认为AES256_CFB加密算法。

TRACE FILE:指定生成的TRACE文件。启用TRACE,但不指定TRACE FILE时,默认在DM数据库系统的log目录下生成DM_SBTTRACE_年月.log文件;若使用相对路径,则生成在执行码同级目录下;若用户指定TRACE FILE,则指定的文件不能为已经存在的文件,否则报错。TRACE FILE不可以为ASM文件。

TRACE LEVEL:是否启用TRACE。有效值1、2,默认为1表示不启用TRACE,此时若指定了TRACE FILE,会生成TRACE文件,但不写入TRACE信息;为2启用TRACE并在TRACE文件中写入TRACE相关内容。

举例:

SQL>RESTORE TABLE TAB_FOR_RES FROM BACKUPSET '/home/dm_bak/tab_bak_for_res_01';

1.2 MANAGER备份还原

使用manager工具进行备份还原的原理DIsql的原理相同,但是manager可通过图形化操作,省去对语法中各类参数的应用学习。

如下图所示,这是MANAGER工具的使用界面:

在对象导航树中的备份节点提供了联机备份还原相关的各项操作。导航树备份节点下面包含四个子节点:库备份、表备份、表空间备份和归档备份。各备份节点的右键菜单中提供了所有可操作的选项,包括新建备份、指定工作目录、备份还原、备份校验、属性等。

备份文件夹节点右键菜单如下:

备份集节点右键菜单如下:

1.2.1 使用manager进行联机备份

数据备份包括库备份、表备份、表空间备份和归档备份,分别对应导航树备份节点中库备份、表备份、表空间备份和归档备份这四个子节点。点开各子节点,显示当前已经存在的相应备份集名称。四种备份的备份流程基本一致,只是具体可配置的参数有些不同,下面以库备份为例进行介绍。

库备份文件夹节点右键菜单->新建备份,可以打开新建库备份对话框,首页显示的是常规选项页面,如下图所示:

常规选项页面可配置库备份常规参数信息,具体如下:

备份名: 备份的名称。

备份集目录: 备份集的路径,默认为系统默认备份路径加备份名。系统默认的备份路径为dm.ini中BAK_PATH配置的路径,若未配置,则使用SYSTEM_PATH下的bak目录。

备份片大小: 备份片的最大大小,如果备份文件超过该大小,则系统自动将备份文件分为多个文件。以M为单位。不限制时,系统默认备份文件的最大大小为2048M。限制时,最小128M,32位系统最大2G,64位系统最大128G。

备份描述: 对备份文件的描述,用户可以根据需要填写。

备份类型:

  • 完全备份:对数据库的完全备份,不依赖于其他备份,可以独立地进行数据库还原和恢复。数据库克隆选项,表示进行数据库备份时,仅备份所有的元数据不备份数据。如对于数据库中的表来说,只备份表的定义不备份表中数据。

  • 增量备份:在完全备份或增量备份的基础上进行的备份。进行增量备份时,允许用户自己指定基备份来进行备份,默认使用最近一次备份作为基备份,在该数据库不存在任何备份时,备份类型不能为增量备份。累积增量备份选项的基备份类型只能是完全备份,缺省为差异增量备份。

库备份和表空间备份都可指定备份类型为增量备份,如果选择增量备份,可以为增量备份配置以下参数:

基备份集目录:指定基备份集路径,默认系统会在指定的基备份扫描路径下查找最近一次备份作为基备份。

基备份扫描路径:指定基备份的扫描路径,可以同时指定多个,增量备份时必须保证依赖的所有基备份都可以在指定的基备份扫描路径中找到。

高级选项页面中可以配置一些其他的高级选项,如下图所示:

高级选项页面可配置库备份高级参数信息,具体如下:

备份压缩:可以选择压缩或不压缩,通过压缩可以减少备份文件所需要的磁盘空间。默认为不压缩。

压缩级别:压缩的级别。可以设置压缩级别0~9:0表示不压缩;1表示1级压缩;9表示9级压缩。压缩级别越高,压缩速度越慢,但压缩比越高。

备份日志:是否需要备份归档日志中的内容。默认备份日志。

加密类型:加密的类型,默认为不加密。具体加密类型如下:

  • 不加密:不对备份文件进行加密处理。

  • 简单口令加密:对备份文件设置口令,但文件内容仍以明文方式存储。

  • 完全数据加密:对备份文件进行完全的加密,备份文件以密文方式存储。

加密密码:当选择简单口令加密或完全数据加密时,需要输入加密密码。

确认密码:当选择简单口令加密或完全数据加密时,需要确认输入的加密密码。

加密算法:加密时使用的算法。在选择简单口令加密和完全数据加密的情况下适用。若未指定,则使用默认算法AES256_CFB。

介质类型:指定存储备份集的设备类型,目前暂支持磁盘和磁带,默认选择磁盘。

介质参数:使用第三方介质类型(磁带类型)时使用的参数。

跟踪日志:备份过程的跟踪日志路径。系统有默认路径,当日志级别为记录跟踪日志时启用。

日志级别:是否记录跟踪日志。默认不记录。

线程数:备份过程中数据处理过程线程的个数,取值范围0~64,默认为4。若指定为0,则调整为1;若指定超过当前系统主机核数,则调整为当前系统主机核数。线程数*并行数不得超过512。

并行数:指定是否执行并行备份,以及执行并行备份的并行数。并行数没有上限,但实际可使用的最大并行数就是目标备份数据文件的个数。若勾选但没有指定并行数,则默认并行数为4。若未勾选,则认为非并行备份。

拆分块大小:用户指定对于大数据量数据文件并行备份时拆分块的大小,默认为1GB,最小为512MB,当指定的拆分块大小小于512MB时,系统自动调整为512MB。若指定并行备份,但未指定拆分块大小,则直接使用默认拆分块大小进行拆分。当数据文件的大小小于拆分块大小时,不执行拆分;当数据文件的大小大于拆分块大小时,执行拆分。并行数不能大于拆分之后的总块数。

DDL页面可以查看新建库备份的SQL语句,右下角的保存按钮也可以保存SQL脚本到文件中,如下图所示:

1.2.2 使用manager进行联机还原

和使用DIsql进行联机还原一样,只有表备份支持manager联机还原。表还原过程中表空间中其他的表还可以正常操作。

点击表备份集节点右键菜单->备份还原,可以打开表备份还原对话框,首页显示的是常规选项页面,如下图所示:

常规选项页面可配置表还原常规参数信息,具体如下:

模式名:模式的名称。

表名:表的名称。

备份名:备份的名称,无需填写,系统自动获取。

备份集目录:备份集路径,无需填写,系统自动获取。

索引:指定还原数据后是否重建二级索引。默认重建。

约束:指定还原数据后是否重建约束。默认重建。

表结构:指定是否执行表结构还原。若未勾选表结构,则必须勾选表数据。

表数据:指定是否执行表中数据还原,表数据还原要求还原目标表结构与备份集中表结构完全一致,否则报错,所以在表数据还原时,建议勾选表结构还原执行,减少报错。若未勾选表数据,则必须勾选表结构。表结构和表数据二者,至少要选一个。

表还原高级选项页面如下:

高级选项页面可配置表还原高级参数信息,具体如下:

介质类型:指定存储备份集的设备类型,目前暂支持磁盘和磁带,默认选择磁盘。

介质参数:使用第三方介质类型(磁带类型)时使用的参数。

加密算法:备份时使用的加密算法。

加密密码:备份时使用的加密密码。

日志级别:是否记录跟踪日志。默认不记录。

跟踪日志:还原过程的跟踪日志路径。系统有默认路径,当日志级别为记录跟踪日志时启用。

2 物理脱机备份还原(DMRMAN、CONSOLE):

物理脱机备份还原与联机备份还原不同的是,无需开启归档模式,且还原不再局限于表级还原。DM数据库为物理脱机备份还原提供了两类工具,分别是DMRMAN和CONSOLE,两者的区别是DMRMAN是命令行工具,需要配套学习相应语法才可以使用,而CONSOLE是图形化工具,只要掌握相应流程即可操作。 

2.1 DMRMAN备份还原

DMRMAN是DM提供的命令行工具,无需额外安装。其安装目录在DM数据库的bin目录下,若未配置环境变量DM_HOME,需到该工具的执行码目录下,执行如下代码才能启动:

./dmrman

 启动后控制台中输入exit命令即可退出DMRMAN环境:

RMAN>exit

2.1.1 使用DMRMAN进行脱机备份

语法如下:

BACKUP DATABASE '<INI文件路径>' [[[FULL][DDL_CLONE]] |INCREMENT [CUMULATIVE][WITH BACKUPDIR '<基备份搜索目录>'{,'<基备份搜索目录>'}]|[BASE ON BACKUPSET '<基备份集目录>']] 

[TO <备份名>] [BACKUPSET '<备份集路径>'][DEVICE TYPE <介质类型>[PARMS '<介质参数>'] [BACKUPINFO '<备份描述>'] [MAXPIECESIZE <备份片限制大小>] 

[IDENTIFIED BY <密码>|”<密码>” [WITH ENCRYPTION<TYPE>][ENCRYPT WITH <加密算法>]] 

[COMPRESSED [LEVEL <压缩级别>]][WITHOUT LOG] 

[TASK THREAD <线程数>][PARALLEL [<并行数>][READ SIZE <拆分块大小>]];

 参数介绍:

DATABASE:必选参数。指定备份源库的INI文件路径。

FULL:备份类型。FULL表示完全备份,可不指定,DMRMAN会默认为完全备份。

DDL_CLONE:数据库克隆。该参数只能用于完全备份中,表示仅拷贝所有的元数据不拷贝数据。如对于数据库中的表来说,只备份表的定义不备份表中数据。

INCREMENT:备份类型。INCREMENT表示增量备份,若要执行增量备份必须指定该参数。

CUMULATIVE:用于增量备份中,指明为累积增量备份类型,若不指定则缺省为差异增量备份类型。

WITH BACKUPDIR:用于增量备份中,指定基备份的搜索目录,最大长度为256个字节。若不指定,自动在默认备份目录和当前备份目录下搜索基备份。如果基备份不在默认的备份目录或当前备份目录下,增量备份必须指定该参数。

BASE ON BACKUPSET:用于增量备份中,为增量备份指定基备份集路径。如果没有指定基备份集,则会自动搜索一个最近可用的备份集作为基备份集。

TO:指定生成备份名称。若未指定,系统随机生成,默认备份名格式为:DB_库名_备份类型_备份时间。其中,备份时间为开始备份时的系统时间。

BACKUPSET:指定当前备份集生成路径。若指定为相对路径,则在默认备份路径中生成备份集。若不指定,则在默认备份路径中按约定规则,生成默认备份集目录。库级备份默认备份集目录名生成规则:DB_库名_备份类型_备份时间,如DB_DAMENG_FULL_20180518_143057_123456。表明该备份集为2018年5月18日14时30分57秒123456毫秒时生成的库名为DAMENG的数据库完全备份集。若库名超长使备份集目录完整名称长度大于128个字节将直接报错路径过长。

DEVICE TYPE:指存储备份集的介质类型,支持DISK和TAPE,默认DISK。

PARMS:只对介质类型为TAPE时有效。

BACKUPINFO:备份的描述信息。最大不超过256个字节。

MAXPIECESIZE:最大备份片文件大小上限,以M为单位,最小32M,32位系统最大2G,64位系统最大128G。

IDENTIFIED BY:指定备份时的加密密码。密码长度为9到48个字节。密码可以用双引号括起来,这样可以避免一些特殊字符通不过语法检测。密码的设置规则遵行ini参数pwd_policy指定的口令策略。

WITH ENCRYPTION:指定加密类型,0表示不加密,不对备份文件进行加密处理;1表示简单加密,对备份文件设置口令,但文件内容仍以明文方式存储;2表示完全数据加密,对备份文件进行完全的加密,备份文件以密文方式存储。当不指定WITH ENCRYPTION子句时,采用简单加密。

ENCRYPT WITH:指定加密算法。缺省情况下,算法为AES256_CFB。

COMPRESSED:是否对备份数据进行压缩处理。LEVEL表示压缩等级,取值范围0~9:0表示不压缩;1表示1级压缩;9表示9级压缩。压缩级别越高,压缩速度越慢,但压缩比越高。若指定COMPRESSED,但未指定LEVEL,则压缩等级默认1;若未指定COMPRESSED,则默认不进行压缩处理。

WITHOUT LOG:脱机数据库备份是否备份日志。如果使用,则表示不备份,否则表示备份。如果使用了WITHOUT LOG参数,则使用DMRMAN工具还原时,必须指定WITH ARCHIVEDIR参数。

TASK THREAD:备份过程中数据处理过程线程的个数,取值范围0~64,默认为4。若指定为0,则调整为1;若指定大于当前系统主机核数,则调整为当前主机核数。线程数(TASK THREAD)*并行数(PARALLEL)不得超过512。

PARALLEL:指定并行备份的并行数和拆分块大小。

举例:

       1.完全备份:

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

       2.增量备份:

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

2.1.1 使用DMRMAN进行脱机还原恢复

2.1.1.1 数据库还原和恢复

还原:

语法如下:

RESTORE DATABASE <restore_type> FROM BACKUPSET '<备份集路径>' 

[<device_type_stmt>] 

[IDENTIFIED BY <密码>|"<密码>" [ENCRYPT WITH <加密算法>]] 

[WITH BACKUPDIR '<基备份搜索目录>'{,'<基备份搜索目录>'}] 

[MAPPED FILE '<映射文件路径>'][TASK THREAD <任务线程数>] 

[RENAME TO '<数据库名>']; 

<restore_type>::=<type1>|<type2> 

<type1>::='<ini_path>' [WITH CHECK] [REUSE DMINI][OVERWRITE] [FORCE] 

<type2>::= TO '<system_dbf_dir>' [WITH CHECK] [OVERWRITE] 

<device_type_stmt>::= DEVICE TYPE <介质类型> [PARMS '<介质参数>']

参数介绍:

DATABASE:指定还原目标库的dm.ini文件路径或system.dbf文件路径。

BACKUPSET:指定用于还原目标数据库的备份集路径。若指定为相对路径,会在默认备份目录下搜索备份集。

DEVICE TYPE:指存储备份集的介质类型,包括DISK和TAPE,默认为DISK。

PARMS:介质参数,只对介质类型为TAPE时有效。

IDENTIFIED BY:指定备份时使用的加密密码,供还原过程解密使用。密码可以用双引号括起来,这样可以避免一些特殊字符通不过语法检测。

ENCRYPT WITH:指定备份时使用的加密算法,供还原过程解密使用,若未指定,则使用默认算法AES256_CFB。

WITH BACKUPDIR:用于增量备份的还原中,指定基备份的搜索目录,最大长度为256个字节。若不指定,自动在默认备份目录和当前备份目录下搜索基备份。如果基备份不在默认的备份目录或当前备份目录下,增量备份的还原必须指定该参数。

MAPPED FILE:指定存放还原目标路径的映射文件路径。当参数BACKUPSET指定的路径和MAPPED FILE中指定的路径不一致时,以MAPPED FILE中指定的路径为主。

TASK THREAD:指定还原过程中用于处理解压缩和解密任务的线程个数。若未指定,则默认为4;若指定为0,则调整为1;若指定超过当前系统主机核数,则调整为主机核数。

RENAME TO:指定还原数据库后是否更改库的名字,若指定该参数则将还原后的库改为指定的数据库名,默认使用备份集中的db_name作为还原后库的名称。

WITH CHECK:指定还原前校验备份集数据完整性。缺省不校验。

OVERWRITE: 还原数据库时,存在重名的数据文件时,是否覆盖重建,不指定则默认报错。

<restore_type>:

  • <type1>
  1. 指定dm.ini还原,要求dm.ini中CTL_PATH必须配置正确,且内容有效;若配置CTL_PATH文件故障,且想利用dm.ini优化配置,则可选择type2还原后,用指定dm.ini覆盖还原后dm.ini,并修改CTL_PATH为当前控制文件路径即可;

  2. 除dm.ini文件外,其他文件均可不存在;但dm.ini参数配置必须正确,且配置的dm.ctl文件必须是有效的控制文件;

  3. 数据库配置文件中除已经存在的dm.ini外,先删除控制文件中的数据文件,然后根据overwrite选项,若指定overwrite,其他文件(这些文件不在控制文件中,所以未删除)均采用删除重建的处理,避免存在非法的文件,否则如果这些文件已经存在,则报错;

  4. 若指定REUSE DMINI,则会将备份集中备份的dm.ini中除路径相关的INI参数外,均拷贝到当前dm.ini上;

  5. 若dm.ini记录的目标环境是DMTDD前端库,且目标环境不满足备份集的副本数和区块策略条件,则可以指定FORCE选项来强制还原。

强制重建数据文件的策略为:对非DMTDD的备份集,优先使用dmdfs.ini配置的副本数重建文件,且系统表空间默认使用微区,用户定义表空间默认使用宏区。若目标环境的可用副本数不足,(也可能为0,即没有配置宏区或微区,此时需要调整区块策略),则按可用副本数重建文件。

  • <type2>说明:
  1. 所有文件均可不在,system.dbf所在路径需为有效路径,若不存在,restore过程中会自动创建;

  2. 所有前面提到的数据库配置文件均会在指定的system.dbf所在路径还原,但非单机环境中相关其他文件均不修改或者重建,如MPP中dmmpp.ini、dmmal.ini等;

  3. 若未指定OVERWRITE,且system.dbf所在路径中存在待还原的库配置文件,则报错;若指定,则将已经存在的文件删除重建;

  4. 由于DSC环境中dm.ini可能存在多个,且可能不在一个主库上,或者即使在一个主库上也可能不在system.dbf所在路径中,故暂时不支持DSC环境的指定目录还原。

  • 联机日志

上述<type1>和<type2>中的还原后的联机日志文件至少会有两个,因为源库中的日志文件可能大于等于两个,如果小于两个(被误删的情况)的则补齐为两个。若已经存在联机日志配置,则使用原路径,若文件大小非法,则使用缺省大小256M重建;若不存在联机日志配置,则使用缺省命名规则和缺省大小256M重建。

联机日志文件的命名规则:

  1. 单机:db_name+(file_id+1).log,其中fil_id + 1,占2个位置,如:db_name=DAMENG,则相应的名称为DAMENG01.log,DAMENG02.log;

  2. DSC:dsc+(ep_no + 1)_+(file_id+1).log,其中ep_no + 1和file_id+1均占2个位置,如0号节点日志名称为dsc01_01.log,dsc01_02.log。

恢复:

语法如下:

RECOVER DATABASE '<ini_path>'[FORCE] WITH ARCHIVEDIR '<归档日志目录>'{,'<归档日志目录>'} [USE DB_MAGIC <db_magic>] [UNTIL TIME '<时间串>'] [UNTIL LSN <LSN>]; | 

RECOVER DATABASE '<ini_path>' [FORCE] FROM BACKUPSET '<备份集路径>' [<device_type_stmt>] [IDENTIFIED BY <密码>|"<密码>" [ENCRYPT WITH <加密算法>]]; 

<device_type_stmt>::= DEVICE TYPE <介质类型> [PARMS '<介质参数>']

 参数介绍:

DATABASE:指定还原库目标的dm.ini文件路径。

FORCE:若恢复到DMTDD前端库,且恢复的REDO日志中包含创建表空间的记录,则可以指定该选项来强制创建表空间而忽略REDO日志中对该表空间的副本数和区块策略的严格限制。

WITH ARCHIVEDIR:本地归档日志搜索目录。

USE DB_MAGIC:指定本地归档日志对应数据库的DB_MAGIC,若不指定,则默认使用目标数据库的DB_MAGIC。

UNTIL TIME:恢复数据库到指定的时间点。如果指定的结束时间早于备份结束时间,忽略UNTIL TIME参数,重做所有小于备份结束LSN(END_LSN)的REDO日志,将系统恢复到备份结束时间点的状态,此时并不能精确恢复到END_LSN,只能保证重演到END_LSN之后的第一个时间戳日志,该日志对应的LSN值略大于END_LSN。

UNTIL LSN:恢复数据库到指定的LSN。如果指定的UNTIL LSN小于备份结束LSN(END_LSN),则报错。

BACKUPSET:指定用于恢复目标数据库的备份集目录。

DEVICE TYPE:指存储备份集的介质类型,包括DISK和TAPE,默认为DISK。

PARMS:介质参数,只对介质类型为TAPE时有效。

IDENTIFIED BY:指定备份时使用的加密密码,供恢复过程解密使用。密码可以用双引号括起来,这样可以避免一些特殊字符通不过语法检测。

ENCRYPT WITH:指定备份时使用的加密算法,供恢复过程解密使用,若未指定,则使用默认算法AES256_CFB。

举例:

还原数据库:

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

恢复数据库:

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

2.1.1.2 表空间的还原和恢复

还原:

语法如下:

RESTORE DATABASE '<ini_path>' TABLESPACE <表空间名> [with check] 

[DATAFILE <文件编号> {,<文件编号>} | '<文件路径>' {,'<文件路径>'}] 

FROM BACKUPSET '<备份集路径>' [<device_type_stmt>] 

[IDENTIFIED BY <密码>|"<密码>"] [ENCRYPT WITH <加密算法>] 

[WITH BACKUPDIR '<基备份搜索目录>' {,'<基备份搜索目录>'}] 

[MAPPED FILE '<映射文件路径>'] 

[TASK THREAD <线程数>];

<device_type_stmt>::= DEVICE TYPE <介质类型> [PARMS '<介质参数>']

参数介绍:

DATABASE:指定还原目标库的dm.ini文件路径。

TABLESPACE:指定还原的表空间,TEMP表空间除外。

WITH CHECK:指定还原前校验备份集数据完整性。缺省不校验。

DATAFILE:还原指定的数据文件。可以指定数据文件编号或数据文件路径。文件编号,对应动态视图V$DATAFILE中ID列的值;文件路径,对应动态视图V$DATAFILE中PATH或者MIRROR_PATH列的值,也可以仅指定数据文件名称(相对路径),与表空间中数据文件匹配时,会使用SYSTEM目录补齐。

BACKUPSET:指定还原备份集的路径。若指定为相对路径,会在默认备份目录下搜索备份集。

DEVICE TYPE:指存储备份集的介质类型,支持DISK和TAPE,默认DISK。

PARMS:介质参数,只对介质类型为TAPE时有效。

IDENTIFIED BY:加密备份表空间时,用户设置的密码。密码长度为9到48个字节。

ENCRYPT WITH:加密算法。缺省情况下,算法为AES256_CFB。

WITH BACKUPDIR:用于增量备份的还原中,指定基备份的搜索目录,最大长度为256个字节。若不指定,自动在默认备份目录和当前备份目录下搜索基备份。如果基备份不在默认的备份目录或当前备份目录下,增量备份的还原必须指定该参数。

MAPPED FILE :指定存放还原目标路径的文件

TASK THREAD:还原过程中数据处理过程线程的个数,取值范围0~64,默认为4。若指定为0,则调整为1;若指定超过当前系统主机核数,则调整为当前系统主机核数。

恢复:

语法如下:

RECOVER DATABASE '<ini_path>' TABLESPACE <表空间名> [WITH ARCHIVEDIR '归档日志目录'{,'归档日志目录'}][USE DB_MAGIC <db_magic>]; 

参数介绍:

DATABASE:指定还原目标库的dm.ini文件路径。

TABLESPACE:指定还原的表空间,TEMP表空间除外。

WITH ARCHIVEDIR: 归档日志搜索目录。缺省情况下在dmarch.ini中指定的归档目录中搜索。如果归档日志不在配置文件dmarch.ini中指定的目录下,或者归档日志分散在多个目录下,需要使用该参数指定归档日志搜索目录。

USE DB_MAGIC:指定本地归档日志对应数据库的DB_MAGIC,若不指定,则默认使用目标恢复数据库的DB_MAGIC。

举例:

还原:

RMAN>RESTORE DATABASE '/opt/dmdbms/data/DAMENG_FOR_RECOVER/dm.ini' TABLESPACE MAIN FROM BACKUPSET '/home/dm_bak/ts_full_bak_for_recover';

恢复:

RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RECOVER/dm.ini' TABLESPACE MAIN;

2.1.1.3 归档还原

语法如下:

RESTORE <ARCHIVE LOG | ARCHIVELOG> [WITH CHECK] FROM BACKUPSET '<备份集路径>'

[<device_type_stmt>] 

[IDENTIFIED BY <密码>|"<密码>" [ENCRYPT WITH <加密算法>]] 

[TASK THREAD <任务线程数>] [NOT PARALLEL] 

[ALL | [FROM LSN <lsn>] | [UNTIL LSN <lsn>] | [LSN BETWEEN <lsn> AND <lsn>] | [FROM TIME '<time>'] | [UNTIL TIME '<time>'] | [TIME BETWEEN '<time>' AND '<time>'] ] 

TO <还原目录> [OVERWRITE <level>]; 

<device_type_stmt>::= DEVICE TYPE <介质类型> [PARMS '<介质参数>']

<还原目录>::= ARCHIVEDIR '<归档日志目录>' | DATABASE '<ini_path>' 

 参数介绍:

WITH CHECK:指定还原前校验备份集数据完整性。缺省不校验。

BACKUPSET:指定用于还原目标数据库的备份集路径。若指定为相对路径,会在默认备份目录下搜索备份集。

DEVICE TYPE:指存储备份集的介质类型,支持DISK和TAPE,默认为DISK。

PARMS:介质参数,只对介质类型为TAPE时有效,详见。

IDENTIFIED BY:指定备份时使用的加密密码,供还原过程解密使用。密码可以用双引号括起来,这样可以避免一些特殊字符通不过语法检测。

ENCRYPT WITH:指定备份时使用的加密算法,供还原过程解密使用,若未指定,则使用默认算法AES256_CFB。

TASK THREAD:指定还原过程中用于处理解压缩和解密任务的线程个数。若未指定,则默认为4;若指定为0,则调整为1;若指定超过当前系统主机核数,则调整为当前核数。

NOT PARALLEL:指定并行备份集使用非并行方式还原。对于非并行备份集,不论是否指定该关键字,均采用非并行还原。

ALL:还原所有的归档。若不指定,则默认为ALL。

FROM LSN,FROM TIME:指定还原的起始LSN或者开始的时间点。真正的起始点为该LSN或该时间点所在的整个归档日志文件作为起始点。例如,指定FROM 10001,而归档日志文件X的LSN为9000-12000,那么就会将该归档日志文件X作为起始归档日志文件。

UNTIL LSN,UNTIL TIME:指定还原的截止LSN或者截止的时间点。真正的截止点为该LSN或该时间点所在的整个归档日志文件作为截止归档日志文件。

BETWEEN … AND …:指定还原的区间。还原该区间内的所有归档日志文件。例如,指定还原区间为BETWEEN 100 AND 200,归档日志文件1的LSN范围为1-150,归档日志文件2的LSN范围为150-180,归档日志文件3的LSN范围为180-600,那么归档日志文件1、2和3都会被还原。

ARCHIVEDIR: 指定还原的目标归档日志目录。

DATABASE: 指定还原目标库的dm.ini文件路径,将归档日志还原到该库的归档日志目录中。

OVERWRITE:还原归档时,指定归档日志已经存在时的处理方式。可取值1、2、3。1:跳过已存在的归档日志,继续其他日志的还原。跳过的日志信息会生成一条日志记录在安装目录的log目录中的dm_BAKRES_年月.log日志文件中。2:直接报错返回。3:强制覆盖已存在的归档日志。缺省为1。

举例:

指定还原的目标归档日志目录:

RMAN>RESTORE ARCHIVE LOG FROM BACKUPSET '/home/dm_bak/arch_all_for_restore' TO ARCHIVEDIR'/opt/dmdbms/data/DAMENG_FOR_RESTORE/arch_dest' OVERWRITE 2;

指定还原目标库的dm.ini文件路径:

RMAN>RESTORE ARCHIVE LOG FROM BACKUPSET '/home/dm_bak/arch_all_for_restore' TO DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' OVERWRITE 2;

2.2 CONSOLE备份还原

CONSOLE控制台主界面如下图所示:

2.2.1 使用CONSOLE进行脱机备份

CONSOLE工具的控制导航树中提供备份还原节点,单击备份还原节点可以打开备份还原管理界面。在备份还原管理界面中,点击新建备份按钮,打开新建备份对话框,首页显示的是常规选项页面,如下图所示:

常规选项页面可配置脱机库备份常规参数信息,具体如下:

INI文件路径:必填,待备份目标数据库dm.ini文件路径。

备份集名:选填,指定生成备份集名称,若未指定,则使用缺省命名规则命名备份集。

备份集目录:选填,指定当前备份集生成路径,若未指定,则在默认备份目录中生成备份集。

备份片限制大小:备份片的最大大小,如果备份文件超过该大小,则系统自动将备份文件分为多个文件。以M为单位。不限制时,系统默认备份文件的最大大小为2048M。限制时,最小128M,32位系统最大2G,64位系统最大128G。

备份类型:

  • 完全备份:对数据库的完全备份,不依赖于其他备份,可以独立地进行数据库还原和恢复。数据库克隆选项,表示进行数据库备份时,仅备份所有的元数据不备份数据。如对于数据库中的表来说,只备份表的定义不备份表中数据。
  • 增量备份:在完全备份或增量备份的基础上进行的备份。进行增量备份时,允许用户自己指定基备份来进行备份,默认使用最近一次备份作为基备份,在该数据库不存在任何备份时,备份类型不能为增量备份。累积增量备份选项的基备份类型只能是完全备份,缺省为差异增量备份。

基备份集搜索目录:选填,仅适用于增量备份,指定基备份集的搜索目录,可以同时指定多个,增量备份时必须保证依赖的所有基备份集都可以在指定的基备份集搜索目录中找到。

基备份集目录:选填,仅适用于增量备份,指定基备份集路径,默认系统会在指定的基备份集搜索目录下查找最近一次备份作为基备份。

备份描述:选填,根据实际情况对备份集进行描述。

根据实际需要配置完上述参数后,点击确定按钮就开始执行脱机备份操作了。备份操作可能需要花费一些时间,备份结束后,如果备份成功则弹出备份成功的对话框;如果备份失败,则弹出对话框提示失败原因。

脱机归档备份的常规选项页面如下:

常规选项页面可配置脱机归档备份常规参数信息,具体如下:

INI文件路径、备份集名、备份集目录以及备份片限制大小的参数介绍请参考上文脱机库备份的常规参数信息。

备份类型:

  • 备份所有归档。缺省情况下,为此项。
  • 备份指定的LSN
  • 备份指定的时间点

备份归档过滤,满足的条件:

  • 所有已经备份过得归档文件。缺省情况下,为此项。
  • 归档文件已经备份的次数
  • 指定之间之后已经备份的归档文件

备份完删除归档:可选项。归档备份完毕,是否删除归档文件。

备份描述:选填,根据实际情况对备份集进行描述。

脱机备份高级选项页面如下:

高级选项页面可配置脱机备份高级参数信息,具体如下:

备份压缩:默认不压缩。选择压缩等级,则可以设置压缩级别1~9:1表示1级压缩;9表示9级压缩。压缩级别越高,压缩速度越慢,但压缩比越高。

备份日志:选择是否备份日志,默认备份日志。

加密类型:加密的类型,默认为不加密。具体加密类型如下:

  • 不加密:不对备份文件进行加密处理。
  • 简单口令加密:对备份文件设置口令,但文件内容仍以明文方式存储。
  • 完全数据加密:对备份文件进行完全的加密,备份文件以密文方式存储。

加密密码:当选择简单口令加密或完全数据加密时,需要输入加密密码。

确认密码:当选择简单口令加密或完全数据加密时,需要确认输入的加密密码。

加密算法:加密时使用的算法。在选择简单口令加密和完全数据加密的情况下适用。若未指定,则使用默认算法AES256_CFB。支持使用第三方加密算法。CONSOLE工具第三方加密算法的使用方法是:1.把自定义的加密算法生成DLL动态库;2.把动态库放入external_crypto_libs文件夹;3.把文件夹放入CONSOLE工具所在的DM安装目录的tool目录下。

介质类型:指定存储备份集的设备类型,目前暂支持磁盘和磁带,默认选择磁盘。

介质参数:使用第三方介质类型(磁带类型)时使用的参数。

任务线程数:备份过程中数据处理过程线程的个数,取值范围0~64,默认为4。若指定为0,则调整为1;若指定超过当前系统主机核数,则调整为当前系统主机核数。线程数*并行数不得超过512。

并行备份:指定是否执行并行备份,以及执行并行备份的并行数和拆分块大小。

  • 并行数:并行数没有上限,但实际可使用的最大并行数就是目标备份数据文件的个数。默认值为4。
  • 拆分块大小:用户指定对于大数据量数据文件并行备份时拆分块的大小,默认为1GB,最小为512MB,当指定的拆分块大小小于512MB时,系统自动调整为512MB。若指定并行备份,但未指定拆分块大小,则直接使用默认拆分块大小进行拆分。当数据文件的大小小于拆分块大小时,不执行拆分;当数据文件的大小大于拆分块大小时,执行拆分。并行数不能大于拆分之后的总块数。

2.2.2 使用CONSOLE进行脱机还原

还原:

在备份还原管理主界面中,点击还原按钮,打开备份还原对话框。还原有三种类型:库还原、归档还原和表空间还原,下面分别介绍。

常规选项页面可配置库还原常规参数信息,具体如下:

备份集目录:指定用于还原目标数据库的备份集路径。若指定为相对路径,会在默认备份目录下搜索备份集。

INI路径:使用指定还原目标库的dm.ini文件路径的方式还原。

库目录:使用指定还原目标库的数据文件所在目录的方式还原。

指定INI路径还原时,可配置以下参数:

  • INI文件路径:指定还原目标库的dm.ini文件路径。
  • 使用备份集dm.ini的参数:将备份集中备份的dm.ini参数(除路径相关的INI参数外),拷贝到当前dm.ini上,取而代之。
  • 还原后库的名称:指定还原后库的名称。
  • 还原时覆盖已存在文件:还原数据库时,存在重名的数据文件时,直接覆盖重建,不勾选则报错。
  • 强制执行:若dm.ini记录的目标环境是DMTDD前端库,且目标环境不满足备份集的副本数和区块策略条件,则可以勾选强制执行来强制还原。

指定库目录还原时,可配置以下参数:

  • 库路径:指定还原目标库的数据文件所在目录,该路径必须已存在。
  • 还原时覆盖已存在文件:还原数据库时,存在重名的数据文件时,直接覆盖重建,不勾选则报错。

常规选项页面可配置归档还原常规参数信息,具体如下:

备份集目录:指定用于还原归档的备份集目录。若指定为相对路径,会在默认备份目录下搜索备份集。

还原类型:

  • 还原所有归档。缺省情况下,为此项。
  • 还原指定的LSN
  • 还原指定的时间点

冲突处理:

  • 生成一条日志,继续还原。默认为此项。
  • 直接报错返回
  • 强制覆盖存在的归档日志

INI路径:指定还原目标库的dm.ini文件路径,将归档日志还原到该库的归档日志目录中。即dmarch.ini文件中指定的第一个本地归档目录。

归档目录:还原到指定的目录。

常规选项页面可配置表空间还原常规参数信息,具体如下:

备份集目录:指定用于还原表空间的备份集目录。若指定为相对路径,会在默认备份目录下搜索备份集。

INI文件路径:指定还原目标库的dm.ini文件路径。

表空间名:指定还原的表空间,可以是用户表空间,也可以是SYSTEM系统表空间和ROLL回滚表空间。

数据文件:还原指定的数据文件。可以指定数据文件编号或数据文件路径。文件编号,对应动态视图V$DATAFILE中ID列的值;文件路径,对应动态视图V$DATAFILE中PATH或者MIRROR_PATH列的值,也可以仅指定数据文件名称(相对路径),与表空间中数据文件匹配时,会使用SYSTEM目录补齐。

高级选项页面可配置备份还原高级参数信息,具体如下:

基备份集搜索目录:指定基备份集搜索目录。

映射文件:用于指定存放还原目标路径的映射文件路径,即备份集里面的数据文件的路径。也可以生成或编辑映射文件。当参数备份集目录指定的路径和映射文件中指定的路径不一致时,以映射文件中指定的路径为主。

介质类型:指定存储备份集的设备类型,目前暂支持磁盘和磁带,默认选择磁盘。

介质参数:使用第三方介质类型(磁带类型)时使用的参数。

还原密码:指定备份时使用的加密密码,供还原过程解密使用。

加密算法:指定备份时使用的加密算法,供还原过程解密使用,若未指定,则使用默认算法AES256_CFB。支持使用第三方加密算法。

任务线程数:指定还原过程中用于处理解压缩和解密任务的线程个数,取值范围0~64,默认为4。若指定为0,则调整为1;若指定超过当前系统主机核数,则调整为当前系统主机核数。

WITH CHECK:指定还原前校验备份集数据完整性。默认不校验。

恢复:

在备份还原管理界面中,点击恢复按钮,打开备份恢复对话框。有两种级别的恢复:库恢复和表空间恢复。

库恢复:

数据库恢复有两种类型。

  • 从备份集恢复

  • 指定归档恢复

以下分别进行介绍。

从备份集恢复:

如果选择从备份集恢复,则需要配置以下参数:

强制执行:若恢复到DMTDD前端库,且恢复的REDO日志中包含创建表空间的记录,则可以指定该选项来强制创建表空间而忽略REDO日志中对该表空间的副本数和区块策略的严格限制。

INI文件路径:必填,待恢复目标数据库的dm.ini文件路径。

备份集目录:必填,指定待恢复备份集路径。

介质类型:指定存储备份集的设备类型,目前暂支持磁盘和磁带,默认选择磁盘。

介质参数:使用第三方介质类型(磁带类型)时使用的参数。

恢复密码:指定备份时使用的加密密码,供恢复过程解密使用。

加密算法:指定备份时使用的加密算法,供恢复过程解密使用,若未指定,则使用默认算法AES256_CFB。支持使用第三方加密算法。

指定归档恢复:

指定归档恢复,主要有两种类型:

1)没有经过还原操作,直接在目标库上执行恢复操作。这种恢复主要针对一些已经滞后的库,用最新的归档把目标库恢复到某个时间点,或者恢复到最新的状态。

2)经过了还原操作,这时需要借助归档把目标恢复到一个指定的时间点。可能还原的备份集是WITHOUT LOG的备份集,没有办法执行从备份集恢复;或者希望恢复到更新的状态,而从备份集恢复又不能够满足要求,所以需要借助归档恢复到某个时间点。

指定归档恢复页面如下图所示:

如果选择指定归档恢复,则需要配置以下参数:

强制执行:若恢复到DMTDD前端库,且恢复的REDO日志中包含创建表空间的记录,则可以指定该选项来强制创建表空间而忽略REDO日志中对该表空间的副本数和区块策略的严格限制。

INI文件路径:必填,待恢复目标数据库的dm.ini文件路径。

归档日志目录:必填,通过添加、删除按钮配置归档日志目录。

数据库Magic:指定本地归档日志对应数据库的DB_MAGIC,若不指定,则默认使用目标恢复数据库的DB_MAGIC。

恢复时间:指定重做本地归档的结束时间。如果指定的结束时间早于备份结束时间,忽略该参数,重做所有小于备份结束LSN(END_LSN)的REDO日志,将系统恢复到备份结束时间点的状态,此时并不能精确恢复到END_LSN,只能保证重演到END_LSN之后的第一个时间戳日志,该日志对应的LSN值略大于END_LSN。

恢复LSN号:指定重做本地归档的结束LSN值。如果指定的LSN小于备份结束LSN(END_LSN),则报错。

根据实际需要选择对应的恢复类型,配置对应的参数后,点击确定按钮即开始执行对应恢复操作。如果恢复成功,则弹出恢复成功的对话框;如果恢复失败,则弹出对话框提示失败原因。

表空间恢复:

如果选择表空间恢复,则需要配置以下参数:

INI文件路径:必填,待恢复目标表空间所在数据库的dm.ini文件路径。

表空间名:必填,指定待恢复的表空间名。

归档日志目录:必填,通过添加、删除按钮配置归档日志目录。

数据库Magic:指定本地归档日志对应数据库的DB_MAGIC,若不指定,则默认使用目标恢复数据库的DB_MAGIC。

配置对应的参数后,点击确定按钮即开始执行对应恢复操作。如果恢复成功,则弹出恢复成功的对话框;如果恢复失败,则弹出对话框提示失败原因。

更新:

更新DB_MAGIC是数据库还原之后,必须执行的一步。表空间等其他类型的还原不需要执行这一步。在备份还原管理界面中,点击更新DB_Magic按钮,打开更新DB_MAGIC对话框。更新DB_MAGIC对话框如下图所示:

如果选择更新DB_MAGIC恢复,则需要配置以下参数:

INI文件路径:必填,待恢复目标数据库的dm.ini文件路径。

3 逻辑备份还原(dexp、dimp)

逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。DM提供了dexp和dimp两个对应的工具来完成对数据库的逻辑备份还原,由dexp进行逻辑导出,dimp进行逻辑导入。

3.1 使用dexp进行逻辑导出备份

dexp 工具需要从命令行启动。在 cmd 命令行工具中找到 dexp 所在安装目录 /dmdbms/bin,输入 dexp 和参数后回车。语法如下:

dexp PARAMETER=<value> { PARAMETER=<value> }
或
dexpdp  PARAMETER=<value> { PARAMETER=<value> }

PARAMETER:dexp 参数。多个参数之间排列顺序无影响,参数之间使用空格间隔。

举例:将用户名和密码均为 SYSDBA,IP地址为 192.168.0.248,端口号为 8888 的数据库采用 FULL 方式完全导出。/user/data 为数字证书路径。导出文件名为 db_str.dmp,导出的日志文件名为 db_str.log,导出文件的路径为/mnt/dexp/data。 

./dexp USERID=SYSDBA/SYSDBA@192.168.0.248:8888##/user/data FILE=db_str.dmp
DIRECTORY=/mnt/dexp/data LOG=db_str.log FULL=Y

dexp参数一览表:

参数含义备注
USERID数据库的连接信息必选
FILE明确指定导出文件名称可选。如果缺省该参数,则导出文件名为dexp.dmp
DIRECTORY导出文件所在目录可选
FULL导出整个数据库(N)可选,四者中选其一。缺省为SCHEMAS
OWNER用户名列表,导出一个或多个用户所拥有的所有对象
SCHEMAS模式列表,导出一个或多个模式下的所有对象
TABLES表名列表,导出一个或多个指定的表或表分区
FUZZY_MATCHTABLES选项是否支持模糊匹配(N)可选
QUERY 用于指定对导出表的数据进行过滤的条件。可选
PARALLEL用于指定导出的过程中所使用的线程数目可选
TABLE_PARALLEL用于指定导出每张表所使用的线程数,在MPP模式下会转换成单线程可选
TABLE_POOL用于设置导出过程中存储表的缓冲区个数可选
EXCLUDE1. 导出内容中忽略指定的对象。对象有CONSTRAINTS、INDEXES、ROWS、TRIGGERS和GRANTS。可选
比如:EXCLUDE= (CONSTRAINTS,INDEXES)
2. 忽略指定的表,使用TABLES:INFO格式,如果使用表级导出方式导出,则使用TABLES:INFO格式的EXCLUDE无效。例如:EXCLUDE= TABLES:table1,table2
3. 忽略指定的模式,使用SCHEMAS:INFO格式,如果使用表级,模式级导出方式导出,则使用SCHEMAS:INFO格式的EXCLUDE无效。例如:EXCLUDE=SCHEMAS:SCH1,SCH2
INCLUDE导出内容中包含指定的对象可选
例如:INCLUDE=(CONSTRAINTS,INDEXES) 
或者INCLUDE=TABLES:table1,table2
CONSTRAINTS导出约束 (Y)可选。
TABLESPACE导出的对象定义是否包含表空间(N)此处单独设置与和EXCLUDE/INCLUDE中批量设置功能一样。设置一个即可
GRANTS导出权限 (Y) 
INDEXES导出索引 (Y)
TRIGGERS导出触发器(Y)
ROWS导出数据行 (Y)
LOG明确指定日志文件名称可选,如果缺省该参数,则导出文件名为dexp.log
NOLOGFILE不使用日志文件(N)可选
NOLOG屏幕上不显示日志信息(N)可选
LOG_WRITE日志信息实时写入文件 (N)可选
DUMMY交互信息处理: 打印(P), 所有交互都按YES处理(Y),NO(N)。默认为NO,不打印交互信息。可选
PARFILE参数文件名,如果dexp的参数很多,可以存成参数文件可选
FEEDBACK每 x 行显示进度 (0)可选
COMPRESS是否压缩导出数据文件(N)可选
ENCRYPT导出数据是否加密 (N)可选,
ENCRYPT_PASSWORD导出数据的加密密钥和ENCRYPT同时使用
ENCRYPT_NAME导出数据的加密算法可选。
和ENCRYPT、ENCRYPT_PASSWORD同时使用。缺省为RC4
FILESIZE用于指定单个导出文件大小的上限。可以按字节[B]、K[B]、M[B]、G[B]的方式指定大小可选
FILENUM多文件导出时,一个模板可以生成文件数,范围为[1,99],默认99可选
DROP导出后删除原表,但不级联删除 (N)可选
DESCRIBE导出数据文件的描述信息,记录在数据文件中可选
HELP显示帮助信息可选

3.2 使用dimp进行逻辑导入

dimp逻辑导入工具利用dexp工具生成的备份文件对本地或远程的数据库进行联机逻辑还原。dimp导入是dexp导出的相反过程。dimp工具需要从命令行启动。在cmd命令行工具中找到dimp所在安装目录/dmdbms/bin,输入dimp和参数后回车。语法如下:

dimp PARAMETER=value { PARAMETER=value }
或
dimpdp  PARAMETER=value { PARAMETER=value }

PARAMETER:dimp参数。多个参数之间排列顺序无影响,参数之间使用空格间隔。

举例:将逻辑备份采用FULL方式完全导入到用户名和密码为SYSDBA,IP地址为192.168.0.248,端口号为8888的数据库。导入文件名为db_str.dmp,导入的日志文件名为db_str.log,路径为/mnt/data/dexp。

./dimp USERID=SYSDBA/SYSDBA@192.168.0.248:8888 FILE=db_str.dmp DIRECTORY=/mnt/data/dexp LOG=db_str.log FULL=Y

 dimp参数一览表:

参数含义备注
USERID数据库的连接信息必选
FILE输入文件,即dexp导出的文件必选
DIRECTORY导入文件所在目录可选
FULL导入整个数据库(N)可选,四者中选其一。缺省为SCHEMAS
OWNER导入指定的用户名下的模式
SCHEMAS导入的模式列表
TABLES表名列表,指定导入的tables名称。不支持对外部表进行导入
PARALLEL用于指定导入的过程中所使用的线程数目可选
TABLE_PARALLEL用于指定导入的过程中每张表所使用的线程数可选。在FAST_LOAD为Y时有效
IGNORE忽略创建错误(N)。如果表已经存在则向表中插入数据,否则报错表已经存在可选
TABLE_EXISTS_ACTION需要的导入表在目标库中存在时采取的操作 [SKIP | APPEND | TRUNCATE | REPLACE]可选
FAST_LOAD是否使用dmfldr进行数据导入(N)可选
FLDR_ORDER使用dmfldr是否需要严格按顺序来导数据(Y)可选
COMMIT_ROWS批量提交的行数(5000)可选
EXCLUDE忽略指定的对象(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)。格式 EXCLUDE = (CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)可选。例如 EXCLUDE = (CONSTRAINT)
GRANTS导入权限(Y)可选
CONSTRAINTS导入约束(Y)可选
INDEXES导入索引(Y)可选
TRIGGERS导入触发器(Y)可选
ROWS导入数据行(Y)可选
LOG日志文件可选
NOLOGFILE不使用日志文件(N)可选
NOLOG屏幕上不显示日志信息(N)可选
DUMMY交互信息处理:打印(P)。取值Y/N可选
Y:打印所有交互信息 
N:不打印交互信息
LOG_WRITE日志信息实时写入文件(N)可选
PARFILE参数文件名,如果dimp的参数很多,可以存成参数文件可选
FEEDBACK显示每 x 行(0)的进度可选
COMPILE编译过程,程序包和函数(Y)可选
INDEXFILE将表的索引/约束信息写入指定的文件可选
INDEXFIRST导入时先建索引(N)可选
REMAP_SCHEMASOURCE_SCHEMA:TARGET_SCHEMA 将 SOURCE_SCHEMA 中的数据导入到 TARGET_SCHEMA 中可选
ENCRYPT_PASSWORD数据的加密密钥可选。和 dexp 中的 ENCRYPT_PASSWORD 设置的密钥一样
ENCRYPT_NAME数据的加密算法的名称可选。和 dexp 中的 ENCRYPT_NAME 设置的加密算法一样
SHOW/ DESCRIBE只列出文件内容(N)可选
TASK_THREAD_NUMBER设置dmfldr处理用户数据的线程数目可选
BUFFER_NODE_SIZE设置dmfldr读入文件缓冲区大小可选
TASK_SEND_NODE_NUMBER用于设置dmfldr发送节点个数[16,65535]可选
LOB_NOT_FAST_LOAD如果一个表含有大字段,那么不使用dmfldr,因为dmfldr是一行一行提交的可选
PRIMARY_CONFLICT主键冲突的处理方式[IGNORE | OVERWRITE | OVERWRITE2],默认报错可选
TABLE_FIRST是否强制先导入表(默认N),Y表示先导入表,N正常导入可选
SHOW_SERVER_INFO是否显示服务器信息(默认N),Y表示显示导出文件对应服务器信息,实际不导入;N表示不显示导出文件对应服务器信息,正常导入可选
HELP显示帮助信息

可选

 更多达梦资讯请上达梦社区了解 https://eco.dameng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值