centos6.3 + db2v9.7的数据库移行
工作内容如题,我要做的事情大体如下:
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的数据库移行的更多相关文章
- Akka(41): Http:DBTable-rows streaming - 数据库表行交换
在前面一篇讨论里我们介绍了通过http进行文件的交换.因为文件内容是以一堆bytes来表示的,而http消息的数据部分也是byte类型的,所以我们可以直接用Source[ByteString,_]来读 ...
- centos6.5环境通达OA数据库mysql5.0.67升级至mysql5.5.48方案
centos6.5环境通达OA数据库mysql5.0.67升级至mysql5.5.42方案 整体方案: 环境准备,在备用服务器安装mysql5.5数据库 1.停用生产环境的应用访问 直接修改web的访 ...
- Hbase与Oracle比较(列式数据库与行式数据库)
Hbase与Oracle比较(列式数据库与行式数据库) 1 主要区别 Hbase适合大量插入同时又有读的情况 Hbase的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道时间. Hbase本质上只 ...
- Oracle数据库多行记录转换一行并排序函数
Oracle数据库多行记录转换一行并排序方法 在ORACLE数据库查询中,我们通常会要求用到将多行记录转换成一行并排序,这时候我们自然会想到Oracle的一个“wx_concat”函数,可以将多行记录 ...
- centos6下yum安装mariadb数据库的解决方法
在centos6下Yum安装mariadb数据库时老是提示无法正常安装,看错误日志才发现,是没有mariadb release源文件在/etc/yum.repos.d/中,为此,我特意在新建文件: # ...
- centos6.5下安装mysql数据库
centos6.5下安装mysql数据库 1.安装mysql数据库:yum install mysql-server 2.临时启动数据库:service mysqld start 3.开机启动数据库: ...
- CentOS6.5系统,mysql数据库的安装
1.查看数据库中已安装的版本: [mdata@bogon ~]$ yum list installed|grep mysqlmysql-libs.x86_64 5.1.71-1.el6 @anacon ...
- Java如何实现对Mysql数据库的行锁
场景如下: 用户账户有余额,当发生交易时,需要实时更新余额.这里如果发生并发问题,那么会造成用户余额和实际交易的不一致,这对公司和客户来说都是很危险的. 那么如何避免: 网上查了下,有 ...
- Linux(CentOS6.7) 安装MySql5.7数据库
linux(CentOS6.7) 环境Mysql 5.7.17安装教程分享给大家,供大家参考,具体内容如下: 1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/ ...
随机推荐
- [开发笔记]-获取歌曲ID3信息
ID3介绍: ID3,一般是位于一个mp3文件的开头或末尾的若干字节内,附加了关于该mp3的歌手,标题,专辑名称,年代,风格等信息,该信息就被称为ID3信息,ID3信息分为两个版本,v1和v2版. 获 ...
- java中的日志组件-log4j
1.为什么使用日志组件 Log4J是Apache的一个开放源代码项目,它是一个日志操作包,通过使用Log4J,可以指定日志信息输出的目的地,如控制台.文件.CUI组件.NT的事件记录器:还可以控制每一 ...
- Rhel7的基本使用
1.修改主机名 [root@localhost ~]# cat /etc/hostname localhost.localdomain[root@localhost ~]# hostnamectl s ...
- vs 折叠跟展开所有方法。
Ctrl + M + O: 折叠所有方法 Ctrl + M + M: 折叠或者展开当前方法 Ctrl + M + L: 展开所有方法
- [转]centos7 配置yum源(本地+光盘)
from:http://wangyan.org/blog/setup-local-yum-repo.html 一,本地 1.创建本地yum仓库 1.mkdir -p /yum/local #可以有N级 ...
- ajax异步文件上传,iframe方式
不是我写的,我看了他的,思路很明确: 实现思路: 在js脚本中动态创建form,动态创建form中的内容,将文件上传的内容以隐藏域的方式提交过去,然后写好回调等. 感觉思路不难,但是我写不出来,感觉需 ...
- MongoDB MapReduce(转)
MapReduce MapReduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE).这样做的好处是可以在任务被分解后,可以通过大量机 ...
- iOS: 枚举类型 enum,NS_ENUM,NS_OPTIONS
一般情况下,我们采用C风格的enum关键字可以定义枚举类型. enum{ UIViewAnimationTransitionNone, UIViewAnimationTransitionFlipFro ...
- cometd的js端代码
一:js端使用方式 CometD JavaScript的配置.整个API可以通过一个单一的原型名为org.cometd.Cometd的对象来调用.Dojo工具包中有一个名称为dojox.cometd的 ...
- N的阶乘的长度
阶乘是乘法 , 乘法的话 , 几位数*几位数的位数 就是 哪两个几位数相加 . 这个可以用log10来解决 , 所以有如下代码 . #include<stdio.h> #include& ...