undotbs1表空间满了 oracle11gr2undo表空间使用率高如何查看是什么语句造成的?
oracle11gr2undo表空间使用率高如何查看是什么语句造成的?
通过这个SQL语句可以查询到会话对应的活动事务使用的UNDO段名称,以及该段占用的UNDO空间大小,对于非活动事务占用了UNDO空间是由Oracle实例根据参数配置自动化管理的。select s.sid,s.serial#,s.sql_id,v.usn,segment_name,r.status, v.rssize/1024/1024 mb From dba_rollback_segs r, v$rollstat v,v$transaction t,v$session s Where r.segment_id = v.usn and v.usn=t.xidusn and t.addr=s.taddr order by segment_name
如何删除oracle undo表空间占用的空间?
系统在使用多年以后,随着数据的频繁操作,导致oracle的undo表空间在不停增大,占用了磁盘空间。 为了清理这部分的空间,下面通过如下几个步骤完成替换操作。 1、创建新的undo表空间undotbs2 CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE "/u01/app/oracle/oradata/mydb/undo02.dbf" SIZE 512M REUSE AUTOEXTEND ON NEXT 64M MAXSIZE UNLIMITED RETENTION NOGUARANTEE BLOCKSIZE 8K FLASHBACK ON 将红色部分替换为实际的oracle数据库路径 2、切换系统表空间 alter system set undo_tablespace=UNDOTBS2 scope=both 让oracle的当前undo表空间切换到undotbs2上 3、重启数据库 通过命令行方式登录数据库, [root$smserver] sqlplus /nolog [root$smserver]conn / as sysdba [root$smserver] shutdown immediate[root$smserver] startup 4、删除原来undo内容 drop tablespace undotbs1 including contents and datafiles 5、重复第三部操作,重启数据库 6、手工删除原来undotbs对应的数据库文件
undotbs1表空间满了 oracle mount状态 oracle释放undo表空间
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。