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

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

 2010-04-15 00:00:00 来源:WEB开发网   
核心提示: 如清单 13 所提供的提示,这是由于语句太长或者太复杂引起的,DB2 日常维护技巧,第 3 部分:表的使用状态、用户连接、日志管理与数据恢复等(8),我们首先应该确认一下系统中没有递归的触发器存在(如果有的话,要取消这样的触发器),如果误删除的表所在的表空间没有启用“允许已废弃的表可

如清单 13 所提供的提示,这是由于语句太长或者太复杂引起的,我们首先应该确认一下系统中没有递归的触发器存在(如果有的话,要取消这样的触发器),然后可以考虑修改以下数据库配置参数来解决这个问题:

增大数据库配置文件中语句堆( stmtheap )的大小。

APPLHEAPSZ 缺省应用程序堆( application heap4KB )。

PCKCACHESZ 程序包高速缓存大小( package cache4KB )。

恢复已删除的表 (Dropped Table Recovery)

我们在维护 DB2 数据库的过程中,偶尔会发生误删除表( DROP TABLE )的操作,这种误操作和删除表中的数据不一样。误删除数据,对于归档日志管理模式的数据库来说,可以通过前滚恢复来恢复数据,而误删除表则需要在前滚恢复的时候加上“ recover dropped table tableid to target_dir ”选项,具体的步骤如下:

确保数据库可以进行前滚恢复( DB2 V9 之前的版本要保证数据库配置参数 logretain 或 userexit 打开, DB2 V9 则除了打开 logretain 或 userexit 参数可以把数据库改成归档管理模式,还可以通过修改 logarchmeth1 数据库配置参数来更改日志管理模式)。注意,需要在误删除表操作发生之前,数据库已经处于归档日志管理模式状态。

确保要被恢复的表所在的表空间“允许已废弃的表可恢复”, 在 DB2 V9 之前版本的数据库中,仅限常规表空间( regular tablespace ),在 DB2 V9 的版本中,由于对大型表空间做了修改,已经用来替代 V9 之前版本的常规表空间,所以,大型表空间也可以“允许已废弃的表可恢复”。如果误删除的表所在的表空间没有启用“允许已废弃的表可恢复”功能,可以通过命令启用这个功能:
ALTER TABLESPACE表空间名DROPPED TABLE RECOVERY ON
也可以通过在控制中心使用图形化的方式进行修改,如图 3 所示:

图 3. 修改表空间属性,启用“允许已废弃的表可恢复”功能
DB2 日常维护技巧,第 3 部分:表的使用状态、用户连接、日志管理与数据恢复等

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

Tags:DB 日常 维护

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