OCP oracle 9i Fundamentals I中的内容,摘抄如下:发布commit并不意味着用户进程所做的更改确定已经被DBW0进程写入磁盘。只有在检查点、超时或者为了满足用户对数据块的请求而需要缓冲区高速缓存中的空间时,才会使DBW0将脏数据写到磁盘。那么commit语句处理究竟由什么构成呢?如下:
1)释放事务处理所获得的锁
2)释放事务处理所获得的撤销段
3)为提交的事务处理生成重做信息
现在有一个问题:ORACLE是怎样知道关联到每个事务处理的是哪些DML语句的重做项呢?答案是系统更改号(System Change Number,SCN)。SCN是ORACLE为一个用户进程所从事的每个事务生成的ID,每个数据更改的重做项列出了所作出的更改和更改所关联的SCN。COMMIT语句的重做项也标出了SCN,并简单地注明此SCN已经提交。
==============================
楼主所要的知道的顺序:
a、系统将会记录一个SCN。
b、将数据写入数据文件中。
c、将数据写入重做日志文件。我想应该是:a、c、b