浅述当前模式读与一致性读的区别 (浅述当前模式的优缺点)

技术教程 2025-04-25 20:36:17 浏览

让我从以下2个例子展开我们的探讨。

如果你观察得足够仔细,你可以从上面2个例子看到一个有趣的现象:无论session 1是否命中到数据,it最终都没有修改数据。其根本原因就是当前模式读与一致性读的区别

我们知道,为了减少并发冲突,Oracle引入了MVCC(多版本并发控制,也叫MCC)方法。在这种机制中,并发事务不会因为一致性的原因而相互阻塞,除非他们要修改同一条记录。他们会将日志中所有SCN大于本身事务SCN的日志做回滚,以保证本事务读取到的数据块与事务SCN的一致。在Oracle中,这样的读取行为就称为一致性读。

然而,一致性读所读取到数据块仅仅是某个时间点的一个快照,也就是说这样的数据是只读的。如果要修改数据,那么oracle需要读取到当前的数据块,也就是当前模式读。

在一个UPDATE过程中,oracle会先一致性读取与事务SCN一致的数据快照,并用where条件进行过滤。让后根据读取到数据块的ID,再从当前数据中读取到相应的数据块进行修改。但是,如在事务启动后到数据块被读取之间的这段时间内,相应的数据块发生了改变,那么可能就会有我们意想不到的事情发生。

往回看我们的***个例子。我们在session 1中,在10:22:25启动了update事务。但是,由于该事务中存在一个大的子查询,它会在几十秒后才会读取到需要被修改的数据。在Session 2中,我们在10:22:37开始update这些数据并在10:23:02提交了事务。而这个时间是早于数据在session 1中被读取到的时间的。当session 2中的数据改变被提交后,session 1中的事务读取到了该数据块。因为session 2中的事务SCN大于session 1中的事务SCN,因此会读取UNDO中的数据进行回滚,也就是说它读取到数据SECONDARY是’A’,再通过条件(SECONDARY=’B’)过滤后,没有数据被命中,因此也没有数据被修改。

浅述当前模式的优缺点

在第二个例子中,session 1的事务在一致性读取到数据块之前也发生了类似的事情。当它回滚了数据后,它一致性读取到了满足过滤条件(SECONDARY=’A’)的数据块。此时,它需要通过该数据块ID再到当前数据中读取该数据块。但是因为当前数据块的内容已经被session 2中的事务所修改,它还是没有能修改到数据。

我想,通过这两个例子,读者应该更容易理解到当前模式读与一致性读之间的区别。

【编辑推荐】


急!《相见欢》词的千古名句是什么?还有……80分!

【相见欢】 李煜无言独上西楼,月如钩。 寂寞梧桐深院锁清秋。 剪不断,理还乱,是离愁。 别是一般滋味在心头。 【词意浅述】一个人默默无语,独自登上西楼,天边月形如勾,在这清寒的秋夜,院子里深锁著梧桐,也锁住了寂寞。 心中的思绪,想要减断,却怎样也减不断,想好好梳理,却更加的杂乱,这样的离异思念之愁,而今在心头上却又是另一般不同的滋味。 【赏析】此阙相见欢应是后主被掳之后所写,以一个丧国的君主而言,内心的苦楚与怅惘,时时刻刻如影随形,尤其是在萧瑟的秋夜。 作者开头一句,开门见山的将愁绪直接表达於无言独上楼的情绪中,手法上与诗雷同,第二句勾出月,以月如勾的意象,企图传述一种孤清与不圆满的遗憾意境,紧紧的扣住西楼独处的人,月如勾,人独悴;织就一幅好不凄凉的景色。 第三句 以寂寞描述所处的情境,用寂寞统领整个情绪,梧桐也寂寞、深院也寂寞,是寂寞锁住了秋,亦或是清秋锁住了寂寞,只因作者的情绪眼中所见皆是寂寞。 而在句法上简单的利用了梧桐孤立深院的景象,将寂寞与清秋紧密的扣在一起,更增添了秋的萧瑟与作者的孤独无言。 剪不断,理还乱,这样的情绪想要抛开不理,却是怎样也无法割舍,想要好好的梳理,却又更加的杂乱失序,於手法上作者利用了对峙的情绪,表达心中的冲突起伏,在词的架构上激起了波朝,也让整个情绪高张。 让读者随之心情起舞。 是离愁?别是一般滋味在心头。 这样恼人的情绪是因为离愁的发酵,作弄著人,如今却更有不同的觉受在心里头酝酿著。 作者在最后调侃自己,利用淡淡的口吻,轻轻道出一切只因为离愁而起,不过在这淡淡的背后,却隐藏著作者极深的哀痛,在无可奈何的环境中,在离愁的煎熬下,痛极而无泪的感觉,后主只潇洒豁达的说出,又是另外一种滋味在心里头,至於是怎样的一种滋味,就须读者慢慢的去品味了!!

