全局参数(General-Parameter)¶
- -help
描述:显示逻辑恢复工具的帮助信息。
调用格式:osrimp -help
- -q
描述:查看备份文件的内容。
调用格式:osrimp -q file=d:/backup.osr
注解
先使用-q参数,再使用file参数指定备份文件路径。执行恢复命令时,程序先检查是否使用了-q参数,如有此参数,则优先查询备份文件内容,且不做恢复操作。
- -v
描述:显示逻辑恢复工具、anywhere组件,及JDBC驱动的版本信息。
调用格式:osrimp -v
- -vb
描述:查看指定的备份文件,在备份时使用的逻辑备份工具、JDBC驱动、源数据库版本信息。
调用格式:osrimp -vb file=d:/backup.osr
- parfile
默认值:null;
应用级别:full、schema、table;
描述:指定一个文件名包含了恢复参数的列表;可以用这个参数文件指定给恢复工具用于执行恢复操作时分配参数。可以是.txt文件。文件的内容格式参见:逻辑恢复详细介绍 - 登录模式部分。
调用格式:osrimp parfile=文件的绝对路径
- file
应用级别:full、schema、table;
描述:指定将要恢复内容的文件名;必须导入原先备份过的文件,否则在恢复时会出错。
- log
默认值:数据库安装路径/log/rt_<恢复日期>.log。
应用级别:full、schema、table;
描述:指定一个文件接收报告与错误信息;如果指定的日志文件已经存在,则覆盖已经存在的日志文件。
- mode
默认值:entirety;
应用级别:full、schema、table;
描述:指定恢复类型,可指定的类型为:entirety或defineonly,若不给定则默认为entirety类型,根据不同类型,将影响还原内容。调用格式为:mode = entirety;或mode = defineonly;该恢复类型也实现了向下兼容,即entirety的完全备份文件能够用于defineonly还原。
Entirety类型:
该类型的恢复为完全方式恢复,将恢复目标的所有数据与定义。
该类型支持全库级别、模式级别与表级别的恢复。
Defineonly类型:
该类型恢复为定义方式恢复,只恢复目标的所有定义,不恢复数据。
该类型支持全库级别、模式级别、表级别的恢复。
- ignore
默认值:false;
应用级别:full、schema、table;
描述:使用值ignore=false,对某一对象恢复过程中出现不重要错误(ERROR、WARNING级别),则退出程序;
使用值ignore=true,对某一对象恢复过程中出现不重要错误(ERROR、WARNING级别),则忽略该错误继续执行后续动作,并记录出错日志。
- view
默认值:true;
应用级别: full、schema;
描述:指定该参数用于恢复备份文件中的所有视图定义,指定view=false将排除文件中的视图定义(即不恢复视图)。若文件中无视图该选项将无效被忽略。
- sequence
默认值:true;
应用级别: full、schema、table;
描述:指定该参数用于恢复备份文件中的所有序列定义,指定sequence=false将排除文件中的序列定义(即不恢复序列)。若文件中无序列该选项将无效被忽略。
- synonym
默认值:true;
应用级别:full、schema;
描述:指定该参数用于恢复备份文件中的所有同义词定义,指定synonym=false将排除文件中的同义词定义(即不恢复同义词)。若文件中无同义词该选项将无效被忽略。
- procedure
默认值:true;
应用级别:full、schema、table;
指定该参数用于恢复备份文件中的所有存储过程定义,指定procedure=false将排除文件中的存储过程定义(即不恢复存储过程)。若文件中无序列该选项将无效被忽略。
- package
默认值:true;
应用级别: full、schema;
描述:指定该参数用于恢复备份文件中的所有包定义,指定package=false将排除文件中的包定义(即不恢复包)。若文件中无包该选项将无效被忽略。
- type
默认值:true;
应用级别: full、schema、table;
描述:指定该参数用于恢复备份文件中的所有自定义类型,指定type=false将排除文件中的自定义类型(即不恢复自定义类型)。若文件中无自定义类型该选项将无效被忽略。
- recreateSchema:
默认值:false;
应用级别:full、schema;
描述:recreateSchema = true,对已存在目标模式进行强制删除
recreateSchema = false,不对已存在目标模式进行删除,跳过备份文件中模式的创建语句
- recreateotherobject
默认值:true;
应用级别:full、schema;
描述:recreateOtherObject = true,对已存在目标对象(视图、序列、存储过程、同义词、包)进行强制删除并重建对象
recreateOtherObject = false,如果目标对象(视图、序列、存储过程、同义词、包)存在,不进行任何操作
- recreatetable
默认值:true;
应用级别:full、schema、table;
描述:recreateTable = true,对已存在表对象进行强制删除
recreateTable = false,如果目标表对象存在,不对表本身进行删除、新建操作,直接往目标表对象导入数据(注意表数据部分由deletetabledata参数控制,默认值为true,即清空原表中的全部数据),且不会对表所含有的索引、触发器等对象重建,即设置trigger和index参数会被忽略。
- dropTableCascade
默认值:true;
应用级别:schema、table;
描述:向目标端恢复表对象时,默认重构表(recreateTable=true),会级联删除表相关对象。若不希望目标端表相关对象一同被删除,可指定参数dropTableCascade=false。
- constraint
默认值:true;
应用级别:full、schema、table;
描述:指定是否导入表约束;默认情况是导入,如果用户不想导入表约束,则应将其设成false;
为索引组织表和其他对象表标记的主键约束通常也会被导入。
- trigger
默认值:true;
应用级别: full、schema、table;
描述:指定trigger=true参数用于恢复备份文件中的所有触发器定义;指定trigger=false将排除导入文件中的触发器定义。若文件中无触发器该选项将无效被忽略。
- index
默认值:true;
应用级别: full、schema、table;
描述:指定index=true参数用于恢复备份文件中的所有索引定义;指定index=fasle将排除导入文件中的索引定义。若文件中无索引该选项将无效被忽略。
- excludetable
默认值:null;
应用级别:schema;
描述:指定不进行恢复的表。
调用格式为schema=(SYSTEM) excludetable=(table1,table2,...);将指定在SYSTEM模式下恢复除table1,table2外的所有表以及数据。
若excludetable中的指定表在SYSTEM模式下不存在,将忽略该表。
- deletetabledata
默认值:true;
应用级别:full、schema、table;
描述:此参数在constraint=true 、mode=entirety和recreatetable=false时起作用。deletetabledata = yes:清空原表中的全部数据,deletetabledata = false:追加数据模式。
- tablespace
默认值:2.3.7版本之前false ,之后的版本true;
应用级别:full、schema、table;
描述:此参数指定是否将表恢复到表定义时对应的表空间。注意:表空间的备份恢复需要有sysdba权限否则会报错。
注解
该参数对于分区表无效,只对普通表起作用。
- tablestoragets
默认值:null;
应用级别:full、schema、table;
描述:此参数指定将表对象恢复到指定表空间。注意:表空间的备份恢复需要有sysdba权限否则会报错。
注解
当tablespace=false时,tablestoragets参数生效,否则无效。
- indexstoragets
默认值:null;
应用级别:full、schema、table;
描述:此参数指定将索引对象恢复到指定表空间。注意:表空间的备份恢复需要有sysdba权限否则会报错。
- checkvalidate
默认值:true;
应用级别:full、schema、table;
描述:恢复外键时,是否检查数据的有效性。
- marklogging
默认值:false;
应用级别:full、schema、table;
描述:指定恢复表时是否恢复表的日志模式,默认不恢复表的日志模式。
注解
恢复时,marklogging的值必须与备份时marklogging的值保持一致,否则,恢复的过程中会报错。
- enablelogging
默认值:true;
应用级别:full、schema、table;
描述:指定恢复表与索引时是否产生日志,默认值为true,即产生日志。
注解
只有当恢复参数marklogging为true时,enablelogging才起作用。
- decrypted
默认值:false;
应用级别:full、schema、table;
描述:指定恢复时是否解密,默认不解密。
注解
有密钥解密和国密4级算法解密两种方式:
- 密钥算法解密:恢复时,若设置decrypted=true,则使用密钥方式解密,密钥有效长度为8位,即备份时加密,恢复时解密。
- 国密4级算法解密:备份时,若设置encrypted=ecb或者encrypted=cbc,则恢复时,必须指定decrypted=ecb或者decrypted=cbc,即备份时加密,恢复时用相同算法解密。
- fromuser
默认值:null;
应用级别:schema、table;
描述:指定一个或几个模式(表),隶属于这一个或几个模式(表)的数据将恢复到指定的touser模式。
注解
如果使用table级别,只允许将同一个源模式下的一张或几张表恢复到指定目标模式,不支持多个模式下的多张表恢复到指定目标模式。
- touser
默认值:null;
应用级别:schema、table;
描述:指定一个模式,备份文件的数据将恢复到这个指定的模式。
- stringCharSet
默认值:GBK;
应用级别:full、schema、table;
描述:指定恢复时解码数据所采用编码格式,如设置stringCharSet=utf8。
注解
当备份库的默认编码不为GBK时,需要将此参数设置为对应的编码格式。特别地,当备份库编码为ASCII时,此参数设置为备份工具所在客户端的默认编码即可。
- redatamode
默认值:空;
应用级别:schema、table;
描述:目标表已存在时,此参数用于指定含有主键的目标表的数据导入方式,参数值可为cover或add。
redatamode=cover 表示如果源表与目标表的主键相同时,则覆盖该条记录中非主键字段内容,如果主键不同,则追加记录。
redatamode=add 表示如果源表与目标表的主键相同时,则不更新该条记录;如果主键不同,则追加记录。
- createtableifneo
默认值:false;
应用级别:schema、table;
描述:createtableifneo参数在指定recreatetable=false时才生效,createtableifneo=false(默认),即恢复时如果备份文件中的某张表在目标模式中不存在,不重新创建表;createtableifneo=true,会重新创建表。
- onlyExcel
默认值:false;
应用级别:table;
描述:如果开启了此参数(onlyExcel=true),恢复时将按照excel文件中的数据进行恢复。
注解
注意恢复时如果使用此参数,请确保目标库中存在对应表,如果没有需要手动创建。
- excel
默认值:false;
应用级别:full、schema、table;
描述:当备份数据表时如果导出了excel文件,恢复时需要按照excel文件中的数据恢复,可指定此参数为true。
- grants
默认值:false;
应用级别:full、schema、table;
描述:指定该参数用于是否恢复对象的权限。指定grants=true时,恢复权限;指定grants=false时,不恢复权限。
注解
支持权限恢复的对象包括:模式、表、表列、视图、视图列、序列、存储过程、函数、包。
- namesensitive
默认值:false;
应用级别:schema、table;
描述:指定恢复对象名大小写是否敏感。指定namesensitive=true时,对模式名和表名不做处理。
注解
比如:level=table table=SYSDBA.tab1 namesensitive=true ,表示恢复SYSDBA模式下的表tab1
- buffer
默认值:5;
应用级别:full、schema、table;
描述:以兆字节为单位,设置JDBC大容量导入网络缓冲区大小,恢复时,达到指定缓冲大小,则向数据库提交一批数据。
- batchSize
默认值:-1;
应用级别:full、schema、table;
描述:以行数为单位,为提升JDBC驱动性能参数,恢复时,每次向数据库中提交数据行数。
注解
如果设置该参数值大于0,则按该参数值设置的行数提交数据,而不是按照buffer提交。
- printExcp
默认值:true;
应用级别:full、schema、table;
描述:是否打印异常信息的错误堆栈,指定printExcp=true时,打印相关异常信息的错误堆栈。
- printDetail
默认值:false;
应用级别:full、schema、table;
描述:当printDetail=true时,打印详细信息,同时开启printExcp=true,出错时打印异常信息的错误堆栈。
注解
V2.3.1版本之前等价于printExcp
- printDDL
默认值:null;
应用级别:full、schema、table;
描述:查看备份文件内容的同时,支持查看指定类型对象的定义,可查看的类型包括:表、视图、序列、存储过程、触发器(库、视图级)、包、同义词、自定义类型。
参数格式:printDDL=(table,view,sequence,procedure,trigger,package,synonym,type),当参数值指定为all时,可查看全部,比如:printDDL=all
注解
使用该参数之前,需要先指定查看备份文件内容参数-q 。
- tc
默认值:4;
应用级别:full、schema、table;
描述:V2.3.1版本开始新增参数,表示指定恢复时导入数据并行线程数,必须是大于0的整数 。
注解
- 恢复时不支持tc=0,程序根据备份文件的格式自行区分使用旧版本方式还是并行方式恢复。
- tc并不是越大越好,并行数增加后数据库大容量导入数据性能会有衰减,最终花费的时间可能差不多。
- mac
默认值:false
应用级别:table;
描述:当恢复参数mac=true时,可恢复访问控制策略信息,并会自动设置恢复级别level为表级table,以便恢复策略表。
注解
只有安全员有权对访问控制策略表进行操作,恢复时,可先用普通用户恢复数据,再用安全员恢复策略信息。
- flushLogAtCommit
默认值:true
应用级别:full、schema、table;
描述:后台参数ENABLE_FLUSHLOG_AT_COMMIT,默认事务提交时FLUSH日志,为提高恢复效率,可在执行恢复前将该参数关闭。
参数格式:flushLogAtCommit=true|false,设置为false时,可修改后台参数ENABLE_FLUSHLOG_AT_COMMIT=false
注解
该参数为后台Session级别,执行恢复操作后可不用将其置回初始值。
- analyzeTable
默认值:false
应用级别:full、schema、table;
描述:在恢复完成后是否对表进行analyze操作,更新统计信息。
参数格式:analyzeTable=true|false
- restoreEncryptionAttribute
默认值:true
应用级别:full、schema、table;
描述:是否恢复表的加密属性,避免目标库不支持存储加密,导致表定义无法正常恢复。
参数格式:restoreEncryptionAttribute=true|false