为什么要先写日志文件?写数据库和写日志文件是两个不同的操作。在这两个操作之间可能会发生故障。如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在按日志文件恢复时只会多执行一次不必要的UNDO操作,并不会影响数据库的正确性。
数据库课件登记日志文件的原则续
相关推荐
数据库日志文件登记原则:确保数据一致性
数据库日志文件登记原则(续)
为什么要先写日志文件再写数据库?
写日志文件和写数据库是两个独立的操作,在这两个操作之间可能发生故障。如果先写入数据库修改,但未在日志文件中记录,那么之后将无法恢复此修改。反之,如果先写入日志,但未修改数据库,那么根据日志文件恢复时只会执行一次额外的UNDO操作,不会影响数据库的正确性。
SQLServer
20
2024-04-29
数据库课件续篇日志文件详解
在数据库系统中,日志文件扮演着记录事务操作的重要角色。每个事务的开始(BEGIN TRANSACTION)、结束(COMMIT或ROLLBACK)以及所有相关更新操作都会被详细记录。这些日志记录不仅包括事务的外部更新操作,还包括与事务相关的内部更新操作。
SQLServer
17
2024-07-29
数据库课件概述续
数据库课件概述续,讨论了数据库系统的结构、三级模式结构、体系结构以及组成要素。
SQLServer
10
2024-08-03
数据库课件日志文件事务解析
日志文件的内容整理挺全的,尤其是事务的起止标记和更新操作都标得清楚。你要是搞数据库恢复或者调试事务问题,这一份还蛮有的。里面提到的 BEGIN TRANSACTION 和 COMMIT 就是事务的起止,用过 SQL 的应该都不陌生。
每条事务相关的日志操作,包括内部更新啥的,也都能在日志记录(log record)里看到,排查问题的时候一目了然。像你调试 MySQL 或 SQL Server,看到这些结构就知道问题出在哪了。
推荐你配合看几个相关文章,MySQL 事务、日志与锁机制详解 这篇讲得挺细,SQL Server 事务日志恢复 也值得看看,思路清晰,恢复场景讲得到位。
如果你经常写数据
SQLServer
0
2025-06-16
数据装载续数据库课件
数据装载操作里的人工方法,算是前期入门蛮常见的套路。小型系统里,多时候没法直接跑 ETL 工具,那就只能靠人一点点来——筛选、转换、输入、校验,一个都少不了。数据格式转换这一步其实挺坑的,不同系统出来的格式千奇百怪,起来真得有点耐心。
部门数据东一块西一块,整合起来挺费劲。你得先搞清楚哪些是要入库的,再考虑怎么统一格式。比如原始 Excel 或者一些老旧系统导出的文本,格式差得多,想直接喂给数据库?不,得干净再说。
数据转换这一块如果量大,其实建议还是用工具来搞,比如Kettle这种可视化 ETL 工具,用着还挺顺手。你要是感兴趣,可以看看Kettle 使用文档,挺实用的,尤其适合中小型项目。
SQLServer
0
2025-07-06
数据库课件:语句格式续
语句格式(续)
删除属性列
直接/间接删除:将表中需要保留的列及其内容复制到新表中,删除原表,再将新表重命名为原表名。
直接删除属性列:(新)
例:ALTER TABLE Student DROP Scome;
ALTER TABLE Student DROP COLUMN Sdept;(SQL Server)
SQLServer
11
2024-07-12
数据库课件更新系统权限续
创建用户时,tDBA需要授予特定角色一组系统权限,以简化权限管理。tORACLE提供预定义角色包括CONNECT、RESOURCE和DBA。
SQLServer
8
2024-10-10
数据库课件多值依赖续探
在数据库理论中,多值依赖分为平凡和非平凡两种情况。若X→→Y,并且Z不包含X,则称此多值依赖为非平凡的。
SQLServer
17
2024-08-18
Oracle数据库控制文件使用原则
在数据库结构变化时,备份控制文件是很重要的。控制文件的复用通过在CONTROL_FILES中包含完整路径来实现,如:/DISK1/control01.con和/DISK2/control02.con。
Oracle
13
2024-08-01