可以是多个;
首先要理解数据库为什么要写日志呢?这主要是为了保持数据库的完整性和一致性;DB2采取的是提前写日志的模式;例如你要向数据库中插入一条数据,你提交确认的命令首先会写到日志里面去,然后才会执行该条插入语句,数据库中才会存在该笔记录;这样做的好处就是,当发生断电之类的是故事,日志文件可以用来把数据库退回到原来的某一个一致性状态。所有被提交确认的事务会被redo,所有未被提交的事务都将回滚;
至于写日志时的线程和进程是否有多个这个取决于数据库的并发性;基本上所有的数据库都是并发处理进程的;所以日志随着进程应该是并发写的;所以说进程可以有多个,多个日志也可以同步写。
数据库写日志主要是为了保证数据的完整性与一致性。一般来说,我们的DML操作,都需要等待数据库将相应的操作记录在活动日志中,只有日志写成功了,我们的DML操作才有可能成功。对于DB2来说,使用db2loggw来完成写日志,对于ORACLE 使用LGWR来完成写日志。对于我个人理解来说,因为日志都是顺序读写,不能并发写,所以对于数据库来说,这个进程只有一个。
收起