zchbaby2000
作者zchbaby2000·2012-11-14 18:05
软件开发工程师·IBM

db2 drop partition

字数 13862阅读 1524评论 0赞 0
DB2删除节点的时候出错
在AIX 6.1, DB2 V9.7.5 的 TEST DB 上 执行 db2stop drop dbpartitionnum 7 命令失败。
注:在执行之前,已经 drop dbpartitionnum verify 成功,可删除。
报 SQL6048N 错误,如下:
$  db2stop DROP DBPARTITIONNUM 7
SQL6076W  Warning! This command will remove all database files on the node for this instance.  Before continuing, ensure that there is no user data on this node by running the DROP NODE VERIFY command.
Do you want to continue ? (y/n)y
2012-11-13 11:28:29     0   0   SQL1064N  DB2STOP processing was successful.
2012-11-13 11:28:29     1   0   SQL1064N  DB2STOP processing was successful.
2012-11-13 11:28:29     2   0   SQL1064N  DB2STOP processing was successful.
2012-11-13 11:28:29     3   0   SQL1064N  DB2STOP processing was successful.
2012-11-13 11:28:29     4   0   SQL1064N  DB2STOP processing was successful.
2012-11-13 11:28:29     5   0   SQL1064N  DB2STOP processing was successful.
2012-11-13 11:28:30     6   0   SQL1064N  DB2STOP processing was successful.
2012-11-13 11:28:31     8   0   SQL1064N  DB2STOP processing was successful.
2012-11-13 11:28:31     7   0   SQL1064N  DB2STOP processing was successful.
2012-11-13 11:28:36     0   0   SQL1063N  DB2START processing was successful.
2012-11-13 11:28:36     2   0   SQL1063N  DB2START processing was successful.
2012-11-13 11:28:36     3   0   SQL1063N  DB2START processing was successful.
2012-11-13 11:28:37     1   0   SQL1063N  DB2START processing was successful.
2012-11-13 11:28:38     4   0   SQL1063N  DB2START processing was successful.
2012-11-13 11:28:38     5   0   SQL1063N  DB2START processing was successful.
2012-11-13 11:28:39     8   0   SQL1063N  DB2START processing was successful.
2012-11-13 11:28:40     6   0   SQL1063N  DB2START processing was successful.
2012-11-13 11:28:41     7   0   SQL1063N  DB2START processing was successful.
2012-11-13 11:28:45     7   0   SQL6034W  Database partition "7" is not being used by any databases.
2012-11-13 11:28:56     0   0   SQL1064N  DB2STOP processing w
$
在 db2diag.log 中 报错如下:
2012-11-13-11.39.17.913333+480 E10483571A1221     LEVEL: Error (OS)
PID     : 14549142             TID  : 258         PROC : db2sysc 7
INSTANCE: snbitest             NODE : 007
EDUID   : 258                  EDUNAME: db2sysc 7
FUNCTION: DB2 UDB, oper system services, sqloAIXLoadModuleTryShr, probe:130
CALLED  : OS, -, dlopen
OSERR   : ENOEXEC (8) "Exec format error"
MESSAGE : Attempt to load specified library failed.
DATA #1 : Library name or path, 40 bytes
/home/snbitest/sqllib/lib64/libdb2iocp.a
DATA #2 : shared library load flags, PD_TYPE_LOAD_FLAGS, 4 bytes
2
DATA #3 : String, 622 bytes
        0509-130 ... /db2home/snbiinst/sqllib/lib64/libdb2iocp.a ..................................
        0509-136   ...... CreateIoCompletionPort......... 0............
                   ............ /unix ...............
        0509-136   ...... GetQueuedCompletionStatus......... 1............
                   ............ /unix ...............
        0509-136   ...... GetMultipleCompletionStatus......... 2............
                   ............ /unix ...............
        0509-022 .................. /home/snbitest/sqllib/lib64/libdb2iocp.a...
        0509-026 ............: ....................................
        0509-192 .........dump -Tv............... .loader ............
                
