推广 热搜: 广场  Java  app  Word  营业  微信公众号  北京代理记账  商城  代理记账  商标交易 

oracle sql查询会占用undo空间吗 oracle快照过旧解决办法?

   2023-05-07 企业服务招财猫170
核心提示:用户需要3分钟),但是user1却在这3分钟内提交了。那会有什么影响?这时候如何保证读写的一致性?此时DBMS要保证有足够的撤销表空间来存储修改前的值,以保证user2读取的数据与修改前一致,然后下次

用户需要3分钟),但是user1却在这3分钟内提交了。那会有什么影响?这时候如何保证读写的一致性?此时DBMS要保证有足够的撤销表空间来存储修改前的值,以保证user2读取的数据与修改前一致,然后下次再读取更新后的数据。

Ora-01555快照太旧,因为撤销空间不够大,一些撤销数据被覆盖,所以用户可以修改前无法获取数据。

撤消数据分为三种类型:

主动撤销:未提交事务的撤销数据永远不会被覆盖,用于回滚回滚事务。

过期撤消:撤消已提交事务的数据,该数据可以被覆盖。

未到期撤销:交易已经提交,但是在交易提交之前,有一些查询正在进行,它想读取提交之前的数据,也就是未到期的数据。如果这部分撤消数据被覆盖,将出现ora-01555错误。

一种解决方案是指定还原表空间参数

不能删除System/sysaux/undo表空间;

您应该确定哪些表格是有用的,例如table_namelikeW%等。

筛选出包含数据的表空间,例如selecttablespace_namefromDBA_tables,其中table_namelikew%groupbytablespace_nameorderby1。

记下不在步骤1和3中的表空间名称;

识别无用的数据文件,比如selectfile_name,tablespace_namefromDBA_data_fileswheretablespace_namein()。

首先使数据文件脱机,然后删除它。你我们结束了。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
合作伙伴
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  冀ICP备2023006999号-8