工作内容如题,我要做的事情大体如下:

1,正确备份可用数据库;

2,安装64位的cent os 6.3;

3,将1备份的数据恢复到新的cent os 6.3系统上。

第一件事情,就是备份一个可用的数据库。备份这个数据库是为了移行,而为什么要移行,通常原因是

硬件更替,或者为了预防突发挂机事件导致的数据库交互工作延迟。我这边的移行却是另外一种原因,

是为了解决软件问题,因为使用权限过期了,于是暂时放到另外一台机器上面。

正确备份这个看起来确实没啥难度的,不过做的时候磕磕绊绊也好多。开始做的时候,我想的是导出导入,

不过这得有个前提,那就是导入必须要先建库,而我这边并没有建库语句。于是觉得这条路走不通,

就选择了备份还原。

备份命令尝试了好多。最终备份成功的时候,是这样做的:

1,在本地win7系统打开SSH(SSH Secure Shell Client),输入远端旧DB2服务器(linux)的URL+用户名+密码,

端口默认22。

2,进入console之后,切换用户

$ su - db2inst1 ------注意这里需要有 - ,没有的话,那么切换的不彻底,不这样的话,shell环境还是其他用户的,

当然root环境无所谓,不过为了养成良好习惯,尽量避免直接用su吧,除非对linux已经非常熟练了。

用户切换成功后,开始进行备份

$ db2

之后命令行如下

db2=>list applications

db2=>db2stop force

db2=>db2start

db2=> backup db TBXDBF (use tsm)

如果报错的话,可以不要后边的use tsm选项(这里我就报错了,搞了好久,最后舍弃就好了),命令执行成功之后,

会告知tsm这个时间戳的值,记下来用来恢复。

备份成功之后得到的文件名称是:TBXDBF.0.db2inst1.NODE0000.CATN0000.20140318000559.001(其中TBXDBF是database名,20140318000559是时间戳)

到这里备份结束。

接下来我把备份的文件通过SSH拖动拷贝本地桌面,使用的传输方式是默认的Binary。数据库比较大,大概10+分钟拷贝完成。

接下来安装linux系统,安装centos6.3的话,参照百度文库里面的文章,图文形式的比较方便进行安装。

给个链接:

http://wenku.baidu.com/link?url=Ob0wTHKHl9pIGr3oc18HFWMAZwBHZeAM4vuBMkJ9dZyIJlo7XqbCxrw5yftisDmIUkqh5-t6fxfzN3mXCkRn3UFg4H8SxuAY4zIOOaKtoo3

要注意的地方是:

1,安装语言尽量使用英文。(使用其他语言的话,在SSH客户端会出现乱码,百度去搜索其他语言的编码,会让你醉了的。)

2,不推荐设置hostname,不过你不设置的话,他可能也会帮你默认给改一个出来。总之进去之后还是要修改。参照CentOS6.3 Hostname设定修改 (2014-10-13 16:40)

3,不推荐root密码设置的很复杂。

4,如果已经分区(一定要有/home,/这两个分区,其他的可以不要的)的话,创建分区那一步可以不要。

5,如果不是覆盖安装的话,希望保留硬盘数据,那么不要全盘格式化。另外,安装的时候不要选择覆盖安装。

6,记得选个桌面(Mimimal Desktop就不错),当然也可以选手顺上面的basicserver,看自己需求来。

安装系统的周期大概在半个小时,所以尽量不要第一遍就成功,多试几遍能够学到更多。

安装db2的话,可以参照百度文库,我这边是参照项目里面的文档来安装的,基本都是默认安装。

需要注意的就是

1, 第七步 hostname 写 localhost,port名:50001。

2,需要输入密码的时候密码和用户名不变,然后用户名不需要改变。

3,最后的servicename不需要修改,然后port用50000。

按手顺默认安装应该就OK了。

恢复数据的时候,也是在命令这一块走了好多弯路。见 转:db2 backup 及 restore (2014-10-13 20:18)

1,SSH切换到用户 db2inst1

$ su - db2inst1

打开文件管理,拖动本地备份文件到相对应的目录下。我这里是拖动到 /home/db2inst1下面。

2,接下来的操作我不是在win7下面完成的,是直接到linux服务器上面,打开命令窗口。

切换到用户db2inst1。

输入:

db2 restore database tbxdbf from /home/db2inst1 taken at 20140318000559

然后就等待,直至成功导入。

*之前我是在win7的ssh下面敲各种恢复命令,总是走到那个访问文件权限的错误终止了。具体为啥就不去研究了。

但是当时想到了应该和用户有关。而且用 ls -all 看到的文件属性里面有用户。想到db2inst1下操作的文件,用

db2inst1用户拷贝进去,完了,在服务器本地操作,而不是ssh终端,应该就不会有问题了。其他方法没有再试。

移行到此结束。

