ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 排障经历:使用db2relocatedb

排障经历:使用db2relocatedb

原创 Linux操作系统 作者:王飞鹏2011 时间:2012-11-07 08:19:41 0 删除 编辑
一个客户重启LINUX服务器后,db2实例可以启动,但是无法成功连接,通过检查db2diag.log,出现了下面的错误。这种错误通常是由于其他db2进程例如db2cos没有释放加在控制文件上的锁导致的。常规的解决办法是使用db2_kill杀掉其他进程,以及用ipclean清理IPC资源。我都试了,甚至也试了重启机器,这个问题都无法解决。
2012-11-06-13.43.03.157979+480 I49705715E481       LEVEL: Error
PID     : 910                  TID  : 47931096820032PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000          DB   : YXDB
APPHDL  : 0-19                 APPID: 10.137.249.101.2938.121106054304
AUTHID  : DB2INST1
EDUID   : 31                   EDUNAME: db2agent (YXDB) 0
FUNCTION: DB2 UDB, base sys utilities, sqle_GetRelDBLockForInstance, probe:25
MESSAGE : /arch/db2log/db2inst1/NODE0000/SQL00001/SQLINSLK
2012-11-06-13.43.03.157979+480 I49706197E572       LEVEL: Severe
PID     : 910                  TID  : 47931096820032PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000          DB   : YXDB
APPHDL  : 0-19                 APPID: 10.137.249.101.2938.121106054304
AUTHID  : DB2INST1
EDUID   : 31                   EDUNAME: db2agent (YXDB) 0
FUNCTION: DB2 UDB, base sys utilities, sqeLocalDatabase::FirstConnect, probe:5
RETCODE : ZRC=0x870F0016=-2029060074=SQLO_SHAR "File sharing violation."
          DIA8519C A file sharing violation has occurred, filename was "".
 
后来,注意到,客户所使用数据库的DB PATH是在/arch/db2log 这个NFS文件系统挂载上的,所以尝试着用db2relocatedb命令将DB PATH从/arch/db2log移动到盘阵/data1/dbpath,最终解决了这个问题。
 
步骤如下:
 
1,检查原来的建库语句:
create database yxdb automatic storage yes on /data1, /data2, /data3 dbpath on /arch/db2log ALIAS yxdb2 using codeset UTF-8 territory CN pagesize 32 k
 
2,复制/arch/db2log下所有文件到新的路径/data1/dbpath
cp -rf /arch/db2log/*   /data1/dbpath
3,编辑移动文件rel.cfg,内容如下:
DB_NAME=yxdb
DB_PATH=/arch/db2log,/data1/dbpath
INSTANCE=db2inst1
 4,使用db2relocatedb命令修改DB PATH
db2relocatedb -f rel.cfg
Files and control structures were changed successfully.
Database was catalogued successfully.
DBT1000I  The tool completed successfully.
 5,成功连接
 db2 connect to yxdb
 Database Connection Information
 Database server        = DB2/LINUX 9.7.6
 SQL authorization ID   = DB2INST1
 Local database alias   = yxdb

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25714482/viewspace-748508/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2011-04-27

  • 博文量
    58
  • 访问量
    587977