3.查询当前数据库中所有数据文件是否为自动扩展 SQL> select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = 'SEC_D';
TABLESPACE_NAME?? FILE_NAME???????????????????????????????? AUT ----------------- ----------------------------------------- --- SEC_D???????????? /data/oracle/dbfile.dbf? NO
4.通过修改SEC_D的数据文件为自动扩展达到表空间SEC_D为自动扩展的目的 SQL> alter database datafile '/data/oracle/dbfile.dbf' autoextend on;
Database altered.
5.确认是否已经修改成功 SQL> select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = 'SEC_D';
TABLESPACE_NAME?? FILE_NAME???????????????????????????????? AUT ----------------- ----------------------------------------- --- SEC_D???????????? /data/oracle/dbfile.dbf? YES
6.总结修改语句语法 开启自动扩展功能语法: alter database datafile '对应的数据文件路径信息' autoextend on; 关闭自动扩展功能语法: alter database datafile '对应的数据文件路径信息' autoextend off;
? 1、表必须启用row movement ? 2、表段所在表空间的段空间管理(segment space management)必须为auto
实验如下:
--建立一个segment space management auto表空间 SQL> create tablespace ts_auto datafile 'd:\oracle\product\10.2.0\oradata\orcl\ts_auto.dbf' size 100m ?extent management local segment space management auto;
表空间已创建。
--建议测试表 SQL> create table? table_auto? as select * from dba_objects;
表已创建。
--查看shrink前的块数量 SQL> select blocks from dba_segments where segment_name='table_auto';
--直接收缩,提示必须启动row movement选项 SQL> alter table table_auto shrink space; alter table table_auto shrink space * 第 1 行出现错误: ORA-10636: ROW MOVEMENT is not enabled