DB2 日常维护技巧,第 1 部分:数据库日志错误处理
2010-04-15 00:00:00 来源:WEB开发网尽量避免在上线之初直接使用“ INSERT INTO … SELECT .. FROM .. ”语句,导入一个很大的事务的方式进行导数,这样会使事务非常大。另外,还可以在系统上线之初把主日志文件的数目(LOGPRIMARY)、辅助日志文件的数目(LOGSECOND)和日志文件大小(4KB)(LOGFILSIZ)三个参数调大,等系统正式上线稳定后,再调回合适的值。
如果是在正式上线后的系统,经常出现这个问题,就需要查找原因,具体的原因可能有:
数据库并发连接比较多
这种情况下,就要考虑适当增加主日志文件的数目(LOGPRIMARY)和日志文件大小(4KB)(LOGFILSIZ)。
有人通过第三方软件或其他工具直接连接到了生产库
在这样的情况下,就要监控数据库,看其是否经常写一些大的语句对数据库进行增删改的操作,如果是的话,建议增加数据库的控制,尽量不要让不相关的人员连接生产库(如果其他人有需要,尽量开放备份库给他们使用,而不要开放生产库,生产库尽量只给业务系统正常使用),如果你使用的是 DB2 V9.5 版本,则可以使用工作负载管理 WLM 对数据库的资源进行调配。如果使用的是 DB2 V9.5 之前的版本,则可以在数据库服务器上通过配置操作系统的方式,限制一些 IP 的访问。
当出现这样的错误时,不要尝试使用 DB2STOP FORCE 命令来强制停掉数据库,建议大家使用 FORCE APPLICATION 命令停掉引起这个错误的应用程序或者停掉所有的应用程序。也不建议大家使用 KILL 命令来杀掉任何 DB2 相关的进程。
没有正确设置数据库代码页
由于数据库的代码页在数据库创建之后是无法修改的,所以在创建数据库时一定要选择正确的代码页。当应用程序和数据库使用的代码页不相同时,则在处理中文等情况下需要进行字符转换,因为在应用程序和数据库代码页直接映射数据需要其他开销,会使数据库性能受到影响。在某些情况下,不合适的数据库代码页会造成 JDBC、ODBC 等访问中文字段被截断(包括控制中心),这种情况需要重建数据库以修改数据库代码页。从全局规划来说,如果应用需要访问多个数据库,那么这多个数据库的代码页应该是一致的。
按照需要,设置正确的代码页。数据库代码页可以在创建数据库时指定:
CREATE DB 中可以显式指定数据库代码页。
在 DB2 V9.5 之前的版本中,CREATE DB 中未指定数据库代码页则取环境变量 db2codepage, db2country ;如果 db2codepage, db2country 没有指定,则取 Locale 。
在 DB2 V9.5 中,如果 CREATE DB 中没有指定数据库代码页,默认值将是 UTF-8 。
当你遇到这样的问题时(在创建数据库时指定了不正确的代码页),需要先将数据库中的数据导出,然后重建数据库,再将数据导入。如果有疑问,建议拨打 IBM 技术支持中心的电话:8008101818 。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
更多精彩
赞助商链接