📜  DBMS 中的事务状态

📅  最后修改于: 2021-09-10 02:29:38             🧑  作者: Mango

事务在其生命周期中经过的状态。这些状态说明了交易的当前状态,也说明了我们将如何进一步处理交易。这些状态管理着决定事务的命运的规则,无论它是提交还是中止。

这些是不同类型的交易状态:

  1. 活动状态 –
    当事务的指令正在运行时,事务处于活动状态。如果所有的“读和写”操作都没有出现任何错误,那么它就会进入“部分提交状态”;如果任何指令失败,它就会进入“失败状态”。
  2. 部分承诺 –
    完成所有读写操作后,在主存储器或本地缓冲区中进行更改。如果数据库上的更改是永久性的,则状态将更改为“已提交状态”,并且在失败的情况下将进入“失败状态”。
  3. 失败状态——
    当交易的任何指令失败时,它会进入“失败状态”,或者如果在数据库上永久更改数据时发生失败。
  4. 中止状态——
    在发生任何类型的故障后,事务从“失败状态”变为“中止状态”,并且由于在之前的状态中,更改仅对本地缓冲区或主内存进行,因此这些更改被删除或回滚。
  5. 承诺状态——
    这是在数据库上永久更改并且事务完成并因此在“终止状态”中终止时的状态。
  6. 终止状态——
    如果没有任何回滚或事务来自“已提交状态”,则系统是一致的并准备好新事务,旧事务终止。