运行db2 import/export命令时,db2是否会检查文件锁定?
我有两个进程,一个运行到ixf的导出,另一个进程导入ixf。两者每天都会运行多次,导出过程是可变时间的,如果当前正在写入ixf,我不想导入它。
发布于 2018-07-23 18:01:56
这可以是特定于实现细节的,因此可以考虑一种更安全的设计,以便仅在成功完成导出后才处理导入的开始,可能是通过更智能的调度或不同的脚本。
如果从IXF启动Db2导入,然后启动到相同IXF的Db2导出,那么对于本地文件系统,当前支持的DB2LUW客户端版本应该无法导出,并显示SQL3001c (打开输出文件时出现I/O错误)。
如果启动到IXF导出,然后在导出完成之前从同一IXF启动导入,那么当前支持的DB2LUW客户端版本应该再次导入失败,并显示SQL3030C (打开输入文件时出现I/O错误),至少对于本地文件系统是这样。
但是,行为可能会因操作系统、托管输入/输出文件的文件系统、文件系统挂载选项等而有所不同,当然,bug是不可避免的。出于这些原因,请考虑一种更健壮的设计。
发布于 2018-07-24 09:44:53
我认为这取决于在导出查询中使用的隔离级别,以及为导入而获取的锁。如果导入类型为插入类型,则锁位于行上。如果导入具有替换类型,则锁将位于表级。
然而,我没有任何引用来支持上一段。
https://stackoverflow.com/questions/51468564
复制相似问题