最近我开始使用db2,并创建了一些数据库
要删除单个数据库,我应该使用db2 drop db demoDB
,有没有办法一次删除所有数据库?
由于
答案 0 :(得分:0)
考虑到之前的答案,这组行在不创建脚本的情况下也是如此。
db2 list db directory | tail -n +6 | sed 'N;N;N;N;N;N;N;N;N;N;N;s/\n/ /g' | awk '$28 = /Indirect/ {print "db2 drop database "$7}' | source /dev/stdin
这将过滤本地数据库,并执行生成的输出。
(仅适用于英语环境)
答案 1 :(得分:-1)
首先,我不认为有任何db2自然方式可以做到这一点。但我通常会做以下事情。在开始时,查看实例上所有数据库的方法是以下之一:
取决于您的需要(所有DB或仅活动DB)
我确定你可以获得更多的DB列表。(在DB2用户指南中)
我通常删除所有数据库的方法是使用shell脚本: 1.使用' vi db2_drop_all.sh'创建新脚本或者你想要的其他方式。 2.粘贴代码:
#!/bin/bash -x
for db_name in $(db2 list db directory | grep Database | \
grep name | cut -d= -f2); do
db2 drop db $db_name || true
done
exit 0
3。保存更改
4.然后运行脚本(当你切换到你的实例后)sh db2_drop_all.sh
请注意,在步骤2中,您可以根据需要更改DB列表。 (例如db2 list active databases
)
希望它对你有所帮助。 :)