另外db2客户端连接此数据库的时候,发生了个小插曲(见 关于Toad连接DB2的sqlstate=08001错误),我一直以为搞定了的,结果发现前面是蒙对了几次,后面

才晓得,原来前面不懂得为什么出错。 移行结束。

centos6.3 + db2v9.7的数据库移行的更多相关文章

  1. Akka(41): Http:DBTable-rows streaming - 数据库表行交换

    在前面一篇讨论里我们介绍了通过http进行文件的交换.因为文件内容是以一堆bytes来表示的,而http消息的数据部分也是byte类型的,所以我们可以直接用Source[ByteString,_]来读 ...

  2. centos6.5环境通达OA数据库mysql5.0.67升级至mysql5.5.48方案

    centos6.5环境通达OA数据库mysql5.0.67升级至mysql5.5.42方案 整体方案: 环境准备,在备用服务器安装mysql5.5数据库 1.停用生产环境的应用访问 直接修改web的访 ...

  3. Hbase与Oracle比较(列式数据库与行式数据库)

    Hbase与Oracle比较(列式数据库与行式数据库) 1 主要区别 Hbase适合大量插入同时又有读的情况 Hbase的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道时间.   Hbase本质上只 ...

  4. Oracle数据库多行记录转换一行并排序函数

    Oracle数据库多行记录转换一行并排序方法 在ORACLE数据库查询中,我们通常会要求用到将多行记录转换成一行并排序,这时候我们自然会想到Oracle的一个“wx_concat”函数,可以将多行记录 ...

  5. centos6下yum安装mariadb数据库的解决方法

    在centos6下Yum安装mariadb数据库时老是提示无法正常安装,看错误日志才发现,是没有mariadb release源文件在/etc/yum.repos.d/中,为此,我特意在新建文件: # ...

  6. centos6.5下安装mysql数据库

    centos6.5下安装mysql数据库 1.安装mysql数据库:yum install mysql-server 2.临时启动数据库:service mysqld start 3.开机启动数据库: ...

  7. CentOS6.5系统,mysql数据库的安装

    1.查看数据库中已安装的版本: [mdata@bogon ~]$ yum list installed|grep mysqlmysql-libs.x86_64 5.1.71-1.el6 @anacon ...

  8. Java如何实现对Mysql数据库的行锁

    场景如下:     用户账户有余额,当发生交易时,需要实时更新余额.这里如果发生并发问题,那么会造成用户余额和实际交易的不一致,这对公司和客户来说都是很危险的. 那么如何避免:     网上查了下,有 ...

  9. Linux(CentOS6.7) 安装MySql5.7数据库

    linux(CentOS6.7) 环境Mysql 5.7.17安装教程分享给大家,供大家参考,具体内容如下: 1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/ ...

随机推荐

  1. Android调用Sqlite数据库时自动生成db-journal文件的原因

    数据库为了更好实现数据的安全性,一半都会有一个Log文件方便数据库出现意外时进行恢复操作等.Sqlite虽然是一个单文件数据库,但麻雀虽小五脏俱全,它也会有相应的安全机制存在 这个journal文件便 ...

  2. Installing Cygwin and Starting the SSH Daemon

    This chapter explains how to install Cygwin and start the SSH daemon on Microsoft Windows hosts. Thi ...

  3. Android手机号码不是所有的都能获取

    手机号码不是所有的都能获取.只是有一部分可以拿到.这个是由于移动运营商没有把手机号码的数据写入到sim卡中.SIM卡只有唯一的编号,供网络与设备识别那就是IMSI号码,手机的信号也可以说是通过这个号码 ...

  4. scanf

    scanf函数: (1)与printf函数一样,都被定义在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>.它是格式输入函数,即按用户指定的格式 ...

  5. 一个有趣的IE内核检测网站

    http://se.360.cn/v5/iecoretest.html 该网站能有效检测您浏览器的内核,以及版本,操作系统. 找到这个网址,是因为最近解决WebBrowser自动调节IE版本功能时发现 ...

  6. intent 传参数

    一.传递List<String>和List<Integer>以下以传递List<String>为例,发送List<String>语法为:intent.p ...

  7. 解密SQL SERVER 2005加密存储过程,函数

    在SQL SERVER 2005中必须用专用管理连接才可以查看过程过程中用到的表 EG:sqlcmd -A 1>use test 2>go 1>sp_decrypt 'p_testa ...

  8. C++数据结构之List--线性实现

    List(表)类似于队列,不同于队列的是,list可以随机读取/修改/插入某一position,通过position这一位置信息就可以直接修改相应位置的元素.实现方式和队列的类似,多了个positio ...

  9. C++11 move_iterator

    template<typename Iterator> class move_iterator { Iterator current; public: typedef Iterator i ...

  10. 用javascript正则表达式来格式化金额

    <html><head><script> function a() { var amount = "-22334.334455"; //if(/ ...