如何测试数据库表空间不足场景

1、select * from DBA_DATA_FILES;

这个命令主要是了解数据库实例中各个模块数据库表空间的大小,是否支持自动扩展(AUTOEXTENSIBLE),MAX扩展(MAXBYTES),以及各个表空间的路径(oracleoradatai2kdbomscm.dbf)

查看AUTOEXTENSIBLE字段是否支持自动扩展,如果对应表空间的该字段为YES,表示支持自动扩展

2、alter database datafile 'oracleoradatai2kdbomscm.dbf' autoextend off;关闭表空间的自动扩展功能

(autoextend on表示开启自动扩展)

3、select a.tablespace_name, a.used_space*8/1024 used_space_M, a.tablespace_size*8/1024 tablespace_size_M, a.used_percent from sys.dba_tablespace_usage_metrics a order by a.used_percent;查看表空间的大小和利用率

蓝色部分都是字段别名

4、创建一个空白的表格来占用4900M的存储空间:注意(该脚本需要在该表空间的用户名下执行)

create table tbl_test (

id number not null primary key,

name varchar2(20) DEFAULT 'OS',

address varchar2(20)

) tablespace OMSFM

storage (

initial 4900M

next 1K

minextents 1

maxextents unlimited)

说明:执行该脚本,需要找OMSFM的表空间用户名的权限下创建,OMSFM为表空间名称

4900M,需要填充的空间大小,只要比表空间小就可以

也可以将4900M拆分成4000M+900M,即创建两个表,只是分两次创建

5、在空白表插入数据:插入4行数据

脚本如下:

declare

num number(30) :=1;

begin     

    while num<5

                loop

                   insert into omsfm.tbl_test(id,name,address) values(num,'qmfsuntest','aabbccddeeff');

                   commit;

                   num := num+1;

    end loop;

end;

/

原文地址:https://www.cnblogs.com/qmfsun/p/3812814.html