对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;--关闭行移动
也可以一步到位

 

posted @ 2021-03-13 10:00  大圣齐天1600  阅读(144)  评论(0编辑  收藏  举报