查看原undo相关参数
SHOW PARAMETER UNDO;
查询数据库undo使用情况
SELECT seg.tablespace_name "Tablespace Name",
ts.bytes / 1024 / 1024 "TS Size(MB)",
ue.status "UNDO Status",
count(*) "Used Extents",
round(sum(ue.bytes) / 1024 / 1024, 2) "Used Size(MB)",
round(sum(ue.bytes) / ts.bytes * 100, 2) "Used Rate(%)"
FROM dba_segments seg,
DBA_UNDO_EXTENTS ue,
(SELECT tablespace_name, sum(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) ts
WHERE ue.segment_NAME = seg.segment_NAME
and seg.tablespace_name = ts.tablespace_name
GROUP BY seg.tablespace_name, ts.bytes, ue.status
ORDER BY seg.tablespace_name;
查看 undo 表空间的大小
SELECT D.TABLESPACE_NAME,D.FILE_NAME, SUM(D.BYTES) / 1024 / 1024 MB
FROM DBA_DATA_FILES D
WHERE D.TABLESPACE_NAME LIKE 'UNDO%'
GROUP BY D.TABLESPACE_NAME,D.FILE_NAME;
创建新undo空间
create undo tablespace undo_x datafile 'f:\ORACLE\ORADATA\XIFENFEI\undo_1-1.dbf' size 10M autoextend on next 10M maxsize 30G;
查询历史undo是否还有事务(包含回滚事务)
SELECT a.tablespace_name,
a.segment_name,
b.ktuxesta,
b.ktuxecfl,
b.ktuxeusn || '.' || b.ktuxeslt || '.' || b.ktuxesqn trans
FROM dba_rollback_segs a, x$ktuxe b
WHERE a.segment_id = b.ktuxeusn
AND a.tablespace_name = UPPER('&tsname')
AND b.ktuxesta <> 'INACTIVE';
SELECT a.usn,
a.name,
b.status,
c.tablespace_name,
d.addr,
e.sid,
e.serial#,
e.username,
e.program,
e.machine,
e.osuser
FROM v$rollname a,
v$rollstat b,
dba_rollback_segs c,
v$transaction d,
v$session e
WHERE a.usn = b.usn
AND a.name = c.segment_name
AND a.usn = d.xidusn
AND d.addr = e.taddr
AND b.status = 'PENDING OFFLINE';
--因为有undo_retention参数,所以不能简单的通过确定该sql无事务就可以删除原undo 切换undo表空间(无论是否有事务,均可以切换[最好是无事务时切换],但是不能直接删除原undo表空间)
alter system set undo_tablespace=UNDOTBS2 scope=both;
在rac中运行有可能会报错,但是其实也会改当前实例的默认undo表空间。 ERROR at line 1: ORA-32008: error while processing parameter update at instance SCDB2 ORA-02097: parameter cannot be modified because specified value is invalid ORA-30013: undo tablespace 'UNDOTBS3' is currently in use
如果不想报错,应该用下面一句。 alter system set undo_tablespace=UNDOTBS2 sid=' 要修改的实例 ' ;
ALTER SYSTEM SET undo_tablespace='UNDOTBS1' SCOPE=BOTH SID='boss1';
用select instance_name from V$instance;查看SID 用show parameter undo看看现在默认undo表空间有没有改
alert日志现象,表明原undo还有事务
Sun Jun 17 20:10:45 2012 Successfully onlined Undo Tablespace 7. [36428] **** active transactions found in undo Tablespace 2 - moved to Pending Switch-Out state. [36428] active transactions found/affinity dissolution incompletein undo tablespace 2 during switch-out. ALTER SYSTEM SET undo_tablespace='undo_xifenfei' SCOPE=BOTH; Sun Jun 17 20:11:38 2012 [36312] **** active transactions found in undo Tablespace 2 - moved to Pending Switch-Out state. Sun Jun 17 20:16:15 2012 [36312] **** active transactions found in undo Tablespace 2 - moved to Pending Switch-Out state.
--只能表明有事务,就算长时间未出现类似记录,不能证明一定可以删除原undo,因为undo_retention 查询回滚段情况(原undo表空间的回滚段全部offline,可以删除相关表空间)
select tablespace_name,segment_name,status from dba_rollback_segs;
离线原undo表空间
alter tablespace undotbs1 offline;
确定原undo回滚段全部offline,直接删除
drop tablespace undotbs1 including contents and datafiles;
切换undo表空间一句话: 新建undo几乎是任何时候都可以执行切换undo表空间命令,如果要删除历史undo需要等到该undo空间所有回滚段全部offline.千万别在尚有回滚段处于online状态,强制删除数据文件.
编辑推荐:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- GoldenGate Enterprise Manager Plug-In(12.1.0.3.0) 部署文档
- 当 RPA 遇见人工智能 京东 RPA 实现 500% 效率提升
当 RPA 遇见人工智能 京东 RPA 实现 500% 效率提升
26-03-03 - 作为一个 DBA 常用的软件工具有哪些?
作为一个 DBA 常用的软件工具有哪些?
26-03-03 - Oracle服务器开启HugePages以支持大内存SGA
Oracle服务器开启HugePages以支持大内存SGA
26-03-03 - Oracle 恶意攻击问题分析和解决(一)
Oracle 恶意攻击问题分析和解决(一)
26-03-03 - 记一次12c pdb打补丁失败处理过程
记一次12c pdb打补丁失败处理过程
26-03-03 - 关于Heap中的一些概念
关于Heap中的一些概念
26-03-03 - 如何提高抖音直播间人气
如何提高抖音直播间人气
26-03-03 - oracle rac 打PSU补丁30805461两个问题(Java版本及空间不足导致失败)
- unlimited tablespace权限的授予和回收
unlimited tablespace权限的授予和回收
26-03-03
