DB2或ORACLE数据库,写日志时,线程或进程可以有多个么? 若不能的话,为什么呢(不考虑性能问题)?
收起可以是多个;
首先要理解数据库为什么要写日志呢?这主要是为了保持数据库的完整性和一致性;DB2采取的是提前写日志的模式;例如你要向数据库中插入一条数据,你提交确认的命令首先会写到日志里面去,然后才会执行该条插入语句,数据库中才会存在该笔记录;这样做的好处就是,当发生断电之类的是故事,日志文件可以用来把数据库退回到原来的某一个一致性状态。所有被提交确认的事务会被redo,所有未被提交的事务都将回滚;
至于写日志时的线程和进程是否有多个这个取决于数据库的并发性;基本上所有的数据库都是并发处理进程的;所以日志随着进程应该是并发写的;所以说进程可以有多个,多个日志也可以同步写。