Oracleundo如何释放表空间?
Oracleundo如何释放表空间?
数据库的维护与数据库的编程实际应用中经常会遇到不解之处,对于大数据量做的DML操作后,我们是的把Oracle undo的表空间扩展到十几个G或是几十个G 但是这些表空间的所占用磁盘的物理空间又不会被Oracle 所释放,如果你用的是PC机很可能会遇到磁盘空间不足的问题。
经过个人整理经过如下操作可以重构Oracle undo表空间,同样temp表空间也可能在你查询大数据或则创建索引的时候无限扩大导致磁盘空间不足,同样可以用如下方式解决此问题: 查看各表空间名称 1。select name from v$tablespace 查看某个表空间信息 1。
select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'undoTBS1'; 查看回滚段的使用情况,哪个用户正在使用回滚段的资源,如果有用户最好更换时间(特别是生产环境)。
1。select s。username, u。name from v$transaction t, v$rollstat r, v$rollname u,v$session s 2。where s。taddr=t。addr and t。
xidusn=r。 usn and r。usn=u。usn order by s。username; 检查undo Segment状态 1。select usn,xacts,rssize/1024/1024/1024,hwmsize /1024/1024/1024,shrinks from v$rollstat order by rssize; 创建新的undo表空间,并设置自动扩展参数; 1。
create undo tablespace undotbs2 datafile 'D:\Oracle \PRODUCT\10。1。0\ORADATA\ORCL\undoTBS02。DBF' size 10m reuse autoextend on next 100m maxsize unlimited;。
答:你只有两条路可以走 1、把c盘中不要的东西给out 2、就是用pmagic将一个分区的空间给c详情>>