ses19828 发表于 2012-9-7 11:40 ![]()
是的, 未commit,此时实例崩溃。 oracle实例启来的时候,Rolling back 到未commit之前的状态。而这些已经 ...
实验证明老兄 ses19828 说的很正确:
实验如下: insert 4条记录到emp表,,,commit;;;;;;然后insert into emp select * from emp ,,N次后,记录数达达400W条,,,数据文件狂增,,,,,,,,然后shutdown abort,,,,,再startup,,,,,,查询emp表,,,,,,花费好半天才查出4条记录,,,,,
=====说明: 未commit也会写数据文件,,,,,commit后的数据才能保存;未commit数据如果宕机或实例崩溃,,,数据会丢失;
现在有一个问题: oracle 怎样区分写到同一个表中的已commit数据和未commit数据?未commit数据所在空间是不是还存在,只是oracle未标识可用,,,而当作可用空间被覆盖掉 ? |