如何在Linux下干净卸载db2数据库

如何在Linux下干净卸载db2数据库,第1张

1、首先确定有哪几个DB2实例及其数据库,并清除数据库和实例

#/opt/IBM/db2/VXX.Y/instance/db2ilist ###这里是root用户执行

#su - <instName>

$db2 list db directory

上面示例显示如何获得实例和数据库,根据你安装db2软件的目录和版本不同,命令的位置可能不同。找到实例和数据库后,先删除数据库,再停止实例,最后删除实例。过程一般如下

$db2 drop db <dbname>

$db2stop force

$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数据库离线和在线全备、增量备份恢复的具体 *** 作步骤:

1、离线全备份

(1)、首先确保没有用户使用DB2:

$db2 list applications for db sample

(2)、停掉数据库并重新启动,以便断掉所有连接:

db2stop force

db2start

(3)、执行备份命令:(使用TSM作为备份的介质)

db2 backup db sample use tsm

备份成功,将会返回一个时间戳。

(4)、检查备份成功:

Db2 list history backup all for sample ,可以看到多了这个备份的纪录。

Db2adutl query命令也可以看到返回值。

(5)、备注:

首先对主节点(catalog表空间在的节点)执行备份命令,再对另外的节点也做这个 *** 作。

2、 在线备份:

(1)、首先打开一下支持在线备份的数据库配置参数:

db2 update db cfg for sample using userexit on 启用用户出口

db2 update db cfg for sample using logretain on 启用归档日志

db2 update db cfg for sample using trackmod on 启用增量备份功能

(需要各个Node都分别做设置)

开启这些参数后,数据库处于backup pending状态,要求做数据库的离线全备份。做一下离线全备份,参考上面的命令。

(2)、在线备份命令如下:

db2 backup db sample online use tsm

备份成功,返回一个时间戳。

(3)、同样可以用db2adutl 和db2 list history察看备份纪录。

(4)、备注:

同样,对每个节点都做这个 *** 作。

3、 在线增量备份

(1)、在开启了必须的三个参数的情况下,做增量备份:

db2 backup db sample online incremental use tsm

备份成功,返回一个时间戳。

(2)、同样可以用db2adutl 和db2 list history察看备份纪录。

(3)、还有一种delta的备份:

db2 backup db sample online

incremental delta use tsm

这两种备份的区别,类似Oracle Exports的Incremental和Cumulative方式,db2的incremental对应oracle的cumulative方式,而db2的delta方式则对应oracle的incremental方式。

(4)、备注:同样,对每个节点都做这个 *** 作。

4、 恢复数据库

(1)、手工drop数据库,模拟灾难恢复的情况,执行如下 *** 作:

db2 drop db sample

(2)、恢复备份历史纪录(每次backup,不论类型,都会备份历史纪录文件)。这里的时间戳应该是最新的:

db2 restore db sample history file use tsm

taken at 20030102223107 buffer 100

(3)、使用db2的恢复帮助工具:

db2ckrst -d sample -t 20030101224424 -r database

命令返回建议的必需的恢复 *** 作命令。

(4)、按照帮助工具的提示,先做版本恢复,恢复命令如下:

db2 restore db sample incremental use tsm taken at 20030101224424 buffer 100

同样先做主节点的恢复,再做其他节点的恢复 *** 作。

(5)、这时数据库处于rollforward-pending state的状态,需要做roll forward *** 作:

db2 rollforward db sample to 2003-01-12-13.27.25.000000 on all nodes and stop

前滚到同一个时间点。这个 *** 作要在主节点来做。

5、说明:

(1)、恢复 *** 作也有online和offline的,区别等同backup的 *** 作。

(2)、按照表空间的备份和恢复类似,加子句TABLESPACE ( tablespace-name 即可。表空间级别的备份/恢复 *** 作要求数据库处于归档日志和启用增量备份模式下。

(3)、恢复的例子中只做了版本恢复。若还有更新的全备份和增量备份的image,可以依次做恢复(请注意使用db2ckrst的建议恢复次序和次数)之后,最后做roll forward.

*** 作数据库命令

1、 启动数据库实例

  #db2start

2、 停止数据库实例

  #db2stop

  如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all就可以了 /db2stop force

3、 创建数据库

  #db2 create db [dbname]

4、 连接到数据库

  #db2 connect to [dbname] user[username] using [password]

5、 断开数据库连接

  #db2 connect reset

*** 作数据表命令

1、 列出所有用户表

  #db2 list tables

2、列出所有系统表

 #db2 list tables for system

3、列出所有表

  #db2 list tables for all

4、 列出系统表

  #db2 list tables for system

5、列出用户表

  #db2 list tables for user

6、 列出特定用户表

  #db2 list tables for schema[user]

参考资料来源:百度百科—DB2


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8961509.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存