背景
公司内部测试用服务器CentOS,本地虚拟机Ubuntu10。开始从生产服务器拿到一个备份,准备弄到本地做测试,这个还原实验进行了很久,开始是比较顺利的。后来就一直卡在一个db2 connect to上,每次连接都会显示下面的错误:
db2 connect to our_database -- SQL0901N The SQL statement failed because of a non-severe system error. -- Subsequent SQL statements can be processed. (Reason "Scan interface error".) -- SQLSTATE=58004
Google一圈又一圈,没什么符合条件的答案,倒是有个帖子说更新数据库后就正常了。不过当时没有在意,服务器上的版本是:
DB21085I Instance "db2inst1" uses "32" bits and DB2 code release "SQL09071" with level identifier "08020107". Informational tokens are "DB2 v9.7.0.1", "s091114", "IP23033", and Fix Pack "1". Product is installed at "/opt/ibm/db2/V9.7".
而本地虚拟机Ubuntu上装的版本是"DB2 v9.7.0.0",仅仅相差最后一个尾数,谁能想到,这竟然就是原因,报错就告诉我直接升级得了,无语了!!!都9.7了,还犯这种数据库还原的错误,真牛!!!
重新安装新版本数据库后,一切正常,下面把这个过程记录下来。
安装数据库
这一步很重要,直接影响到数据库是否能还原成功,最新的是9.7FixPack3,要是以后有更新的就用新的吧。这个过程都是图形安装,比Oracle简单多了,直接在DB2解压目录执行db2setup就可以了。
$ ./db2setup
DBI1190I db2setup is preparing the DB2 Setup wizard which will guide
you through the program setup process. Please wait.
DBI1160I Non-root install is being performed.
注意红色内容!切到root吧,避免不必要的麻烦。
卸载数据库
一不小心搞错什么就用这招吧!删除功能做得还是相当不错的!照着下面的URL一步步做!
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.qb.server.d