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 条评论