webarchive文件手机打开 做了archive后如何收缩Oracle的数据文件
做了archive后如何收缩Oracle的数据文件
在日常的工作和学习中 很多人在对数据库中的数据做了archive后 数据量会出现减少的情况 在这种前提下 原来定义的数据文件假如不进行收缩就会浪费很多的空间 在下文中 我们将详细介绍一种解决此问题的方法
首先 停止listener 避免在rebuild时有dml操作

◆ 利用Toad的tools >rebuild multiple objects对欲收缩的表空间所涉及的表及索引进行rebuild (就是alter table table_name move tablespace 命令)
例子
Alter table SICS_HISTORY COD_AMOUNT move TABLESPACE TBSP Parallel (Degree ) ; Alter Table SICS_HISTORY COD_AMOUNT noparallel; Alter index SICS_HISTORY IX _COD_AMOUNT rebuild TABLESPACE TBSP Parallel (Degree ) Nologging online; Alter index SICS_HISTORY IX _COD_AMOUNT noparallel;
选择项中 我们可以选择rebuild associated indexes with tables 这样 在产生脚本时可以同时对index做rebuild (注意 table如果move了表空间必须对index做rebuild)
◆ Rebuild结束后 对数据文件的实际大小做评估
( )找出表空间所涉及的所有数据文件
sql>select * from dba_data_files; 》可以获得file_id
( )找到最大的block_id
SQL>select max(block_id)*db_block_size/ / from dba_extents where file_id= ;
◆ 收缩数据文件的空间
lishixinzhi/Article/program/Oracle/201311/18261