oracle undo表空间满了如何清理


当Oracle undo表空间满了,可以通过以下步骤来清理:

    查看undo表空间使用情况:
SELECT tablespace_name, sum(bytes) / 1024 / 1024 AS "Undo Space (MB)"FROM dba_undo_extentsGROUP BY tablespace_name;
    找出占用undo表空间较大的事务:
SELECT r.name, t.xidusn, t.xidslot, t.xidsqn, t.start_timeFROM v$transaction t, v$session s, v$rollname rWHERE t.addr = s.taddrAND s.ses_addr = t.ses_addrAND t.xidusn = r.usn;
    杀掉占用undo表空间过大的事务:
ALTER SYSTEM KILL SESSION 'sid,serial#';
    执行回滚操作:
ROLLBACK;
    扩展undo表空间:
ALTER DATABASE DATAFILE 'undo_datafile_path' RESIZE size;
    重建undo表空间:
CREATE UNDO TABLESPACE new_undo_ts DATAFILE 'new_undo_datafile_path' SIZE size;

注意:在执行以上操作之前,请务必备份重要数据,以避免数据丢失。


上一篇:plsql初始化oci.dll失败如何解决

下一篇:oracle修改索引名称的方法是什么


oracle
Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器