您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

DML操作Oracle在内部实现

2025/9/12 12:29:56发布46次查看
dml操作oracle在内部实现,对与dml操作oracle在内部按如下顺序执行:
对与dml操作oracle在内部按如下顺序执行:
1,相应事务分配回滚段(undo segment).
2,分配回滚段后,在回滚段头上创建事务表slot(transaction table slot).
3.创建事务表后会生出txid(transactionid),再将txid分配给当前事务。这个值指向分给事务的回滚段头上存在的事务表的准确位置。
4.事务对象的数据块载入到高速缓冲区,在块头的itl(intersted transaction list)上登记事务条目。
如果itl上没有所需空间,就会发生等待enq:tx-allocate itl entry。
5.将需要修改的块的修改信息存储到pga,存储的方式是change vector,,之后进程将pga中的change vector以redo record复制到重做缓冲区。
6.将之前映像信息记录到撤销块,继而修改数据块,被修改的数据块变为脏状态。而且在高速缓冲区中创建以修改的数据块的cr块。
7.执行commit后给事务分配scn,提交信息存储在重做缓冲区。
8.回滚段头的事务表中存储已成功提交的信息,结束包括tx锁在内的所有资源占有。
9.重做缓冲区的内容记录在重做日志文件上。
下面通过转储来探究一下这个过程:
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product