ORACLE中裸设备是否可以RESIZE ,AUTOEXTEND ON?
1、建立一个100M的裸设备
Device Boot Start End Blocks Id System
/dev/sdb1 1 13 104391 83 Linux
2、建立一个表空间
SQL> create tablespace test
2 datafile '/dev/raw/raw1' size 10m ;
不启动自动扩张,
3、建立一个表不断增加数据,直到报错
SQL> r
insert into test123
select * from test123
ORA-01653: unable to extend table PPZHU.TEST123 by 128 in tablespace TEST
我们进行resize
alter database datafile '/dev/raw/raw1' resize 20m;
查看
select * from dba_data_files;已经resize 完成
继续插入数据,直到报错
4、设置数据文件为自动扩张
alter database datafile '/dev/raw/raw1' autoextend on maxsize 40m;
查看select * from dba_data_files;如下:
BYTES MAXBYTES AUTOEXTENSIBLE FILE_NAME
20971520 41943040 YES /dev/raw/raw1
5、继续插入数据
SQL> insert into test123
2 select * from test123;
71040 rows inserted
可以了,
直到报错
6、resize文件
SQL> alter database datafile '/dev/raw/raw1' resize 80m;
Database altered
SQL>
SQL> select BYTES, MAXBYTES ,AUTOEXTENSIBLE,FILE_NAME from dba_data_files where file_name like '%raw%';
BYTES MAXBYTES AUTOEXTENSIBLE FILE_NAME
---------- ---------- -------------- --------------------------------------------------------------------------------
83886080 41943040 YES /dev/raw/raw1
SQL> insert into test123
2 select * from test123
3 ;
142080 rows inserted
数据也是可以插入的。
结论
1、裸设备数据文件可以resize
2、裸设备数据文件可以autoextend on
3、resize大小可以超越autoextend on maxsize
当然为了管理方便一般不启用AUTOEXTEND ON 在裸设备上,最好规划好!
测试版本
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
当然10G 11G更没问题。
1、建立一个100M的裸设备
Device Boot Start End Blocks Id System
/dev/sdb1 1 13 104391 83 Linux
2、建立一个表空间
SQL> create tablespace test
2 datafile '/dev/raw/raw1' size 10m ;
不启动自动扩张,
3、建立一个表不断增加数据,直到报错
SQL> r
insert into test123
select * from test123
ORA-01653: unable to extend table PPZHU.TEST123 by 128 in tablespace TEST
我们进行resize
alter database datafile '/dev/raw/raw1' resize 20m;
查看
select * from dba_data_files;已经resize 完成
继续插入数据,直到报错
4、设置数据文件为自动扩张
alter database datafile '/dev/raw/raw1' autoextend on maxsize 40m;
查看select * from dba_data_files;如下:
BYTES MAXBYTES AUTOEXTENSIBLE FILE_NAME
20971520 41943040 YES /dev/raw/raw1
5、继续插入数据
SQL> insert into test123
2 select * from test123;
71040 rows inserted
可以了,
直到报错
6、resize文件
SQL> alter database datafile '/dev/raw/raw1' resize 80m;
Database altered
SQL>
SQL> select BYTES, MAXBYTES ,AUTOEXTENSIBLE,FILE_NAME from dba_data_files where file_name like '%raw%';
BYTES MAXBYTES AUTOEXTENSIBLE FILE_NAME
---------- ---------- -------------- --------------------------------------------------------------------------------
83886080 41943040 YES /dev/raw/raw1
SQL> insert into test123
2 select * from test123
3 ;
142080 rows inserted
数据也是可以插入的。
结论
1、裸设备数据文件可以resize
2、裸设备数据文件可以autoextend on
3、resize大小可以超越autoextend on maxsize
当然为了管理方便一般不启用AUTOEXTEND ON 在裸设备上,最好规划好!
测试版本
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
当然10G 11G更没问题。