全局参数(General-Parameter)

  • -help

描述:显示逻辑备份工具的帮助信息。

调用格式:osrexp -help

  • -v

描述:显示逻辑备份工具、anywhere组件,及JDBC驱动的版本信息。

调用格式:osrexp -v

  • parfile

默认值:null;

应用级别:full、schema、table;

描述:指定一个文件名包含了备份操作参数的列表;可以用这个参数文件指定给备份工具用于执备份操作时分配参数。可以是.txt文件。

调用格式:osrxp parfile=文件的绝对路径

  • file

默认值:数据库安装路径/backup/<备份日期>.osr(压缩则为<备份日期>.zip);

应用级别:full、schema、table;

描述:指定备份内容的备份文件名;默认的文件后缀名是.osr。 如果指定的备份文件已经存在,则程序会正常终止。不能覆盖已经存在的备份文件。

  • log

默认值:数据库安装路径/log/bk_<备份日期>.log

应用级别:full、schema、table;

描述:指定一个文件接收报告与错误信息;如果指定的日志文件已经存在,则程序正常终止。不能覆盖已经存在的日志文件。

  • mode

默认值:entirety;

应用级别为:full、schema、table

描述:指定备份的方式,当指定mode=entirety时,则备份各个级别下数据库对象的定义和数据。当mode=defineonly时,则只备份数据库对象的定义。

  • ignore

默认值:false;

应用级别:full、schema、table;

描述:使用值ignore=false,备份过程中出现不重要错误(ERROR、WARNING级别),如:参数文件加载失败等。则退出备份。

使用值ignore=true,备份过程中出现不重要错误(ERROR、WARNING级别),则忽略该错误继续执行后续动作,并记录出错日志。

  • view

默认值:true;

应用级别: full、schema;

描述:指定该参数用于备份数据库中的所有视图定义,指定view=false将不备份视图。

  • index

默认值:true;

应用级别:full、 schema、table;

描述:指定是否导出有效的索引输出。

  • trigger

默认值:true;

应用级别: full、schema、table;

描述:指定是否导出触发器。

  • sequence

默认值:true;

应用级别: full、schema;

描述:指定该参数用于备份数据库中的所有序列定义,指定sequence=false将不备份序列。

  • synonym

默认值:true;

应用级别:full、schema;

描述:指定该参数用于备份数据库中的所有同义词定义,指定synonym=false将不备份同义词。

  • procedure

默认值:true;

应用级别: full、schema;

描述:指定该参数用于备份数据库中的所有存储过程定义,指定procedure=false将不备份存储过程。

  • package

默认值:true;

应用级别: full、schema;

描述:指定该参数用于备份数据库中的所有包定义,指定package=false将不备份包。

  • type

默认值:true;

应用级别: full、schema;

描述:指定该参数用于备份数据库中的所有自定义类型,指定type=false将不备份自定义类型。

  • constraint

默认值:true;

应用级别:full、schema、table;

描述:指定该参数用于是否备份表约束。

  • excludetable

默认值:null;

应用级别:full、schema;

描述:指定不进行备份的表。可以用来排除多个符合样式的不备份的表。

调用格式:schema=(SYSTEM) excludetable=(table1,table2,...);将指定在SYSTEM模式下备份除table1,table2以外的所有表以及数据。

注解

若excludetable中的指定表在SYSTEM模式下不存在,将忽略该表。v2.3.7以及之后的版本支持了full级别

  • marklogging

默认值:false;

应用级别:full、schema、table;

描述:指定备份表时是否将表的日志模式记录在备份文件中,默认不备份表的日志模式。

注解

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

  • encrypted

默认值:false;

应用级别:full、schema、table;

描述:指定备份是否加密,默认不加密。

注解

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

  1. 密钥算法加密:备份时,若设置encrypted=true,则使用密钥方式加密,密钥有效长度为8位,当恢复时必须指定decrypted=true,即备份时加密,恢复时解密。
  2. SMS4算法加密:备份时,若设置encrypted=ecb或者encrypted=cbc,则恢复时必须指定decrypted=ecb或者decrypted=cbc,即备份时加密,恢复时用相同算法解密。
  • compress

默认值:false;

应用级别:full、schema、table;

描述:此参数指定在备份时是否对文件压缩。建议:如果磁盘空间足够,不需要对备份文件压缩,压缩时在备份和恢复速度都较慢。

  • query

默认值:空;

应用级别:table;

描述:备份时支持带查询条件的数据导出。

注解

参数query使用格式:query=( where zd_2 in (select zd_2 from table1 where zd_1='11111') )

  • onlyExcel

默认值:false;

应用级别:table;

描述::此参数支持备份单个表数据为excel格式,不会生成定义文件(.osr扩展名)。使用:onlyExcel=true。

注解

此功能只支持单个表备份。

  • excel

默认值:false;