只有MDF文件如何恢复数据库

?????? 如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息?????? 设备激活错误。 ?????? 物理文件名 C:\Program Files\Microsoft SQL Server\msSQL\data\test_ 可能有误。 ?????? 已创建名为 C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_ 的新日志文件。 ???????? 但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。 你也许会得到类似下面的错误信息?????? 服务器: 消息 1813,级别 16,状态 2,行 1?????? 未能打开新数据库 test。 CREATE DATABASE 将终止。 ?????? A.我们使用默认方式建立一个供恢复使用的数据库(如test)。 可以在SQL Server Enterprise Manager里面建立。 ?????? B.停掉数据库服务器。 ?????? C.将刚才生成的数据库的日志文件test_删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_?????? D.启动数据库服务器。 此时会看到数据库test的状态为“置疑”。 这时候不能对此数据库进行任何操作。 ???????? E.设置数据库允许直接操作系统表。 此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。 也可以使用如下语句来实现。 ?????? use master?????? go?????? sp_configure allow updates,1?????? go?????? reconfigure with override?????? go?????? F.设置test为紧急修复模式?????? update sysdatabases set status=- where dbid=DB_ID(test)?????? 此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表?????? G.下面执行真正的恢复操作,重建数据库日志文件?????? dbcc rebuild_log(test,C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_)?????? 执行过程中,如果遇到下列提示信息:?????? 服务器: 消息 5030,级别 16,状态 1,行 1?????? 未能排它地锁定数据库以执行该操作。 ?????? DBCC 执行完毕。 如果 DBCC 输出了错误信息,请与系统管理员联系。 ?????? 说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。 ?????? 正确执行完成的提示应该类似于:?????? 警告: 数据库 test 的日志已重建。 已失去事务的一致性。 ?????? 应运行 DBCC CHECKDB 以验证物理一致性。 ?????? 将必须重置数据库选项,并且可能需要删除多余的日志文件。 ?????? 数据恢复 SQL数据库修复 密码恢复?????? sql数据库恢复 硬盘异响 坏道修复 文件恢复?????? sql server修复 文件修复?????? raid数据恢复 sql数据库修复?????? raid磁盘阵列 sql恢复 sql server恢复?????? 硬盘数据恢复 硬盘坏道修复 硬盘数据修复 数据修复?????? DBCC 执行完毕。 如果 DBCC 输出了错误信息,请与系统管理员联系。 ?????? 此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。 此时可以访问数据库里面的用户表了。 ?????? H.验证数据库一致性(可省略)?????? dbcc checkdb(test)?????? 一般执行结果如下:?????? CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 test 中)?????? DBCC 执行完毕。 如果 DBCC 输出了错误信息,请与系统管理员联系。 ???????? I.设置数据库为正常状态?????? sp_dboption test,dbo use only,false?????? 如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。 ???????? J.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。 因为平时直接操作系统表是一件比较危险的事情。 当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用如下语句完成?????? sp_configure allow updates,0?????? go

3260变压器电感量测试仪怎么调

根据不同厂家产品说明来使用。 1、采集控制采用高速、高集成化微处理器2、笔记本电脑与仪器之间通信USB接口3、笔记本电脑与仪器之间通信无线蓝牙接口4、硬件机芯采用DDS专用数字高速扫频技术(美国),通过测试可以准确诊断出绕组发生扭曲、鼓包、移位、倾 斜、匝间短路变形及相间接触短路等故障5、高分辨dB值测量,双通道16位A/D(现场试验改变分接开关,即有明显输出变化)6、信号输出幅度可以软件调节,最大幅度峰值±10V7、计算机将检测结果生成电子文档(Word)8、选用精密、高稳定元器件,对同一相重复试验,测量重复率在99.5%以上9、成品电路板,表面有特殊处理,具有抗水和有害气体污染10、仪器具有线性扫频测量和分段扫频测量双测量系统功能,兼容当前国内两种技术流派的测量模式11、幅频特性符合国家关于幅频特性测试仪的技术指标。 横坐标(频率)具有线性分度及对数分度两种,因此打印出的曲线可以是线性分度曲线也可以是对数分度曲线,用户可根据实际需要选用12、检测数据自动分析系统,横向比较A、B 、C三相之间进行绕组相似性比较,其结果为:①一致性很好②一致性较好③一致性较差④一致性很差 纵向比较A-A、B-B、C-C调取原数据与当前数据同相之间进行绕组变形比较,其结果为:①正常绕组②轻度变形③中度变形④严重变形13、自动生成Word电子文档,供保存和打印14、完全满足电力标准DL/T911-2004《电力变压器绕组变形的频率响应分析法》的技术条件

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