背景:
放数据库DB2的服务器是windows server操作系统,又在上面安装了Linux虚拟机,然后在虚拟机上安装了DB2。应用服务器上装的是Tomcat。
要求:
在本地电脑上备份数据库。本操作是离线全备份。
操作前提:
在本地电脑上安装了SSH,并且已经连接了远程的服务器。
步骤:
1.打开SSH的client,在Profiles下找到要连接的服务器,输入密码,进入系统。
2.新建存放备份文件的目录。
(1)如果不是用root用户登录的系统,要先切换到root用户。
执行命令 su root。
(2)创建存放备份文件的目录。执行命令:mkdir /home/db2as。
/home/db2as是我新建的目录。
(3)把该目录的操作权限赋给数据库用户,假如数据库用户名是lilax。被赋予权限的目录是/home/db2as
执行命令: chown lilax:users /home/db2as。
(4)切换到lilax用户。执行命令:su lilax。
3.切换到要备份到的目录。执行命令:cd /home/db2as
4.停掉Tomcat服务。
5.首先确保没有用户使用DB2。
执行命令:db2 list applications for db pbcmoney。pbcmoney是我要备份的数据库名。
6.停掉数据库。执行命令:db2stop force
7.启动数据库服务,以便断掉所有的链接。执行命令:db2start
8.备份数据库。执行命令:db2 backup db pbcmoney。pbcmoney是我要备份的数据名。
备份成功后将会返回一个时间戳。
9.把备份文件复制到本地。打开SSH的file transfer。在右边服务器目录中切换到home/db2as目录,找到刚刚备份的文件。将文件拖到右边你想复制到的本地目录。注意,左边的本地目录路径不能有中文。
10.还原
把备份文件放到/home/lilax目录下,lilax是我的数据库用户名。
在SSH中执行命令:db2 restore db pbcmoney taken at 20101122205614 without rolling forward,其中pbcmoney 是我要还原的数据库名,20101122205614 是备份文件的时间戳,如备份文件名是PBCMONEY.0.lilax.NODE0000.CATN0000.20101122205614.001,则20101122205614即是时间戳Times。