我需要帮助搞清楚为什么我的数据库服务器崩溃时,我执行以下查询:SQL提取XML的Clob导致Oracle 10g数据库,以冻结
SELECT T.COLLECTION_ID, T.CYCLE_ID, T.PHASE_ID, EXTRACT(T.XML_DOCUMENT, '/')
FROM THINGS T
WHERE T.COLLECTION_ID = 1668 AND T.CYCLE_ID = 26601 AND T.DELETED = 0
ORDER BY T.COLLECTION_ID, T.CYCLE_ID, T.PHASE_ID
其他细节:
- 的CLOB在此记录的上述XML_DOCUMENT列中是780kb
- 数据库是Oracle 10g
- CLOB中的XML格式正确
如果在上面的PLSQL中没有什么明显的可以改变以避免数据库冻结,没有人有任何想法如何/如果我可以调整我的服务器或数据库,以避免这些类型的查询崩溃一般?
任何潜在的解决方案或建议非常重视,谢谢!
你真的是指死机或某种ORA-XXXXX错误 – 2012-07-18 00:19:35
崩溃。因此,崩溃后对数据库的其他调用会得到以下错误: ORA-12571:TNS:数据包写入器故障和ORA-03135:连接丢失联系。当数据库由我们的数据库管理员关闭时,我们也会得到“ORA-01089:即时关机正在进行 - 不允许任何操作”,但这对于这个问题是多余的。 – fuzzyanalysis 2012-07-18 00:27:25
与您处理的其他文档相比,此XML文档是否异常复杂?您能否将XML文档解压缩为文本并尝试通过其他XML解析器解析它?也许这个文档的格式不正确,导致它无法处理。 – 2012-07-18 01:18:25