应用级别:full、schema、table;

描述:此参数支持数据excel导出。使用参数excel=true或者excel=2003,导出2003格式(.xls);使用参数excel=2007,导出2007格式(.xlsx)。

注解

  1. excel2003对各工具兼容性好一些,但行数和列数限制大。excel2007行数和列数限制小,导出效率高,但兼容性差一些。
  2. 如果使用此参数,备份时首先创建一个以指定文件名(或默认当前日期)为名的文件夹,再在该文件夹下创建一个模式文件夹,并在该模式文件夹下保存excel文件。
  • grants

默认值:false;

应用级别:full、schema、table;

描述:指定该参数用于是否备份对象的权限。指定grants=true时,备份权限;指定grants=false时,不备份权限。

注解

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

  • namesensitive

默认值:false;

应用级别:schema、table;

描述:指定备份对象名大小写是否敏感。指定namesensitive=true时,对模式名和表名不做处理。

注解

比如:level=table table=SYSDBA.tab1 namesensitive=true ,表示备份SYSDBA模式下的表tab1

  • printExcp

默认值:true;

应用级别:full、schema、table;

描述:是否打印异常信息的错误堆栈,指定printExcp=true时,打印相关异常信息的错误堆栈。

  • printDetail

默认值:false;

应用级别:full、schema、table;

描述:当printDetail=true时,打印详细信息,同时开启printExcp=true,出错时打印异常信息的错误堆栈。

注解

V2.3.1版本之前等价于printExcp

  • tc

默认值:4;

应用级别:full、schema、table;

描述:V2.3.1版本开始新增参数,表示指定备份数据时并行线程数。当指定tc=0时,以旧版单线程方式备份。

注解

  1. 并不是tc值越大越好,并行备份会占用更高的IO和CPU,需要考虑机器的IO和CPU瓶颈;另外数据分片太多,数据库按偏移查询也会有更多耗时。
  2. 当表的行数大于10万时,才进行分片备份
  • merge

默认值:true;

应用级别:full、schema、table;

描述:V2.3.1版本开始新增参数,表示最终是否合并成一个文件,当merge=false时,定义文件与数据文件不合并。

注解

需要注意当指定压缩备份(compress=true)时,merge失效,最终都会压缩成一个文件

  • fsc

默认值:false;

应用级别:full、schema、table;

描述:V2.3.1版本开始新增参数,默认表分片需要count(*)计算表总行数,count(*)计算也有耗时;当fsc=true时,从v_sys_class中获取表行数,所以指定fsc=true时,最好先做一遍analyze table,分片更准确

注解

生产环境下一般会定时执行analyze table,如果没有及时analyze table,可以会导致备份时分片不准确,备份过程中也不会报错,但效率可能会受影响

  • shardingcount

默认值:默认等于threadcount数;

应用级别:full、schema、table;

描述:V2.3.7版本开始新增参数,控制表实际分片数。举例:比如不需要表分片只需要按表并行,可以设置为shardingcount=1

  • batchSize

默认值:-1;

应用级别:full、schema、table;

描述:备份时,为提升JDBC驱动性能参数,等同fetchSize,每次从数据库中读取数据行数。

注解

如果设置该参数值大于0,且不等于驱动默认值(可能是1000),则按该参数值设置驱动的fetchSize属性值。

  • lobprefetchsize

默认值:空;

应用级别:full、schema、table;

描述:指定lob字段预取值的长度,单位是字节,如果设置该参数值小于或等于0时,不使用预取功能。

注解

使用该参数之前,需要了解源端数据库能否支持LOB_PREFETCH_SIZE。

  • scn

默认值:空;

应用级别:full、schema、table;

描述:为支持闪回查询功能,可指定数据库当前SCN值,按照指定的SCN进行逻辑备份。

注解

使用该参数之前请确认数据库是否支持闪回查询功能,数据库当前SCN值查询SQL:SELECT CURRENT_SCN FROM V$DATABASE;

  • flashbackUseArcLog

默认值:false;

应用级别:full、schema、table;

描述:是否使用归档日志进行闪回查询,需配合参数scn使用,单独使用无效。

注解

使用该参数之前请确认数据库是否支持闪回查询功能,默认情况下闪回查询基于undo日志进行,性能较好,但是undo日志是有有效期的(UNDO_RETENTION),超过有效期后,闪回查询可能会失败。为此,可设置flashbackUseArcLog=true,使用归档日志进行闪回查询,对应执行:SET ENABLE_FLASHBACK_QUERY_USE_ARCHIVELOG = ON

  • mac

默认值:false;

应用级别:table;

描述:当备份参数mac=true时,可备份访问控制策略信息,并会自动设置备份级别level为表级table,以便备份策略表。

注解

只有安全员有权对访问控制策略表进行操作,备份时,可先用普通用户备份数据,再用安全员备份策略信息。