暂无图片
oracle会把未提交的数据写到数据文件中吗?
我来答
分享
暂无图片 匿名用户
oracle会把未提交的数据写到数据文件中吗?

oracle会把未提交的数据写到数据文件中吗?

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
你好我是李白

会写入数据文件的,做个简单测试可以说明这一点,如下:

# session 1,创建测试表,插入两条数据,并模拟一个未提交事务 create table test_mod (id number,name varchar2(20)); insert into test_mod values(1,'test'); insert into test_mod values(2,'test2'); commit; update test_mod set name='czh' where id=1; --未提交 # session 2 -- 执行完全检查点以及flush buffer cache alter system checkpoint; alter system flush buffer_cache; -- 查询上面构造测试表数据块 select dbms_rowid.rowid_object(rowid) object_id, dbms_rowid.rowid_relative_fno(rowid) r_file_id, dbms_rowid.rowid_block_number(rowid) block_id, dbms_rowid.rowid_row_number(rowid) row_number from hr.test_mod; OBJECT_ID R_FILE_ID BLOCK_ID ROW_NUMBER --------- ---------------------------------------- ---------------------------------------- ---------------------------------------- 113023 4 173227 0 113023 4 173227 1 # dump 内存以及数据文件对应块 # 由于执行了检查点以及flush buffer cache,所以下面两个dump出来trace文件内容基本相同。 SYS@honor1 > alter system dump datafile 4 block 173227; SYS@honor1 > alter system dump datafile '+DATADG/honor/datafile/users.259.984507931' block 173227; -- 下面节选部分关键内容 block_row_dump: tab 0, row 0, @0x1f77 tl: 10 fb: --H-FL-- lb: 0x2 cc: 2 col 0: [ 2] c1 02 col 1: [ 3] 63 7a 68 tab 0, row 1, @0x1f81 tl: 12 fb: --H-FL-- lb: 0x0 cc: 2 col 0: [ 2] c1 03 col 1: [ 5] 74 65 73 74 32 # 转换一下第一行的col 1,看看是数据文件中写的是多少值 SYS@honor1 > select utl_raw.cast_to_varchar2('637a68') from dual; UTL_RAW.CAST_TO_VARCHAR2('637A68') ------------------------------------- czh --可以看到,update未提交的数值被写入了数据文件,而初始值test已被覆盖。 # 接下来rollback rollback; select * from test_mod; ID NAME ---------------------------------------- ---------------------------------------- 1 test 2 test2 --可以看到表中值回到了test。

通过上述测试,可以看到,未提交的值也是有可能写入数据文件。

暂无图片 评论
暂无图片 有用 0
暂无图片
始于脚下

不会。

暂无图片 评论
暂无图片 有用 0
杨凯同学
2021-10-09
真菜
seagull

未提交的数据不会写入数据文件,但有可能写入redo。

暂无图片 评论
暂无图片 有用 0
薛晓刚

redo和undo其实也算数据文件。tmp也是。

暂无图片 评论
暂无图片 有用 0
杨凯同学

假入一个表插入1个t数据没提交,数据写哪里了,一群菜货。未提交数据肯定会写数据文件的

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