2012-11-13-11.39.17.915067+480 E10484793A905      LEVEL: Error (OS)
PID     : 14549142             TID  : 258         PROC : db2sysc 7
INSTANCE: snbitest             NODE : 007
EDUID   : 258                  EDUNAME: db2sysc 7
FUNCTION: DB2 UDB, oper system services, sqloAIXLoadModuleTryShr, probe:140
CALLED  : OS, -, dlopen
OSERR   : ENOEXEC (8) "Exec format error"
MESSAGE : Attempt to load specified library augmented with object name failed.
DATA #1 : Library name or path, 50 bytes
/home/snbitest/sqllib/lib64/libdb2iocp.a(shr_64.o)
DATA #2 : shared library load flags, PD_TYPE_LOAD_FLAGS, 4 bytes
262146
DATA #3 : String, 264 bytes
        0509-022 .................. /home/snbitest/sqllib/lib64/libdb2iocp.a(shr_64.o)...
        0509-153   ...... /home/snbitest/sqllib/lib64/libdb2iocp.a ...........................
                   ...........................
        0509-026 ............: ....................................
2012-11-13-11.39.17.915764+480 I10485699A568      LEVEL: Severe
PID     : 14549142             TID  : 258         PROC : db2sysc 7
INSTANCE: snbitest             NODE : 007
EDUID   : 258                  EDUNAME: db2sysc 7
FUNCTION: DB2 UDB, oper system services, sqloLioInitIocp, probe:200
CALLED  : DB2 UDB, oper system services, sqloLoadModule
RETCODE : ZRC=0x870F009B=-2029059941=SQLO_MOD_LOAD_FAILED
          "Dynamic library load failed."
DATA #1 : Library name or path, 12 bytes
libdb2iocp.a
DATA #2 : Library Search Path, 27 bytes
/home/snbitest/sqllib/lib64
2012-11-13-11.39.17.916624+480 E10486268A406      LEVEL: Warning
PID     : 14549142             TID  : 258         PROC : db2sysc 7
INSTANCE: snbitest             NODE : 007
EDUID   : 258                  EDUNAME: db2sysc 7
FUNCTION: DB2 UDB, oper system services, sqloStartAIOCollectorEDUs, probe:30
MESSAGE : ADM0513W  db2start succeeded.  However, no I/O completion port (IOCP)
          is available.
 
 
下面这个文件
/home/snbitest/sqllib/adm/db2remot
的组设置错了,设置成了staff组
 
$ ls -l /home/snbitest/sqllib/adm/db2remot
-r-sr-s---    1 root     staff         98842 Nov  9 17:13 /home/snbitest/sqllib/adm/db2remot
$
把 /home/snbitest/sqllib/adm/db2remot 设为 属于 db2iadm1 用户组
# chown root:db2iadm1  /home/snbitest/sqllib/adm/db2remot
 
做个db2trc吧
 步骤如下:
1. 重现问题之前,请使用db2实例用户执行下面的步骤:
2. 创建一个工作目录,假设名为work,清空 sqlilib/db2dump目录
3. cd work
   export DB2NODE=8
   db2 drop dbpartitionnum verify   
   db2 update dbm cfg using diaglevel 4
   db2 terminate
   db2trc on -f db2trc.dmp -t
4. 重现问题
5. 关闭trace
   db2trc off
   db2trc fmt db2trc.dmp db2trc.fmt
   db2trc flw db2trc.dmp db2trc.flw
   db2 update dbm cfg using diaglevel 3
6. 收集db2trc.fmt, db2trc.flw,(如果比较大,请帮助压缩)
7. 收集db2support(使用命令db2support . -f -d <db_name> -c -g -s  文件生成在当前目录)

