解决办法:加大日志文件大小,增加日志文件个数,增加辅助日志文件个数
查看配置参数命令:get db cfg for <dbname>;
修改配置参数命令:
修改日志文件大小:update db cfg for <dbname> using LOGFILSIZ 4096
修改主日志文件个数:update db cfg for <dbname> using LOGPRIMARY 20
修改辅助日志文件个数:update db cfg for <dbname> using LOGSECOND 10
你每个命令带一个事务,其实跟没有事务是一样的,不成功是没有回滚的。
START TRANSACTION;
INSERT INTO `guwitest``cdn` (`id`, `operatorId`, `type`, `distributionTarget`, `distributionName`, `distributionDomain`, `status`) VALUES ('1', '1', 'cloudfront', 'metadata', '1', '1', '0');
create table guwitestaa(id int(10) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id));
ROLLBACK;
如果强行停止数据库实例,再启动实例的时候为了保持数据的一致性系统会自动触发崩溃恢复机制,此时数据库无法连接。
db2 list utilities show detail可以看到数据库处于crash recovery状态。
使用 NOT EXISTS 的子查询
NOT EXISTS 与 EXISTS 的工作方式类似,只是如果子查询不返回行,那么使用 NOT EXISTS 的 WHERE 子句会得到令人满意的结果。
例如,要查找不出版商业书籍的出版商的名称:
USE pubs
SELECT pub_name
FROM publishers
WHERE NOT EXISTS
(SELECT
FROM titles
WHERE pub_id = publisherspub_id
AND type = 'business')
下面是结果集:
pub_name
----------------------------------------
Binnet & Hardley
Five Lakes Publishing
Ramona Publishers
GGG&G
Scootney Books
Lucerne Publishing
(6 row(s) affected)
下面的查询查找已经不销售的书的名称。
USE pubs
SELECT title
FROM titles
WHERE NOT EXISTS
(SELECT title_id
FROM sales
WHERE title_id = titlestitle_id)
下面是结果集:
title
----------------------------------
The Psychology of Computer Cooking
Net Etiquette
(2 row(s) affected)
以上就是关于DB2报sqlcode964错误,但是为什么一直没有回滚全部的内容,包括:DB2报sqlcode964错误,但是为什么一直没有回滚、关于数据库的回滚、db2数据库正在回滚中能停掉数据库吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)