当前位置:数据库 > Oracle >>

ORACLE,DML语句中,插于更新后,还没COMMIT,则硬盘中的文件里面的数据块的内容请问被改掉了吗?

是不是一定得COMMIT后,硬盘的数据才会被改?
答案:这么说吧~就算你COMMIT了,看到了提示说已经提交,硬盘的文件当时都不一定被改掉的。ORACLE的机制是在COMMIT后会先在缓存区中留着,当提示你说已经提交完成后其实是已经写入了日志文件,这样即使你在COMMIT后立马出现灾难,你的日志文件也已经记录了你的操作,当你再次启动数据库的时候,它会根据日志文件进行恢复。
其他:如果没有commit,硬盘里的数据是没有修改。
如果commit了,也由可能没有修改,但是日志文件会记录下来。
因为oracle有个批量写入的机制。在写入操作比较多的时候,commit并不能把修改的内容立即写入到硬盘中去,而是放入缓存区中,日志文件中记录。等到待写入内容累积到一定数量时,再批量写入到硬盘中去。 如果没有commit,硬盘里的数据是没有修改。
如果commit了,也由可能没有修改,但是日志文件会记录下来。
因为oracle有个批量写入的机制。在写入操作比较多的时候,commit并不能把修改的内容立即写入到硬盘中去,而是放入缓存区中,日志文件中记录。等到待写入内容累积到一定数量时,再批量写入到硬盘中去。 \
 楼上正解。但是日志文件中会记录下每次操作 

上一个:谁帮忙解释一下这段ORACLE语句什么意思?
下一个:这种要求的oracle数据的查询语句怎么写?

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,