db2将一些数据库丢弃一次

时间:2017-09-25 18:34:20

标签: shell unix db2

最近我开始使用db2,并创建了一些数据库 要删除单个数据库,我应该使用db2 drop db demoDB,有没有办法一次删除所有数据库?

由于

2 个答案:

答案 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自然方式可以做到这一点。但我通常会做以下事情。在开始时,查看实例上所有数据库的方法是以下之一:

  1. db2 list db directory
  2. db2 list active active databases
  3. 取决于您的需要(所有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

    希望它对你有所帮助。 :)