暂无图片
分享
乐呵呵
2024-08-02
在Oracle中,以下哪个操作通常会产生最多的UNDO记录?

在Oracle中,以下哪个操作通常会产生最多的UNDO记录?

收藏
分享
5条回答
默认
最新
lianR

删除操作(DELETE)

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
lhassy

update

暂无图片 评论
暂无图片 有用 1
打赏 0
lhassy

UPDATE操作会修改表中现有行的数据。对于每个被更新的行,数据库都需要记录旧值以便在事务失败或需要回滚时能够恢复原始数据。因此,UPDATE操作通常会产生与更改的行数成正比的UNDO记录。

暂无图片 评论
暂无图片 有用 1
打赏 0
老宋

insert 时,回滚段只需记录插入记录的rowid,如果回退,只需将记录根据rowid删除;

update时,回滚段只需记录被修改的旧值(也叫前镜像),回退时通过旧值覆盖新值即可;

delete时,回滚段必须记录整条记录,回退时通过一个反向操作恢复删除的数据,

所以说delete时UNDO会产生最多。

暂无图片 评论
暂无图片 有用 1
打赏 0
智慧小匠人

insert操作回滚段中只记录这些记录的ROWID,产生的UNDO最少。
delete操作记录了所有删除的记录的详细信息,以便于rollback,产生的UNDO最多。
update操作需要记录相关字段的undo信息。

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle_linux能安装在HP服务器吗?
回答 2
已采纳
您好,HP服务器如果装的是HPUX操作系统是可以安装Oracle数据库的,具体要查官方对应的安装包,因为不同版本的操作系统甲骨文有不同的安装包(也有可能没有,比如:xp系统就不能安装Oracle21C
expdp中想使用parfile 和query,但是怎么写数据上看,条件没用上,大家知道怎么回事吗? where条件里面用了in
回答 1
贴出来你的expdp命令才能看问题.
【RMAN】通过V$RMAN_BACKUP_JOB_DETAILS查看Status是失败的,过一段时间在看编程Completed状态,这样正常么?
回答 1
你要去看具体的备份日志。这里显示的是任务完成了,但是备份归档中可能出现过错误,例如归档不可用等。需要具体去检查。
oracle在创建表空间,如果没有给表空间指定路径,一般默认路径在什么哪里?
回答 1
已采纳
看你是用的本地存储还是ASM,如果是本地存储,默认会放到$ORACLEBASE/oradata/sid/路径下。如果是ASM,在安装时会指定一个默认磁盘组来存放表空间。
数据库alter日志经常报这种错误:errors in file d 是啥问题,怎么解决
回答 2
都没有设置
使用oracle linux安装oracle需要手动配置参数吗?
回答 2
已采纳
大部分有默认参数,但是sga等会让你输入一下(图形化界面)如果是静默安装,你要写一下。
为什么DMP文件导入库一部分表没有导入成功?
回答 1
已采纳
可能是因为依赖关系,有先后失败了。
oracle 清理数据
回答 2
直接drop会比较好。因为truncate操作会删除表中的所有数据,但是表结构、索引、触发器、权限等仍然保留,这个过程可能会比较耗时。而drop操作则是直接删除表及其依赖的所有对象,包括数据、索引、触
Oracle 19C system账号不能登录
回答 1
已采纳
检查环境变量连接串密码
用SBT_TAPE备份数据库11.2.0.3的时候,出现ORA-07445: 出现异常错误: 核心转储 [gsignal()+53] [SIGIOT] [ADDR:0x1F400006606] [PC:0x317C6328A5]
回答 1
大概率是一个BUG,不知道你的callstacktrace有没有贴完。可以参考如下:Bug17810909ProcesscrasheswithORA7445[GSIGNAL()53][sigiot]D