oracle修改一个字段为默认值 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表空间?
为了清理这部分的空间,下面通过如下几个步骤完成替换操作。1、创建新的undo表空间undotbs2CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE "/u01/app/oracle/oradata/mydb/undo02.dbf" SIZE 512M REUSEAUTOEXTEND 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] startup4、删除原来undo内容drop tablespace undotbs1 including contents and datafiles5、重复第三部操作,重启数据库
oracle修改一个字段为默认值 oracle空间不足 oracle undo表空间满了
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。