如何彻底删除db2配置
‘壹’ DB2如何快速清空一个大表中的所有数据
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=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 命令才可以释放剩余空间。用LIST TABLESPACE SHOW DETAIL 可以对比两条命令执行后表空间中的剩余空间的大小。 使用以上两种方法快速清空一张大表,将使 DB2 交易日志只记录该条命令,并立即释放所占用的空间,而不会像删除命令一样逐条扫描记录,从而节省大量的数据库交易日志和处理时间。
‘贰’ 如何在Linux下干净卸载db2数据库
1、首先确定有哪几个DB2实例及其数据库,并清除数据库和实例
#/opt/IBM/db2/VXX.Y/instance/db2ilist###这里是root用户执行
#su-<instName>
$db2listdbdirectory
上面示例显示如何获得实例和数据库,根据你安装db2软件的目录和版本不同,命令的位置可能不同。找到实例和数据库后,先删除数据库,再停止实例,最后删除实例。过程一般如下
$db2dropdb<dbname>
$db2stopforce
$exit
#/opt/IBM/db2/VXX.Y/instance/db2idrop<instName>###这里是root用户执行
2、上面做完后,可以删除db2软件了
#/opt/IBM/db2/VXX.Y/install/db2_deinstall###这里是root用户执行
根据提示输入安装目录后,这个脚本会执行删除操作
3、最后,可以看下安装目录下是否有残留文件和目录,可以直接rm删掉。
上面的步骤是单机的DB2删除过程。现在DB2有hadr、purescale集群等环境,在这些环境下清除步骤就更复杂了,这里先不写了。
‘叁’ 如何删除DB2中的表空间
可用语句来删除:
sql">droptablespace表空间名;
表空间:
表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。
‘肆’ 如何清理db2diag.log
db2diag.log,是用来记录DB2数据库运行中的信息的文件。可以通过此文件,查看记录的有关DB2数据库详细的错误信息。此文件也是不断增大的,需要定期进行清理。 可以通过查看实例的配置参数DIAGPATH,来确定db2diag.log文件是放在哪个目录下:db2 get dbm cfg 如果Diagnostic data directory path(DIAGPATH) = /home/db2inst1/sqllib/db2mp,则此文件是放在/home/db2inst1/sqllib/db2mp目录下。当文件系统/home的使用率达到80%-90%左右时,应及时删除db2diag.log文件。 请按以下正确步骤操作: 确认应用、DB2已经停止。 将原db2diag.log文件备份到其它文件系统下。 删除db2diag.log文件。删除后,DB2会自动创建一个新的文件。 注意:如果你觉得以上操作不保险的话,Db2提供了自动归档db2diag.log的命令db2diag -a 自动将该文件以日期时间命名
‘伍’ 如何 清理 db2 node0000
DB2归档日志的相关信息保存在恢复历史文件中,可以通过 db2 list history 命令查看。
db2inst1@suse-db:~> db2 list history archive log all for ggyy
List History File for ggyy
Number of matching file entries = 6
Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100103235553 1 D S0000038.LOG C0000007
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Comment:
Start Time: 20100103235553
End Time: 20100103235553
Status: A
----------------------------------------------------------------------------
EID: 80 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000038.LOGOp Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100103235553 N S0000038.LOG
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Comment: ARCHIVE LOG
Start Time: 20100103235553
End Time: 20100103235553
Status: A
----------------------------------------------------------------------------
EID: 81
Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100103235608 1 D S0000039.LOG C0000007
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Comment:
Start Time: 20100103235608
End Time: 20100103235608
Status: A
----------------------------------------------------------------------------
EID: 82 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000039.LOG
......
清除这些信息,需要使用 db2 prune history 命令。该命令会清除指定时间戳及之前的所有条目(不只是归档日志的)。默认情况下,系统不会清除最近一次数据库全备之后的归档日志信息。
db2inst1@suse-db:~> db2 prune history 20100103235553
SQL1024N A database connection does not exist. SQLSTATE=00000
db2inst1@suse-db:~> db2 connect to ggyy
Database Connection Information
Database server = DB2/LINUX 9.7.0
SQL authorization ID = DB2INST1
Local database alias = GGYY
db2inst1@suse-db:~> db2 prune history 20100103235553
DB20000I The PRUNE command completed successfully.
db2inst1@suse-db:~> db2 list history archive log all for ggyy | head -20
List History File for ggyy
Number of matching file entries = 6
Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100103235553 1 D S0000038.LOG C0000007
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Comment:
Start Time: 20100103235553
End Time: 20100103235553
Status: A
----------------------------------------------------------------------------
EID: 80 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000038.LOG
db2inst1@suse-db:~> db2 list history backup all for ggyy
List History File for ggyy
Number of matching file entries = 0
对数据库进行一次全备,再次尝试清除:
db2inst1@suse-db:~> db2 backup db ggyy online to /data/backup
Backup successful. The timestamp for this backup image is : 20100104004121
db2inst1@suse-db:~> db2 connect to ggyy
Database Connection Information
Database server = DB2/LINUX 9.7.0
SQL authorization ID = DB2INST1
Local database alias = GGYY
db2inst1@suse-db:~> db2 prune history 20100103235553
DB20000I The PRUNE command completed successfully.
db2inst1@suse-db:~> db2 list history archive log all for ggyy | head -20
List History File for ggyy
Number of matching file entries = 5
Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100103235608 1 D S0000039.LOG C0000007
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Comment:
Start Time: 20100103235608
End Time: 20100103235608
Status: A
----------------------------------------------------------------------------
EID: 82 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000039.LOG
通过使用 and delete 参数,可以在清理条目的同时删除对应的归档日志文件。
db2inst1@suse-db:~> ls -l /data/palog/db2inst1/GGYY/NODE0000/C0000007
total 48
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:55 S0000038.LOG
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:56 S0000039.LOG
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:56 S0000040.LOG
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-04 00:41 S0000041.LOG
db2inst1@suse-db:~> db2 prune history 20100103235608 and delete
DB20000I The PRUNE command completed successfully.
db2inst1@suse-db:~> db2 list history archive log all for ggyy | head -20
List History File for ggyy
Number of matching file entries = 3
Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100103235618 1 D S0000040.LOG C0000007
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Comment:
Start Time: 20100103235618
End Time: 20100103235618
Status: A
----------------------------------------------------------------------------
EID: 84 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000040.LOG
db2inst1@suse-db:~> ls -l /data/palog/db2inst1/GGYY/NODE0000/C0000007
total 36
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:55 S0000038.LOG
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:56 S0000040.LOG
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-04 00:41 S0000041.LOG
可以看到,归档日志文件S0000039.LOG已被删除,但S0000038.LOG还存在,因为之前已经清除了S0000038.LOG的相关条目。
尝试同时清除S0000040.LOG和S0000041.LOG:
db2inst1@suse-db:~> db2 list history archive log all for ggyy | tail -15
Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100104004127 1 D S0000041.LOG C0000007
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Comment:
Start Time: 20100104004127
End Time: 20100104004128
Status: A
----------------------------------------------------------------------------
EID: 86 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000041.LOG
db2inst1@suse-db:~> db2 prune history 20100104004127 and delete
DB20000I The PRUNE command completed successfully.
db2inst1@suse-db:~> db2 list history archive log all for ggyy | head -20
List History File for ggyy
Number of matching file entries = 1
Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100104004127 1 D S0000041.LOG C0000007
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Comment:
Start Time: 20100104004127
End Time: 20100104004128
Status: A
----------------------------------------------------------------------------
EID: 86 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000041.LOG
db2inst1@suse-db:~> ls -l /data/palog/db2inst1/GGYY/NODE0000/C0000007/
total 24
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:55 S0000038.LOG
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-04 00:41 S0000041.LOG
S0000041.LOG依然存在,因为它是全备之后生成的。如果想要强制清除,可以使用 with force option 参数。
db2inst1@suse-db:~> db2 prune history 20100104004127 with force option and delete
DB20000I The PRUNE command completed successfully.
db2inst1@suse-db:~> db2 list history archive log all for ggyy | head -20
List History File for ggyy
Number of matching file entries = 0
db2inst1@suse-db:~> ls -l /data/palog/db2inst1/GGYY/NODE0000/C0000007/
total 12
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:55 S0000038.LOG
注意,这里连带着将数据库全备的条目也删除了,但备份文件还在:
db2inst1@suse-db:/data/backup> db2 list history backup all for ggyy
List History File for ggyy
Number of matching file entries = 0
db2inst1@suse-db:/data/backup> ls -l /data/backup
total 99994
-rw------- 1 db2inst1 db2iadm1 102293504 2010-01-04 00:41 GGYY.0.db2inst1.NODE0000.CATN0000.20100104004121.001
此外,使用 db2 prune logfile 命令可以清除活动日志目录下的在线归档日志文件,但对离线归档日志文件无效,这里不再赘述。
‘陆’ 如何删除db2许可证 db2licm
当没有控制中心时,db2licm 工具执行基本的许可证功能。它添加、除去、列示
和修改在本地系统上注册的许可证。执行指定了 -l 参数的 db2licm 工具以了解
产品的产品标识:
db2licm [-a filename]
[-e proct-identifier HARD | SOFT]
[-p proct-identifier
CONCURRENT | OFF]
[-r proct-identifier]
[-u proct-identifier num-users]
[-c proct-identifier num-connectors]
[-g filename]
[-x]
[-l][show detail]
[-v]
[-?]
命令选项是:
-a 添加产品的许可证。指定包含了有效许可证信息的文件名。这可从您
的许可产品 CD 中获得,或者与 IBM 代表或授权经销商联系。
-e 更新系统上的强制策略。有效值是:HARD 和 SOFT。HARD 指定将不允
许没有许可证的请求。SOFT 指定将没有许可证的请求记录下来,但是
不限制。
-p 更新要在系统上使用的许可证策略类型。可以为并发用户策略指定关键
字 CONCURRENT。指定 OFF 以关闭所有策略。
-r 除去产品的许可证。指定产品标识。
-u 更新已购买的用户许可证的数目。指定产品标识和用户数。
-c 更新已购买的连接器权利的数目。指定产品标识和连接器权利数。
-g 生成一致性报告。指定用来存储输出的文件名。
-x 复位许可证一致性信息,以便生成许可证一致性报告。
-l[show detail]
列示具有可用许可证信息(包括产品标识)的所有产品。指定 [show
detail] 以查看有关许可功能部件(如果有)的详细信息。
-v 显示版本信息。
-? 显示帮助信息。指定了此选项时,将忽略其他所有选项,仅显示帮助信
息。
‘柒’ AIX如何删除DB2数据库,用什么命令
查看相应DB2版本的DB2 Quick Beginning,都有介绍如何卸载。
可用DB2安装光盘进行卸载,即db2_deinstall的功能。
可以手工删除,具体步骤如下:
1、备份数据库,删除数据库
2、db2admin stop 停管理服务
3、db2stop 停instance
4、/usr/.../instance/dasidrop das_name 删除管理服务
5、/usr/.../instance/db2idrop instance_name 删除instanec
6、smitty remove 删除DB2字样的包
7、删除相应的用户、组,删除/etc/services文件中db2字样的行等等。
‘捌’ 如何删除db2注册表
好像没有什么批处理可以一下删除全部,正确卸载DB2注册变量会被删除。
如果DB2没有卸载干净的话,需要手动去删除。
运行regedit,然后CTRL+F 搜DB2关键字,删除注册变量。
‘玖’ db2 删除数据库时,说该数据库正在使用,删除不了
db2 删除数据库时,说该数据库正在使用,删除不了是设置错误造成的,解决方法为:
1、打开电脑,进入电脑操作系统,使用快捷键组合WIN+R键可以直接打开运行,输入dbcmd命令行,即可直接打开db2命令行dbcmd。