日期:2014-05-17  浏览次数:20735 次

请教关于DBWR进程的几个问题
大家好:
    我在书籍看到,DBWR进程在以下情况都会将数据高速缓存的脏数据写到数据文件的:
1、系统发出检查点(alter system checkpoint;)
2、表空间正常脱机(alter tablespace XXX offline normal;)
---
但我用sys用户登录数据库,向 users 表空间的 mytmp表插入数据:
insert into scott.temp values(1);
但没有commit;
之后,执行
alter system checkpoint;

alter tablespace users offline normal;
alter tablespace users offline online;
后,再 select * from scott.temp; 发现没有添加刚才的数据。
请问这是怎么回事?是不是书上说得有问题?为什么执行检查点和表空间脱机都没有将数据写到数据文件呢?
----
待复,谢谢!

------解决方案--------------------
你insert了,但commit,虽然检查点会将数据写入到数据文件,但是写到数据文件的undo段的,所以其它用户是看不了的。
不知说得是否对呢?