从sybase ase 15.0.3批量选择数据会导致崩溃?

时间:2015-01-05 20:45:26

标签: sybase sybase-ase sqoop

尝试从2个表中提取大约100GB的数据。这个问题并不是特定于sqoop的,因为我可以在执行查询的简单java应用程序中重新创建它。该查询包含一个简单的

select id, xml from table where CONFIG

其中CONFIG尝试将内容分块为不同的部分。最终其中一个查询将失败并导致

timeslice -1501 error, current process infect
timeslice error: spid 41 exhausted its 'time slice' of 100 milliseconds and 
additional 'cpu grace time' of 1500 ticks ( 150000 milliseconds). It has been 
marked for termination.

我尝试将数据库置于只读模式,在检查点上启用自动截断,使用存储过程并在java应用程序中反复执行,并使用jconnect和jtds来管理连接。欢迎任何想法。

1 个答案:

答案 0 :(得分:0)

简单地说,时间片错误是由Sybase ASE产品中的错误引起的。然而,这些时间片错误很少见。为什么会这样?嗯,这就是一个错误:没有人打算让它发生。

建议采取的行动是:

  • 升级到ASE的更新版本,例如ASE 15.7 SP131或更高版本。 ASE 15.0.3。很久以来,无数问题已经得到修复和改进。
  • 增加'宽限时间'的配置设置。如果你很幸运,那么查询将会完成,但很有可能它会再次出现。
  • 可以尝试更改优化目标/标准。您没有在此处添加任何详细信息,但如果您将当前优化目标设置为' allrows_dss',请尝试将其设置为' allrows_oltp'并查看是否能解决问题。

升级你的ASE版本,就像上面的第一个子弹一样,是迄今为止最好的行动。