Oracle 的安全保障 commit &checkpoint
Oracle 的安全 commit &checkpoint
- commit ---lgwr
- 事务相关的操作,保证事务的安全。
- commit标志着事务的结束.意味着别人对你事务操作的结果可见.
- commit后数据可能在内存里,也可能在磁盘里,
- commit后没有机会回滚了,除非恢复数据.
- 标识着用户的决定,数据的生效.
- commit后,这条记录产生的redo重做日志是放在log buffer内存里面的,oracle会让log buffer将redo重做日志写到磁盘上,commit才会返回提交完成.
- 数据修改完是由redo保护.
- redo是顺序的在redo文件上写的,非常快.而数据块写到磁盘中,需要先去磁盘找数据文件所在位置,很慢.
- 数据的回滚
SQL> rollback;
回滚的过程就是从回滚段里拿到刚刚执行的这条语句产生的回滚,然后应用到以前的数据块上.
回滚的前提是没有commit.一旦提交了,就不能回滚了.
如果网络中断,会话中断,oracle会强制回滚
- checkpoint -- dbwr
- 数据相关的操作,保证数据的安全。
- 把修改了的数据写在磁盘上(包括修改完,提交、修改完,未提交)
- 执行这条语句后,就会将所有的脏数据写入磁盘.
- 脏数据越来越多,会占用位置,checkpoint是为了保证空间
- 减少恢复时间.
SQL> alter system checkpoint;
System altered.
Oracle 的安全保障 commit &checkpoint的更多相关文章
- 关于Oracle GoldenGate中Extract的checkpoint的理解 转载
什么是checkpoint? 在Oracle 数据库中checkpoint的意思是将内存中的脏数据强制写入到磁盘的事件,其作用是保持内存中的数据与磁盘上的数据一致.SCN是用来描述该事件发生的准确的时 ...
- Oracle什么时候需要Commit
写完DML语句(update, insert, delete)后,需要手动COMMIT,如果没有COMMIT,更新的内容会被保存到内存中,而不是提交到数据库中,将不会被其他Session(对话)看见. ...
- oracle什么时候须要commit
今天在oracle的SQL plus 中运行了删除和查询操作,然后在PL/SQL中也运行查询操作,语句一样,结果却不一样,让我大感郁闷,后来才突然想到可能是两边数据不一致造成的,可是为什么不一致呢,就 ...
- oracle 尽量多使用COMMIT
只要有可能,在程序中尽量多使用COMMIT, 这样程序的性能得到提高,需求也会因为COMMIT所释放的资源而减少: COMMIT所释放的资源: a. 回滚段上用于恢复数据的信息. b. ...
- #oracle恢复已被commit删除的内容
1.FLASHBACK QUERY 闪回到15分钟前 SELECT * FROM tablename AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '15' MINU ...
- How To Commit Just One Data Block Changes In Oracle Forms
You have an Oracle Form in which you have multiple data blocks and requirement is to commit just one ...
- oracle之 调整 I/O 相关的等待
I/O相关竞争等待简介 当Oracle数据库出现I/O相关的竞争等待的时候,一般来说都会引起Oracle数据库的性能低下,发现数据库存在I/O相关的竞争等待一般可以通过以下的三种方法来查看Oracle ...
- Oracle redo undo
通常对undo有一个误解,认为undo用于数据库物理地恢复到执行语句或事务之前的样子,但实际上并非如此.数据库只是逻辑地恢复到原来的样子,所有修改都被逻辑地取消,但是数据结构以及数据库块本身在回滚后可 ...
- 对oracle数据库进行增删改更新操作,executeUpdate()执行卡住了
原因是:oracle数据库更新数据后需要commit,不然会堵塞,就会卡住 那么每次调用executeUpdate()完后,数据库要自动commit才可以. 我的基类加了一下,注意红色字体部分代码: ...
随机推荐
- C# 可否对内存进行直接的操作?
可以,用 unsafe.用的时候记得在项目属性(Properties)->生成(Build)->常规(General)中钩上允许不安全代码 (Allow unsafe code).否则会出 ...
- C语言 Linux环境变量
/* *@author cody *@date 2014-08-12 *@description */ /* extern char **environ //environment values #i ...
- 如果你需要从不同的服务器(不同域名)上获取数据就需要使用跨域 HTTP 请求
Response.AppendHeader("Access-Control-Allow-Origin", "*")Response.AppendHeader(& ...
- CentOS安装自动补全安装包
CentOS7标准版有这个功能,但是CentOS6却没有,其实很简单: 1.安装bash-completion yum install bash-completion 2.保存一下最新的缓存 yum ...
- PCIe to AXI Translation——PCIe 内存空间到AXI内存空间的转换
PCIe to AXI Translation——PCIe 内存空间到AXI内存空间的转换 UltraScale系列芯片包含PCIe的Gen3 Integrated Block IP核在内的多种不同功 ...
- [svc][bg]phabricator-zh_CN汉化包
汉化phabricator审计系统 主要是用来审计一些开发bug的,客服会提交一些bug,测试也会提交一些bug给开发. https://github.com/wanthings/phabricato ...
- hdoj 1288 Hat's Tea
Hat's Tea Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...
- 李洪强和你一起学习前端之(5)css书写位置 优先级和伪类
亲爱的,时间过得真快,不知不觉我们一起学习前端已经4天了,这4天的时间里,我们是不是收获很大呢,每当我们学习一个新的知识点的时候,每当我们做出一个新的东西来的时候,我们是不是欣喜若狂,世界从来否不会辜 ...
- 从A页面带参数跳转到B页面;进行解析,并显示数据,进行编辑
A页面跳转时候的地址: parent.layer.open({ type: 2, title:'新建草稿', shadeClose: true, shade: 0.8, scrollbar: fals ...
- 使用Django框架
1.安装Django 在命令行模式下使用pip工具来安装Django,pip工具的安装方法见此篇 pip install django 2.确认是否安装成功 在Python交互模式下 import d ...