改变数据文件尺寸¶
本节说明改变数据文件尺寸的各种方法。
允许和禁止数据文件的自动扩展
可以创建和修改数据文件,使得它们在数据库需要更多的空间时,能够自动增加大小。文件以指定的增量增加,直到达到指定的最大值。
将数据文件设为自动增长有以下优点:
不需在表空间的空间不够时手工进行干预
确保应用程序不会因为空间分配失败而暂停
要确定一个数据文件是否为可自动扩展,查询系统视图V_SYS_DATAFILE_INFO的NEXT列,若该列值为0表明数据文件不可自动扩展,否则数据文件可以自动扩展。
在创建数据文件时,可以使用以下的SQL语句,通过指定AUTOEXTEND ON子句来指定允许自动扩展:
- CREATE DATABASE
- ALTER DATABASE
- CREATE TABLESPACE
- ALTER TABLESPACE
示例1: 创建一个允许自动扩展的数据文件
ALTER TABLESPACE ts1 ADD DATAFILE 'ts1.dbf' SIZE AUTOEXTEND ON NEXT MAXSIZE UNLIMITED;
示例2: 修改已有数据文件设置为不可自动扩展
ALTER DATABASE DATAFILE '/home/OSCAR/odbs/fenix/testdbf2.dbf' AUTOEXTEND OFF
可以使用 ALTER DATABASE语句手动增加数据文件尺寸,但是不允许缩减数据文件尺寸。
示例3: 手动改变数据文件尺寸
-- 扩展数据文件至 100M
ALTER DATABASE DATAFILE '/home/OSCAR/odbs/fenix/testdbf3.dbf' RESIZE 100M;
-- 如果现有数据文件长度已经超过,神通数据库服务器将报错:
ERROR, RESIZE ERROR: /home/OSCAR/odbs/fenix/testdbf3.dbf FILESIZE > 104857600