对oracle表空间的常用操作
1、离线表空间
alter tablespace dzdz_dat offline normal;
2、在线表空间
alter tablespace dzdz_dat online;
3、迁移表空间上的表
ALTER TABLE gt3.FINE_PROCESS_EXPAND move TABLESPACE GOLDTAX_DAT;
lob字段在数据库中并不是与表的其他字段的数据放在一起的,原因很简单,因为既然是lob字段,就说明其所需空间会很大,需要单独的存储空间来存放这些数据。因此,oracle为此专门开辟了一块区域用于存放lob字段,其组织形式与表一样,都是段的形式。
所以,对表做了表空间迁移后,如果该表下还有lob字段,则要单独对其迁移,迁移的方式如下:
alter table [table_name] move lob([lob_column_name]) store as(tablespace [target_tablespace_name])
附注:
表的迁移:
alter table [table_name] move tablespace [target_table_spacename];
索引的迁移:
alter index [index_name] rebuild tablespace [target_table_spacename];
alter database datafile 'E:\ORADATA\ORCL\DB_ZGXT01.DBF' offline drop
select file#,status from v$datafile;
SQL> recover datafile 6;
完成介质恢复。
SQL> alter database datafile 6 online;
数据库已更改。
在10G开始,提供了一个shrink命令,需要表空间是基于自动段管理的。
1)整理表,不影响DML操作
alter table table_name enable row movement;--启动行移动功能
alter table table_name shrink space compact;--只整理碎片,不回收空间
2)重置高水位,此时不能有DML操作
alter table table_name shrink space;--整理碎片并回收空间,并调整水位线。业务少时执行
alter table table_name disable row movement;--关闭行移动
也可以一步到位