扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
exp userid=system/manager@orcl tables ='XXX' file ='XXX' 和
exp userid=system/manager@orcl tables ='XXX' file ='XXX' direct=y 有什么区别?
使用DIRECT和RECORDLENGTH选项
DIRECT参数定义了导出是使用直接路径方式(DIRECT=Y),还是常规路径方式(DIRECT=N)。常规路径导出使用SQL SELECT语句从表中抽取数据,直接路径导出则是将数据直接从磁盘读到PGA再原样写入导出文件,从而避免了SQL命令处理层的数据转换过程,大大提高了导出效率。在数据量大的情况下,直接路径导出的效率优势更为明显,可比常规方法速度提高三倍之多。
和DIRECT=Y配合使用的是RECORDLENGTH参数,它定义了Export I/O缓冲的大小,作用类似于常规路径导出使用的BUFFER参数。建议设置RECORDLENGTH参数为最大I/O缓冲,即65535(64kb)。其用法如下:
exp userid=system/manager full=y direct=y recordlength=65535 file=
exp_full.dmp log=exp_full.log
直接路径导出根据Oracle版本不同,有一些使用限制。比较重要的限制有,8i及以下版本不支持导出客户端和数据库的字符集转换,因此导出前必须保证NLS_LANG设置正确;8.1.5及以下版本不支持导出含LOBs对象的表;不能使用QUERY参数等。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者