以下的语句可以查看数据文件的使用百分比情况 select a.file_name, round(((a.BYTES - b.BYTES) / a.BYTES) * 100, 2) percent_used from (select file_id, file_name, sum(BYTES) BYTES from dba_data_files group by file_id, file_name) a, (select file_id, sum(BYTES) BYTES, max(BYTES) largest from dba_free_space group by file_id) b where a.file_id = b.file_id order by ((a.BYTES - b.BYTES) / a.BYTES) desc下面说说你的需求,第一,如果数据文件被设置成自动增大,那么可以说这个数据文件是没有最大值的,只要使用量达到接近100%,系统会自动增加文件的大小。 第二,oracle本身是没有自动增加另外一个数据文件的功能的,这个你恐怕要另想他法了,比如写个程序,时刻监控表空间的使用情况,如果不够用了,加个文件上去。第三,把0.2G存到新的数据文件上去,oracle恐怕是没有这样的功能的
如:
CREATE TABLE emp(emp_id number,emp_name,varchar2(50))
TABLESPACE temp
PCTUSED 40
PCTFREE 10
STORAGE(INITIAL 50K NEXT 50K);
如果要更改,可以用alter table
如:
ALTER TABLE emp STORAGE(NEXT 256K PCTINCREASE 0);
select a.file_name,
round(((a.BYTES - b.BYTES) / a.BYTES) * 100, 2) percent_used
from (select file_id, file_name, sum(BYTES) BYTES
from dba_data_files
group by file_id, file_name) a,
(select file_id, sum(BYTES) BYTES, max(BYTES) largest
from dba_free_space
group by file_id) b
where a.file_id = b.file_id
order by ((a.BYTES - b.BYTES) / a.BYTES) desc下面说说你的需求,第一,如果数据文件被设置成自动增大,那么可以说这个数据文件是没有最大值的,只要使用量达到接近100%,系统会自动增加文件的大小。 第二,oracle本身是没有自动增加另外一个数据文件的功能的,这个你恐怕要另想他法了,比如写个程序,时刻监控表空间的使用情况,如果不够用了,加个文件上去。第三,把0.2G存到新的数据文件上去,oracle恐怕是没有这样的功能的
没有自动增加数据文件的功能,一般都是在磁盘空间不够的时候,对空间进行shrink或者添加新的数据文件。
关键是看你原来设置数据文件的增长方式,是AUTOEXTEND!
不行,可以手动增加 add database ?? datafile ... 100M