服务器&存储
2007-08-31 16:50    文章来源:网界网

数据库分离与数据备份

作者:甘荃


应用难点技巧

技巧一:DB2 UDB 从V6.1升级到V8.1之后,发现应用程序频繁出现了锁超时的现象。通过抓取当时的快照发现主要是一些next key lock引起,后来通过设置db2set DB2_RR_TO_RS=yes,重新启动了数据库和应用之后,使得该问题得到解决。最后通过查看相关的资料发现在DB2升级,应该对索引做“db2 reorg indexes all for table $TABNAME convert”。将索引类型从type-1转换成type-2,这样可以减少next key lock.

技巧二:数据库查询中的几个大表关联的查询语句的性能优化,由于应用的局限性有时很难对这种语句进行调整。针对oracle数据库的解决办法是把这个些表尽可能的驻留到内存中,性能可以得到明显的提高。

技巧三:在应用中使用informix 9.4和cics5.1,如果在应用中不对cursor进行关闭和释放,将导致cics region异常down。最后建议在数据库应用程序中需要对cursor进行关闭和释放。

测试用例:

#include

$include sqlca;

main( void )

{

$char jshzh[23];

char *CommArea;

EXEC CICS ADDRESS EIB( dfheiptr );

EXEC CICS ADDRESS COMMAREA( CommArea );

memset(jshzh,0,sizeof(jshzh));

strcpy(jshzh,"1234567890123456789012");

jshzh[22]='\0';

printf("************ zh[%s]\n",jshzh);

EXEC SQL declare zh_cur1 cursor for select * from fhdgckfhz

where zh=:jshzh for update;

if (sqlca.sqlcode !=0) {

printf("declare zh_cur1 err zh[%s]\n",jshzh);

EXEC CICS SYNCPOINT ROLLBACK;

EXEC CICS RETURN;

}

EXEC SQL open zh_cur1;

if (sqlca.sqlcode !=0) {

printf("open zh_cur1 err sqlca.sqlcode[%s]\n",sqlca.sqlcode);

EXEC CICS SYNCPOINT ROLLBACK;

EXEC CICS RETURN;

}

EXEC SQL close zh_cur1;

if (sqlca.sqlcode !=0) {

printf("close zh_cur1 err sqlca.sqlcode[%s]\n",sqlca.sqlcode);

EXEC CICS SYNCPOINT ROLLBACK;

EXEC CICS RETURN;

}

EXEC SQL free zh_cur1;

if (sqlca.sqlcode !=0) {

printf("free zh_cur1 err sqlca.sqlcode[%s]\n",sqlca.sqlcode);

EXEC CICS SYNCPOINT ROLLBACK;

EXEC CICS RETURN;

}

EXEC CICS RETURN;

}

使用测试用例进行上述测试,从测试结果中发现

在cics和informix一阶段时:

如果minserver

如果minserver=maxserver时,进行测试时,如果对定义和打开的cursor不close 和 free cursor,当cics region系统空闲时,cicsas个数从maxserver下降时,cics region 正常。

在cics和informix二阶段时:

如果minserver

技巧四:在DB2数据库备份时出现了SQL1015的错误

检查数据库的状态,能够正常连接数据库,表空间的状态都是normal。但是对数据库做备份的时候出现了SQLCODE 1015的错误。通过分析错误,对数据库做了db2 restart db $DBNAME,发现数据库中存在了indoubt transactions。通过使用db2 list indoubt transactions with prompting 处理了相关的indoubt transactions,然后成功地对数据库进行了备份。

1  2  3  
责任编辑:张鑫

文章评论

评论加载中...请稍后

精彩专题