我的数据库监控工具Ignite出现了一些问题。它无法启动,因为它在尝试执行某些查询时出现错误,这是一个示例:
SELECT CAST(stmt_text AS BLOB) igniteex, num_executions, num_compilations, rows_read, rows_written, stmt_sorts
FROM table(snapshot_dyn_sql('[db_name]',-2)) AS sntable
当我从我的数据库分析工具(Aqua Data Studio)执行它时,这个查询(以及其他更长的查询)工作得很好(并且非常快)。然而,Ignite报告一个SQLCODE值未列出的SQLException(例如这里)。
数据库为IBM DB2 9.7。返回的SQLCODE值是-930、-954、-443,这些值似乎没有在任何地方列出。有人知道这些SQLCODE值是什么意思吗?
正确的文档在这里。
SQLCODE -443表示DB2例程返回错误。
SQLCODE -930表示没有足够的可用存储。这个存储不是指磁盘空间或总内存,而是与为数据库管理器分配的内存有关。
SQLCODE -954的含义与-930基本相同;但是它说的是所有的内存都被使用了,而不是"这个任务不够用"。
无论如何,重新启动db2服务器确实消除了这些错误。