恢复参数

“恢复参数”选项卡的内容主要用于设置一些数据库的恢复方式,如下图所示:

../../../../../_images/image166.png

以下介绍各高级参数的作用:

  • 解密备份:(命令行参数:decrypted)

默认值:否;

应用级别:全库、模式、表;

描述:指定恢复时是否解密。

注解

有密钥解密和国密4级算法解密两种方式:

(1)密钥算法解密:恢复时,参数decrypted的值,必须与备份时参数encrypted的值保持一致。

(2)国密4级算法解密:备份时,若设置encrypted=ecb或者encrypted=cbc,则恢复时,必须指定decrypted=ecb或者decrypted=cbc,即备份时加密,恢复时用相同算法解密。

  • 忽略非重要错误:(命令行参数:ignore)

默认值:否;

应用级别:全库、模式、表;

描述:设置参数值为否,对某一对象恢复过程中出现不重要错误(ERROR、WARNING级别),则退出程序;

设置参数值为是,对某一对象恢复过程中出现不重要错误(ERROR、WARNING级别),则忽略该错误继续执行后续动作,并记录出错日志。

注解

该参数对视图、序列、存储过程、索引、触发器不起任何作用,对这些对象全部采用忽略策略。

  • 是否打印异常信息:(命令行参数:printExcp)

默认值:是;

应用级别:全库、模式、表;

描述:指定执行恢复命令过程中是否打印异常信息的错误堆栈,设置参数值为是,打印相关异常信息的错误堆栈。

注解

配合参数ignore使用,printExcp=true,且ignore=true时,才能输出异常信息。

  • 恢复表的日志模式:(命令行参数:marklogging)

默认值:否;

应用级别:全库、模式、表;

描述:指定恢复表时是否恢复表的日志模式,默认不恢复表的日志模式。

注解

恢复时,此参数值必须与备份时的参数值保持一致,否则,恢复的过程中会报错。

  • 恢复表与索引时记录日志:(命令行参数:enablelogging)

默认值:是;

应用级别:全库、模式、表;

描述:指定恢复表与索引时是否产生日志,默认值为是,即产生日志。

注解

只有当恢复参数“恢复表的日志模式”为“是”时,此参数才起作用。

  • 重构模式:(命令行参数:recreateSchema)

默认值:否;

应用级别:全库、模式;

描述:参数值为是,对已存在目标模式进行强制删除。参数值为否,不对已存在目标模式进行删除,跳过备份文件中模式的创建语句。

  • 重构表:(命令行参数:recreatetable)

默认值:是;

应用级别:全库、模式、表;

描述:参数值为是,对已存在表对象进行强制删除。参数值为否,如果目标表对象存在,不对其进行删除、新建操作,直接往目标表对象导入数据,且不会对表所含有的索引、触发器等对象重建,即设置“触发器”和“索引”参数会被忽略。

  • 目标表不存在时,是否创建表(命令行参数:createtableifneo)

默认值:否;

应用级别:模式、表;

描述:参数值为否,恢复时如果备份文件中的某张表在目标模式中不存在,不重新创建表;参数值为是,会重新创建表。

注解

该参数在指定recreatetable=false时才生效。

  • 重构视图、存储过程、序列等:(命令行参数:recreateotherobject)

默认值:是;

应用级别:全库、模式;

描述:参数值为是,对已存在目标对象(视图、序列、存储过程、同义词、包)进行强制删除并重建对象。参数值为否,如果目标对象(视图、序列、存储过程、同义词、包)存在,不进行任何操作。

  • 恢复外键时检查数据有效性:(命令行参数:checkvalidate)

默认值:是;

应用级别:全库、模式、表;

描述:恢复外键时,是否检查数据的有效性。

  • 将表恢复到表定义时的表空间:(命令行参数:tablespace)

默认值:否;

应用级别:全库、模式、表;

描述:此参数指定是否将表恢复到表定义时对应的表空间。注意:表空间的备份恢复需要有sysdba权限否则会报错。

注解

该参数对于分区表无效,只对普通表起作用。

  • 表对象恢复到的表空间:(命令行参数:tablestoragets)

默认值:空;

应用级别:全库、模式、表;

描述:此参数指定将表对象恢复到指定表空间。注意:表空间的备份恢复需要有sysdba权限否则会报错。

注解

当“将表恢复到表定义时的表空间”参数为否时,此参数生效,否则无效。

  • 索引对象恢复到的表空间:(命令行参数:indexstoragets)

默认值:空;

应用级别:全库、模式、表;

描述:此参数指定将索引对象恢复到指定表空间。注意:表空间的备份恢复需要有sysdba权限否则会报错。

  • 恢复对象权限:(命令行参数:grants)

默认值:否;

应用级别:全库、模式、表;

描述:指定该参数用于是否恢复对象的权限。

注解

支持权限恢复的对象包括:模式、表、表列、视图、视图列、序列、存储过程、函数、包。

  • 恢复方式:(命令行参数:mode)

默认值:完全恢复;

应用级别:全库、模式、表;

描述:指定恢复类型,可指定的类型为:“完全恢复”或“仅恢复定义”,若不给定则默认为完全恢复,根据不同类型,将影响还原内容。该恢复类型实现了向下兼容,即“完全备份”的备份文件能够用于“仅恢复定义”的还原。

"完全恢复":该类型的恢复为完全方式恢复,将恢复目标的所有数据与定义。

“仅恢复定义”:该类型恢复为定义方式恢复,只恢复目标的所有定义,不恢复数据。

  • 清空原表数据:(命令行参数:deletetabledata)

默认值:是;

应用级别:全库、模式、表;

描述:参数值为是,清空原表中的全部数据,参数值为否,追加数据模式。

注解

此参数在恢复参数“表约束”为“是” 、参数“恢复方式”为“完全恢复”、参数“重构表”为“否”时起作用。

  • 键内容相同时数据导入方式:(命令行参数:redatamode)

默认值:空;

应用级别:表;

描述:此参数指定恢复表含有主键时数据的导入方式,参数值可为“覆盖”或“追加”。 其中,参数“覆盖”表示如果主键内容相同,则更新该项记录非主键内容,如果主键不同,则追加记录。 参数“追加”表示如果主键内容相同,则不更新该条记录;如果主键不同则追加记录。

  • 目标模式:(命令行参数:touser)

默认值:空;

应用级别:模式;

描述:指定一个模式,备份文件的数据将恢复到这个指定的模式。

  • 大容量导入网络buffer大小:(命令行参数:buffer)

默认值:10;

应用级别:全库、模式、表;

描述:设置JDBC大容量导入网络buffer的大小,默认值为10M。

注解

导入大容量数据,JDBC默认传输buffer为10M,如果超出范围,报大容量导入错误的异常,此时可尝试扩大buffer值,单位为M。

  • 线程数:(命令行参数:tc)

默认值:4;

应用级别:全库、模式、表;

描述:指定恢复时导入数据并行线程数,必须是大于0的整数。

注解

(1)恢复时不支持tc=0,程序根据备份文件的格式自行区分使用旧版本方式还是并行方式恢复。 (2)tc并不是越大越好,并行数增加后数据库大容量导入数据性能会有衰减,最终花费的时间可能差不多。