问题描述
嗨,Oracle大师!
我们遇到了奇怪的速度问题,需要您的帮助...
设置:
1) Oracle 11.2 Exadata机器,4个节点,
2) 几个linux服务器需要从Oracle提取到文本文件的大量数据 (10 gb)
3) 在linux服务器上通过从Oracle中选择一个表分区并保存到文本 (sqlplus假脱机或手工jdbc实用程序-无差异) 创建文本文件的平均速度为5 Mbytes/sec (40 Mbit/sec),而以太网能力是10倍 (通过简单的文件传输服务器之间的测试)。
4) 在oracle内部几秒钟内执行 “一个表分区” (7 Gb) 上选择创建表-因此这不是oracle磁盘速度问题。
问题:
1) 如何识别速度如此慢的原因 (sql * net?!),以及如何提高速度?
2) 是否有一些推荐的快速方法可以将大量文件提取到txt文件中?
也许并行 (如何)?
3) 这里
https://asktom.oracle.com/pls/apex/f?p=100:11:::NO::P11_QUESTION_ID:88212348059
汤姆关于快速出口的回答是:
你想要速度 -- 用一点c。
这里:
http://asktom.oracle.com/~tkyte/flat/index.html
你会发现按照速度的顺序:
utl_file (最慢,但当它 “足够快” 时真的很方便)
sqlplus
C
但是提到的链接不起作用...答案是什么?
这个?http://tkyte.blogspot.ru/2009/10/httpasktomoraclecomtkyteflat.html
出口到西尔克
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:728625409049
专业 * C
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:459020243348
4) 这里https://jonathanlewis.wordpress.com/2010/05/07/sqlnet-compression/
是关于sql * net压缩的讨论,效果很好。
在哪里可以找到文档和指南,以便在宽表上正确使用它 (超过1列),并且它可以与jdbc一起使用吗?
提前感谢!
我们遇到了奇怪的速度问题,需要您的帮助...
设置:
1) Oracle 11.2 Exadata机器,4个节点,
2) 几个linux服务器需要从Oracle提取到文本文件的大量数据 (10 gb)
3) 在linux服务器上通过从Oracle中选择一个表分区并保存到文本 (sqlplus假脱机或手工jdbc实用程序-无差异) 创建文本文件的平均速度为5 Mbytes/sec (40 Mbit/sec),而以太网能力是10倍 (通过简单的文件传输服务器之间的测试)。
4) 在oracle内部几秒钟内执行 “一个表分区” (7 Gb) 上选择创建表-因此这不是oracle磁盘速度问题。
问题:
1) 如何识别速度如此慢的原因 (sql * net?!),以及如何提高速度?
2) 是否有一些推荐的快速方法可以将大量文件提取到txt文件中?
也许并行 (如何)?
3) 这里
https://asktom.oracle.com/pls/apex/f?p=100:11:::NO::P11_QUESTION_ID:88212348059
汤姆关于快速出口的回答是:
你想要速度 -- 用一点c。
这里:
http://asktom.oracle.com/~tkyte/flat/index.html
你会发现按照速度的顺序:
utl_file (最慢,但当它 “足够快” 时真的很方便)
sqlplus
C
但是提到的链接不起作用...答案是什么?
这个?http://tkyte.blogspot.ru/2009/10/httpasktomoraclecomtkyteflat.html
出口到西尔克
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:728625409049
专业 * C
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:459020243348
4) 这里https://jonathanlewis.wordpress.com/2010/05/07/sqlnet-compression/
是关于sql * net压缩的讨论,效果很好。
在哪里可以找到文档和指南,以便在宽表上正确使用它 (超过1列),并且它可以与jdbc一起使用吗?
提前感谢!
专家解答
你可以在这里得到pro * c程序
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:459020243348
但是要查看其SQLNet,可以执行以下操作:
在exadata db节点之一上运行sqlplus,并在本地运行假脱机。并尝试设置以找到最有效的方法。例如:
从dual中选择systimetamp;
设置终止
设置arraysize 1000
设置行预取2
设置第0页
将trimspool设置在
假脱机c:\ temp \ test.out
选择 * 从...
阀芯关闭
设置termout on
从dual中选择systimetamp;
在我的笔记本电脑上,这使我可以在大约3分钟内卸载2500万行 (〜3gb),而我可以在几秒钟内对表进行全面扫描。因此,格式化和假脱机结果显然需要cpu和文件系统IO成本。
只要您的文件系统和网络支持它,最好的方法可能是并行作业。例如,我在3个并发流中运行了上述相同的测试,每个并发流仍然需要3分钟... 这意味着我实际上可以在3分钟内卸载7500万行 (9G)。
对输出进行排序应该会带来一些de-dup的好处,从而减少网络流量,但我怀疑这可能是文件格式化/写入时间,可以获得最大的收益。
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:459020243348
但是要查看其SQLNet,可以执行以下操作:
在exadata db节点之一上运行sqlplus,并在本地运行假脱机。并尝试设置以找到最有效的方法。例如:
从dual中选择systimetamp;
设置终止
设置arraysize 1000
设置行预取2
设置第0页
将trimspool设置在
假脱机c:\ temp \ test.out
选择 * 从...
阀芯关闭
设置termout on
从dual中选择systimetamp;
在我的笔记本电脑上,这使我可以在大约3分钟内卸载2500万行 (〜3gb),而我可以在几秒钟内对表进行全面扫描。因此,格式化和假脱机结果显然需要cpu和文件系统IO成本。
只要您的文件系统和网络支持它,最好的方法可能是并行作业。例如,我在3个并发流中运行了上述相同的测试,每个并发流仍然需要3分钟... 这意味着我实际上可以在3分钟内卸载7500万行 (9G)。
对输出进行排序应该会带来一些de-dup的好处,从而减少网络流量,但我怀疑这可能是文件格式化/写入时间,可以获得最大的收益。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
934次阅读
2025-03-17 11:33:53
Oracle DataGuard高可用性解决方案详解
孙莹
396次阅读
2025-03-26 23:27:33
墨天轮个人数说知识点合集
JiekeXu
337次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
326次阅读
2025-04-08 09:12:48
Oracle SQL 执行计划分析与优化指南
Digital Observer
297次阅读
2025-04-01 11:08:44
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
281次阅读
2025-03-24 09:42:53
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
276次阅读
2025-03-19 14:41:51
oracle定时任务常用攻略
virvle
266次阅读
2025-03-25 16:05:19
Oracle 19c RAC更换IP实战,运维必看!
szrsu
263次阅读
2025-04-08 23:57:08
Oracle NetSuite 客户说|健合(H&H)集团部署 Oracle NetSuite,全面提升全球运营效率
甲骨文中国
254次阅读
2025-03-28 15:00:30