惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
F
Full Disclosure
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Threatpost
AWS News Blog
AWS News Blog
The GitHub Blog
The GitHub Blog
G
GRAHAM CLULEY
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Latest news
Latest news
S
SegmentFault 最新的问题
C
Cisco Blogs
T
Tenable Blog
爱范儿
爱范儿
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
Securelist
S
Schneier on Security
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
T
Threat Research - Cisco Blogs
IT之家
IT之家
博客园_首页
C
Cyber Attacks, Cyber Crime and Cyber Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
K
Kaspersky official blog
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Privacy International News Feed
腾讯CDC
A
About on SuperTechFans
Y
Y Combinator Blog
月光博客
月光博客
C
Check Point Blog
Last Week in AI
Last Week in AI
Know Your Adversary
Know Your Adversary
Hugging Face - Blog
Hugging Face - Blog
U
Unit 42
WordPress大学
WordPress大学
T
The Exploit Database - CXSecurity.com
H
Hacker News: Front Page
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
Vulnerabilities – Threatpost
Cyberwarzone
Cyberwarzone
L
LINUX DO - 热门话题
MongoDB | Blog
MongoDB | Blog
T
Troy Hunt's Blog

博客园 - OwenWong

翻下旧资料,发现96年考过foxbase二级 这几年专注于流程管理与RPA落地 关于SSD硬盘 权限模型AGDLP 财务分析的30个基本指标[转] 电子取证工具[转] Odoo-10开发环境配置与测试 AX2012 ERP 维度相关表数据关系图 AX2012 ERP Excel报表方案 AX2012 ERP “系统慢”调优---跟踪SQL执行,优化代码 软件推荐----数据库数据处理Navicat Premium 软件推荐----截图软件Snagit 软件推荐----RDO(Remote Desktop Organizer) 浅谈企业信息化 经典笔试题型----IT经理(IT Manager) 数据访问安全--数据库遮罩及断词 Data Masking & Tokenization 浅谈安全(数据安全、网络安全) 流程优优项目流程 产品经理--这绝对是一个非常有价值的岗位
浅谈数据库日志
OwenWong · 2018-01-08 · via 博客园 - OwenWong

与往常一样,这不会太深入谈到技术点。数据库日志最好的学习是,读Oracle 8/9的日志原理。
所有的系统都是程序员写出来的,因此,所有的IT系统,都是源于生活。
我接触最早的是Dbase II,那时是单文件版本,单用户操作。到后来FoxPro 2 时结合NetWare386+DOS无盘站,就变成多用户系统(可参考当时订单处理系统,出入库系统等,证券网点大厅也有应用),那时有两个痛点:1,某个用户电脑忽然断电,数据写入不完整,导致大家都不能用了;2、多个用户对同一条记录进行写操作,或读与写不致,或ID增量重号。

现在的数据库系统(Oracel、DB2、MS sql、Mysql等)都支持多用户,所有的数据库系统(包括Exchange),都是把数据先写到日志中,等某个时机(比如:确认commit)后再写到数据库记录中,日志是数据库最重要的数据之一,理解日志是相当重要的。为什么要用日志呢?就是要解决Foxfro多用户的痛点一啊。
日志一般分成Undo与Redo:Undo一般用于事务的取消与回滚,记录的是数据被修改前的值,Redo一般用于恢复已确认但未写入数据库的数据,记录的是数据修改后的值,例如:数据库忽然断电重启,数据库启动时一般要做一致性检查,会把已写到Redo的数据但未写入数据库的数据重做一遍。

数据库系统如何来确认哪些数据需要redo或undo呢?那就需要一个检查点(checkpoint),在系统中一般有一个表或一个控制文件来记录检查点,日志是按顺序一直写下去的,检查点设置后,只需要比对检查点之后的数据就可以了。

源于生活就是这样,让我们想如何这个问题?估计也就是用这种日志方式,具体操作时加上一个检查点。

日志明白了之后,有什么用呢?
备份,知道如何设置备份的粒度。
数据恢复,当出问题时,知道需要找到哪些文件可以恢复数据。例如,让你恢复3个月前的一笔交易,只要日志备份的足够长,还是有办法的。

引申:
MS SQL 中日志设置分成三种,简单、大容量、完成,有什么区别?
MS SQL用户进行错误操作后,如何查日志?APEX SQL Log是一个好工具。