Oracle 文件处理 小秘密(1)

Posted on 2010-01-08 15:50  blackcat  阅读(190)  评论(1编辑  收藏  举报

今天准备一个测试环境,

先创建表

 

CREATE TABLE test (id integer ,str varchar2(100),dt date, dbl float);

然后插入一条记录,之后使用如下语句扩展表

insert into test_s select * from test;

连续N次之后,数据量大概到了300,000,000,18G的时候,再执行一次,提示空间不足。注意这个空间不足是隔了一会儿进行的,也就是说Oracle进行了部分的操作之后,发现空间不足,事务停止了。这个时候,表中数据量没有变化。

但是看下表空间利用率,已经差不多100%了。

就是说,插入失败,但是空间没有释放,一定是Oracle已经把block分配给test表了。

然后在试如下语句:

insert into test_s select * from test where rownum <= 100000000;

语句成功后,表空间利用率没有变化。

由此得证。

 

 


 

 

Copyright © 2024 blackcat
Powered by .NET 8.0 on Kubernetes