参数说明¶
调用格式:oimpexp {param}
参数名称区分大小写,与参数值之间用空格分隔:
| 参数 | 描述 | 输入值 | 类型 | 级别 |
|---|---|---|---|---|
| -H | 指定预连接服务器的IP地址 | 服务器IP地址,也可以是"localhost"。 | 文本 | 必须 |
| -p | 指定预连接服务器的端口号 | 端口号 | 数字 | 必须 |
| -D | 指定预连接服务器的实例名称 | KSTORE实例名,区分大小写 | 文本 | 必须 |
| -U | 指定预连接服务器的用户名 | 用户名 | 文本 | 必须 |
| -P | 指定预连接服务器的密码 | 密码 | 文本 | 必须 |
| -S | 指定操作的模式名 | 模式名 | 文本 | 必须 |
| -T | 指定操作的数据对象名,不允许写成"模式名.数据对象名"的方式,需要模式请使用[-S]参数,此处也不允许输入除了基本表以外的其他对象 | 数据对象名 | 文本 | 必须 |
| -A | 导入导出方式 | 1: 为导入,此时数据文件必须为一个有效路径,如果有-f参数,在默认表的第一列为文件名。如果有-t参数,则无需设置-E和-V参数。 2: 为导出,如果有-f参数,-F参数为一个路径,并以'\'结束,工具默认将表中的第一列值作为文件名创建相应都数据文件。如果没有-f参数,则-F参数必须为一个可用的文件路径。如果有-t参数,则无需指定-E和-V参数。 |
数字 | 必须 |
| -F | 文件名,指定一个文件路径加文件名,为了保证文件名中有特殊字符的影响,最好给文件名加上引号,该参数不能为空。如果不指定路径,默认在神通目录下。 | 文件路径 | 文本 | 必须 |
| -B | 文件读写缓冲大小,单位为M,不指定此参数默认为8M。 | 缓冲区大小 | 数字 | 可选 |
| -L | 导入数据时使用表锁将表锁定,其他进程无法对表进行操作。如果表为nologging,则使用最小日志导入,默认不开启。 | 无 | _ | 可选 |
| -M | 选择索引维护方式 | 1: 每导入一行维护一下索引 2: 导入后进行索引维护 3: 建立一个临时索引,导入结束再进行索引合并,暂时不支持。 |
数字 | 可选 |
| -z | 本参数可以指定不显示开启事务,这样大文件的数据会分成多个事务导入,每个事物的导入的行数由缓冲区的大小决定。因此如果同时开启多个进程导入,同时导入的文件行数据量比较大时,建议开启本参数,默认不开启该参数。 | 无 | - | 可选 |
| -Z | 每次batch的大小 | batch大小 | 数字 | 可选 |
| -O | 每批以千字节计的数据的近似值 | 数字 | 可选 | |
| -C | 检查约束。即导入时是否检查数据的check约束。这个不包括主键约束,因为主键约束是必须检查的。默认为不检查约束 | 无 | _ | 可选 |
| -G | 触发触发器,导入数据时是否触发触发器。默认为不触发。 | 无 | _ | 可选 |
| -K | 检查外键约束,默认为不检查外键约束。 | 无 | _ | 可选 |
| -c | 转义符。文本格式为2时(即文本方式),当实际数据中包含有行分隔符或者列分隔符时,则需要指定此参数,特别是导出的时候,不然导出的数据很难再导入。这个选项在导入csv格式文本时一定要使用。 | 转义字符 | 文本 | 可选 |
| -d | 文件类型。默认为2 | 1:二进制,这种数据类型格式为:长度+数据。 2:字符文本,这种文件是以行分割符和列分隔符进行格式化的。 3:固定长度,这种为每列长度定长。不足时以空格填充,暂不支持Lob。 |
文本 | 可选 |
| -Q | 查询语句。我们在导出时,不仅可以指定导出某一张表,还可以导出一条sql语句的结果。它应该是一条有结果集返回的标准sql语句。支持连接查询导出和分区导出。如sql语句中没有指定模式,默认OSCAR模式名SYSDBA,KSTORE模式名KSTORE,此时使用-S,-T参数无效。 | 查询语句 | 文本 | 可选 |
| -n | 检查"null",如果文本中某列的数值为null时,导入到后台时传递一个空值,而不是一个null串,默认为不检查,将null作为一个串传递给后台。导出时指定了该参数则表示此列用一个null串表示。 | 无 | _ | 可选 |
| -g | 指定列的导入顺序((b text,a text....)),只支持文件类型(-d)为2的情况。 | 列顺序表达式 | 文本 | 可选 |
| -E | 列分割符,可以是任何字符,但建议不要使用'\0',不能和转义符,行分隔符相同,默认值为'\t'。 | 列分割符 | 文本 | 可选 |
| -V | 行分隔符,可以为任何字符,但建议不要使用'\0',不能和转义符,列分隔符相同,默认值windows平台为"\r\n",linux平台为'\n'。 | 行分隔符 | 文本 | 可选 |
| -v | 版本信息 | 无 | _ | 可选 |
| -r | 去除首行。当文本文件头行是列名称的时候,在导入时需要去掉该行。而在导出时如果需要添加行头,则可加上此选项。默认值为不去掉头。 | 无 | _ | 可选 |
| -f | 表的第一列是否为文件名,导入时会将文件名称导入到第一列中。导出时会根据第一列进行排序,分别以不同的文件进行导出,此时[-F]参数指定的是一个路径。(注意:保存文件名的列为varchar类型,不能为char) | 无 | _ | 可选 |
| -Y | 开启导入导出文件字符集与数据库字符集之间的转换功能。 | 字符集,如UTF-8。当前支持UTF-8,GBK,BIG5,GB18030,SQL_ASCII。 | 文本 | 可选 |
| -X | 重建索引,默认不创建。 | 无 | _ | 可选 |
| -m | 指定每次读取文件大小,单位是MB。 | 读取文件大小 | 数字 | 可选 |
| -fc | 设置文件中需要导入的列的列号,与-tc配合使用,顺序由小到大,可以用默认值代替,需要给参数加上双引号。 | "(col1,col2....coln)",如指定某列为默认值,格式:"(col1,col2,...(default value),...coln)" | 数字 | 可选 |
| -tc | 设置导入到表的指定列的列号,与-fc配合使用,没有被指定的列默认为空,需要给参数加上双引号,暂时不支持LOB。 | "(col1,col2...coln)" | 数字 | 可选 |
| -filter | 忽略文件中指定列的列号,其他列按照忽略后的顺序导入。默认不过滤任何列,需要给参数加上双引号。 | "(col1,col2....coln)" | 数字 | 可选 |
| -I | 是否忽略错误继续导入,如果设置该参数,导入发生错误会继续进行,导入的数据会分成多个事务提交,导入出错就重新导入出错行前后的数据,解析错误也会忽略继续。错误信息打印到文件里,在$SZ_OSCAR_HOME\ocommon\log,命名格式为oimpexp_elog_时间.log。默认是不忽略错误,出错就退出。 | 无 | _ | 可选 |
| -e | 指定错误忽略次数,如果不超过该次数,就忽略错误继续导入,否则就报错退出,默认是10000。 | 错误忽略次数 | 数字 | 可选 |
| -a | 指定导出时写文件方式,默认为3。如果导出文件不存在,则创建新文件。 | 1:如果导出文件存在,追加原文件。 2:如果导出文件存在,覆盖原文件。 3:如果导出文件存在,报错退出。 |
可选 | |
| -o | 指定导入时覆盖表中原有的数据,默认不覆盖。(注意:如指定该参数,导入数据过程中失败表中原有的数据可能会丢失。) | 无 | 可选 | |
| -j | 加密导入导出数据 | 密钥16位 (须包括数字、大小写字母及特殊字符中的至少三种) 。 | 可选 | |
| -h | 帮助信息 | 无 | _ | 可选 |