$ lsdev -Cc iocp
iocp0 Available  I/O Completion Ports
$
在db2的日志中,报错:
2012-11-14-16.36.48.517770+480 I118059A1002       LEVEL: Severe
PID     : 3998200              TID  : 1           PROC : db2stop
INSTANCE: snbitest             NODE : 000
EDUID   : 1
FUNCTION: DB2 UDB, base sys utilities, sqleIssueStartStop, probe:100
DATA #1 : Hexdump, 136 bytes
0x0FFFFFFFFFFF5270 : 5351 4C43 4120 2020 0000 0088 FFFF E860    SQLCA   .......`
0x0FFFFFFFFFFF5280 : 0000 2020 2020 2020 2020 2020 2020 2020    ..             
0x0FFFFFFFFFFF5290 : 2020 2020 2020 2020 2020 2020 2020 2020                   
0x0FFFFFFFFFFF52A0 : 2020 2020 2020 2020 2020 2020 2020 2020                   
0x0FFFFFFFFFFF52B0 : 2020 2020 2020 2020 2020 2020 2020 2020                   
0x0FFFFFFFFFFF52C0 : 2020 2020 2020 2020 5351 4C45 5353 434D            SQLESSCM
0x0FFFFFFFFFFF52D0 : 0000 0000 0000 0000 0000 0000 0000 0000    ................
0x0FFFFFFFFFFF52E0 : 0000 0000 0000 0000 2020 2020 2020 2020    ........       
0x0FFFFFFFFFFF52F0 : 2020 2020 2020 2020                               
2012-11-14-16.36.48.518025+480 E119062A408        LEVEL: Error
PID     : 3998200              TID  : 1           PROC : db2stop
INSTANCE: snbitest             NODE : 000
EDUID   : 1
FUNCTION: DB2 UDB, base sys utilities, sqleIssueStartStop, probe:95
DATA #1 : String, 130 bytes
db2start or db2stop failure from node 8: /home/snbitest/sqllib/adm/db2rem[28]: /home/snbitest/sqllib/adm/db2remot: cannot execute
2012-11-14-16.36.48.519671+480 I119471A284        LEVEL: Error
PID     : 3998200              TID  : 1           PROC : db2stop
INSTANCE: snbitest             NODE : 000
EDUID   : 1
FUNCTION: DB2 UDB, base sys utilities, sqlePrintFinalMessage, probe:11
RETCODE : ZRC=0xFFFFE860=-6048
 
IOCP问题
 
1. Log in to the server as root and issue the following command: # smitty iocp
2. Select "Change / Show Characteristics" of I/O Completion Ports.
3. Change the configured state at system restart from Defined to Available.
4. Reboot.
5. Enter the lsdev command again to confirm that the status of the IOCP port has changed to Available.
lsdev -Cc iocp
$ lslpp -l bos.iocp.rte
  文件集                   级别  状态     描述             
  ----------------------------------------------------------------------------
路径: /usr/lib/objrepos
  bos.iocp.rte               6.1.6.0  已落实  I/O Completion Ports API
路径: /etc/objrepos
  bos.iocp.rte               6.1.6.0  已落实  I/O Completion Ports API
$
$ lsdev -Cc iocp
iocp0 已定义  I/O 完成端口
$
$ db2set -all
[i] DB2_PMODEL_SETTINGS=MAX_BACKGROUND_SYSAPPS:500
[i] DB2FCMCOMM=TCPIP4
[i] DB2RSHCMD=/usr/bin/ssh
[i] DB2_EXTENDED_OPTIMIZATION=ON
[i] DB2_ANTIJOIN=YES
[i] DB2_HASH_JOIN=ON
[i] DB2COMM=tcpip
[i] DB2CODEPAGE=1208
[i] DB2_PARALLEL_IO=*
[g] DB2FCMCOMM=TCPIP4
[g] DB2SYSTEM=bimigr
$
 
 
 
 

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

  • Sybase tempdb调整
    评论 0 · 赞 0
  • transaction log full when doing disk init
    评论 0 · 赞 0
  • Sybase系统表
    评论 0 · 赞 0
  • IBM AIX系列培训
    评论 0 · 赞 0
  • 监控11:Page Cleaning ratio
    评论 0 · 赞 0
  • X社区推广