我们知道InnoDB采用Write Ahead Log策略来防止宕机数据丢失,即事务提交时,先写重做日志,再修改内存数据页,这样就产生了脏页。既然有重做日志保证数据持久性,查询时也可以直接从缓冲池页中取数据,那为什么还要刷新脏页到磁盘呢?如果重做日志可以无限增大,同时缓冲池足够大,能够缓存所有数据,
分类:
数据库 时间:
2016-02-17 19:08:24
阅读次数:
189
oracle作为庞大的体系,如何理解它的结构,就要分层来看。 所谓物理结构,就是存储在操作系统中的文件,包含控制文件、数据文件、重做日志文件、其他(初始化参数文件,跟中文件,警告文件,备份文件,口令文件)。 逻辑结构,就是程序员脑中对数据库的划分,它不是真实存在的,只是一个概念,与物理结构有一定的对
分类:
数据库 时间:
2016-02-15 16:23:13
阅读次数:
180
Oracle在线调整redo日志组数及组成员一、调整redo日志组大小操作原因:redo日志一般设置让日志转换时间为10-20分钟,转换太频繁会影响性能。通常情况下每小时不要超过6次!如果AWR(AutomatedWorkloadRepository自动负载信息库)report中logfileswitchcheckpointincomplete)比较大,..
分类:
数据库 时间:
2016-02-15 07:09:16
阅读次数:
458
重做日志用来实现事务的持久性,即ACID中的D,由两部分组成: 一是内存中的重做日志缓冲(redo log buffer) 易丢失 二是重做日志文件(redo log file) 持久的 InnoDB是事务的存储引擎,其通过Force Log at Commit 机制实现事务的持久性,即当事务提交c
分类:
数据库 时间:
2016-02-05 18:34:55
阅读次数:
219
1、脏读 脏页只是在缓冲池中已经修改的页但是没有刷新到磁盘中,即数据库实例内存中的页和磁盘中的页事不一致的,当然在刷新到磁盘之前,日志都已经被写入到了重做日志文件中,而所谓的脏数据是指事务对缓冲池中行记录的修改,但并没有被提交 对于脏页的读取,是非常正常的。脏页是因为数据库实例内存和磁盘异步造成的,
分类:
数据库 时间:
2016-02-02 16:19:41
阅读次数:
236
预设场景:一般企业数据库的数据都用rman工具进行了全库备份,那么当数据库里面的控制文件,重做日志文件等全部丢失了之后怎么办呢?以下是解答思路:1、利用全库备份的备份片恢复控制文件2、恢复数据文件3、挂载数据库以下是详细步骤:1、先用rmanrestore备份的全库,找回控制..
分类:
数据库 时间:
2016-02-01 19:09:39
阅读次数:
258
本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游 00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC)。 - 事务的原子性(Atomicity) 事务中的所有操作,要么全部完
分类:
数据库 时间:
2016-01-29 20:58:58
阅读次数:
256
以下易容翻译自oracle dba官方文档,不足之处还望指出。管理重做日志文件学习目标:1.解释重做日志文件的目的2.描述重做日志文件的结构3.学会控制日志切换与检查点4.多元化管理重做日志文件5.使用OMF管理重做日志文件1.概念介绍:重做日志文件通过记录数据的所有改变情况对系统或介质故障提供恢复...
分类:
数据库 时间:
2016-01-21 01:49:58
阅读次数:
193
本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC)。- 事务的原子性(Atomicity)事务中的所有操作,要么全部完成,要...
分类:
数据库 时间:
2016-01-11 10:21:49
阅读次数:
155
一、简介思考一下这个场景:如果重做日志可以无限地增大,同时缓冲池也足够大,那么是不需要将缓冲池中页的新版本刷新回磁盘。因为当发生宕机时,完全可以通过重做日志来恢复整个数据库系统中的数据到宕机发生的时刻。但是这需要两个前提条件:1、缓冲池可以缓存数据库中所有的数据;2、重做日志可以无限增大因此Chec...
分类:
数据库 时间:
2016-01-08 21:55:23
阅读次数:
304