WEB开发网
开发学院数据库DB2 DB2 日常维护技巧,第 3 部分:表的使用状态、用户... 阅读

DB2 日常维护技巧,第 3 部分:表的使用状态、用户连接、日志管理与数据恢复等

 2010-04-15 00:00:00 来源:WEB开发网   
核心提示: 遇到这种错误,可以参照下列步骤进行解决:进入到 NODE000x/SQL000x 目录下,DB2 日常维护技巧,第 3 部分:表的使用状态、用户连接、日志管理与数据恢复等(7),找到该文件 db2rhist.asc 文件以及其备份文件 db2rhist.bak,然后把 db2rhist.asc

遇到这种错误,可以参照下列步骤进行解决:

进入到 NODE000x/SQL000x 目录下,找到该文件 db2rhist.asc 文件以及其备份文件 db2rhist.bak,然后把 db2rhist.asc 文件移动到其他目录中。

重新执行数据库备份命令,在执行过程中,DB2 仍然会报错,不过会自动用 db2rhist.bak 文件来生成 db2rhist.asc 文件,当然前提是之前的错误只是由于 db2rhist.asc 文件损坏引起的,而 db2rhist.bak 文件没有损坏。

再次执行数据库备份命令,就可以备份成功了。

如果按照上述步骤执行后,还报这个错误,则可能是因为 db2rhist.bak 文件也损坏了,此时我们可以重新执行上面的三步操作,只是在第一步的时候,在挪走 db2rhist.asc 文件的同时把 db2rhist.bak 文件也挪走。这样,在执行第二步的时候,DB2 会自动生成 db2rhist.asc 文件和 db2rhist.bak 文件。

编译 SQL 语句时出现 SQL0101N 错误

我们在编译 SQL 语句,特别是复杂的 SQL 语句时,如果调用多个表或触发多个触发器,可能会占用大量的系统资源,此时,如果资源不够,可能会报错误代码为 SQL0101N 的错误。

遇到这样的错误,我们首先还是在 DB2CLP 窗口中,查询错误代码为 SQL0101N 的错误号的帮助信息,具体如清单 13 所示:

清单 13 . 查询错误代码为 SQL0101N 代表的含义

C:\> db2 ? SQL0101N 
 
 
 SQL0101N 语句太长或者太复杂。 
 
说明 : 
 
因为超过长度或复杂度方面的系统限制,或因为涉及到太多的约束或触发器,所以不能处理该语句。 
 
如果该语句是创建或修改压缩描述的语句,那么新的压缩描述对系统目录中相应的列而言可能太大。 
 
联合系统用户还应检查该语句是否: 
 * 超过对长度或复杂性的联合服务器系统限制或数据源系统限制。 
 * 违反其他某些特定于数据源的限制。 
 
不能处理该语句。 
 
注 : 在对运行于不同代码页下的应用程序和数据库执行字符数据转换时,转换的 
结果超过长度限制。 
 
用户响应 : 
 
执行下列任意一项操作: 
 * 将该语句分成为更短或简单些的 SQL 语句。 
 * 增大数据库配置文件中语句堆(stmtheap)的大小。 
 * 减少语句中涉及的检查或引用约束的数量,或者减少外键的索引数量。 
 * 减少该语句中涉及的触发器数。 
 * 联合系统用户:请确定哪个数据源使该语句失败(请参阅《故障诊断指南》以 
了解标识失败的数据源所要遵循的过程),并确定拒绝的原因。如果拒绝来自 
联合服务器,那么在数据库配置文件中增大语句堆(stmtheap)的大小。 
 
 sqlcode:-101 
 
 sqlstate:54001

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:DB 日常 维护

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接