WEB开发网
开发学院数据库DB2 DB2 日常维护技巧,第 4 部分:数据库代码页、表结... 阅读

DB2 日常维护技巧,第 4 部分:数据库代码页、表结构等

 2010-04-15 00:00:00 来源:WEB开发网   
核心提示: 针对这种问题,我们需要查找 DB2 信息中心,DB2 日常维护技巧,第 4 部分:数据库代码页、表结构等(6),使用短语“代码集地域代码”来搜索数据库代码页对应的字符集,然后修改 DB2CODEPAGE 环境配置变量,所占的记录空间仍标记为该表所用,而不立即释放空间,比如

针对这种问题,我们需要查找 DB2 信息中心,使用短语“代码集地域代码”来搜索数据库代码页对应的字符集,然后修改 DB2CODEPAGE 环境配置变量,比如数据库字符集为 DBK,我们修要修改 DB2CODEPAGE 环境配置变量为 1386,具体如清单 27 所示:

清单 27. 修改 DB2CODEPAGE 环境配置变量为 1386

C:\> db2set db2codepage=1386 
 
 C:\> db2 terminate 
 DB20000I TERMINATE 命令成功完成。 
 

命令成功完成。

如何快速清空一个大表中的所有数据

在 DB2 数据库中,如果想快速清空一张大表(类似在 ORACLE 中使用 TRUNCATE TABLE 快速清空一张大表),有两种方法:

使用 “ ALTER TABLE 表名 ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE ” 命令。

使用空文件为数据文件导入并替换表中数据。

在 windows 平台,可以先使用 EXPORT 导出一个空文件,再使用 IMPORT 命令从空文件中导入并替换该表中数据,比如:
export to test.ixf of ixf messages log.txt select * from test where 1=2
import from test.ixf of ixf messages log1.txt replace into test

在 UNIX 平台,除了使用 A 方法以外,还可以使用从空(NULL)中导入并替换该表数据,比如:
import from /home/null of del replace into test

如果使用“ DELETE TABLE ”命令删除整个大表中的数据,由于这个命令采用逐条删除,并把该操作记入活动的交易日志,将会耗费大量的活动日志空间,有可能造成数据库交易日志已满错误,另外,这样删除大表数据耗费的时间也很长。对于属于 DMS 表空间的表来说,删除命令逐条扫描记录,所占的记录空间仍标记为该表所用,而不立即释放空间,需要用 REORG 命令才可以释放剩余空间。

上一页  1 2 3 4 5 6 7  下一页

Tags:DB 日常 维护

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