
1. 使用 “ ALTER TABLE 表名 ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE ”
命令。2. 使用空文件为数据文件导入并替换表中数据。* 在 windows 平台,可以先使用 EXPORT 导出一个空文件,再使用 IMPORT 命令从空文件中导入并替换该表中数据,比如:export to test.ixf of ixf messages log.txt select * from test where 1=2import 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 命令才可以释放剩余空间。用 LIST TABLESPACE SHOW DETAIL 可以对比两条命令执行后表空间中的剩余空间的大小。使用以上两种方法快速清空一张大表,将使 DB2交易日志只记录该条命令,并立即释放所占用的空间,而不会像删除命令一样逐条扫描记录,从而节省大量的数据库交易日志和处理时间。用 LOAD 命令加REPLACE 参数可以达到类似 IMPORT 命令加 REPLACE 的效果,但是由于 LOAD本身不记日志,所以对于可恢复的数据库,LOAD 完成后建议马上做一下联机备份的,相比之下,IMP1、首先确定有哪几个DB2
实例及其数据库,并清除数据库和实例
1
2
3
4
#/opt/IBM/db2/VXX.Y/instance/db2ilist ###这里是root用户执行
#su - <instName>
$db2 list db directory
上面示例显示如何获得实例和数据库,根据你安装db2软件的目录和版本不同,命令的位置可能不同。找到实例和数据库后,先删除数据库,再停止实例,最后删除实例。过程一般如下
1
2
3
4
$db2 drop db <dbname>
$db2stop force
$exit
#/opt/IBM/db2/VXX.Y/instance/db2idrop <instName> ###这里是root用户执行
2、上面做完后,可以删除db2软件了
1
#/opt/IBM/db2/VXX.Y/install/db2_deinstall ###这里是root用户执行
根据提示输入安装目录后,这个脚本会执行删除 *** 作
3、最后,可以看下安装目录下是否有残留文件和目录,可以直接rm删掉。
上面的步骤是单机的DB2删除过程。现在DB2有hadr、purescale集群等环境,在这些环境下清除步骤就更复杂了,这里先不写了。
评论列表(0条)