⑴ 如何查看oracle表空间是否自动扩展
用具有dba权限的用户执行:
sql">selectfile_name,autoextensible,increment_byfromdba_data_files
如果autoextensible为yes则为自动扩展,为no则不能自动扩展。
如图:
⑵ oracle10g数据库如何扩充表空间
oracle10g数据库扩充表空间是通过增加数据文件的大小来实现的。
如果发现某个表空间存储空间不足时,可以为表空间添加新的数据文件,扩展表空间大小。但是一般建议预先估计表空间所需的存储空间大小,然后为它建立若干适当大小的数据文件。
以下是扩大TBS_TR_IND这个表空间的sql命令:
ALTER TABLESPACE TBS_TR_IND
ADD DATAFILE '/oradata/rTBS_TR_IND_002.dbf' --给rTBS_TR_IND_002.dbf这个数据文件增加32G空间
SIZE 32G
AUTOEXTEND OFF;
SQL> ALTER TABLESPACE TBS_EDS_DAT
ADD DATAFILE 'G:\datafile\TBS_EDS_DAT01.DBF' --给TBS_EDS_DAT01.DBF增加100M空间
SIZE 100M
⑶ 怎么增加oracle数据库表空间
第一步:查看表空间的名字及文件所在位置:
select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name
第二步:增大所需表空间大小
alter database datafile '表空间位置'resize 新的尺寸。
例如:alter database datafile '\oracle\oradata\anita_2008.dbf' resize 4000m。
第三步:设置表空间自动扩展:alter database datafile '\oracle\oradata\anita_2008.dbf' autoextend on next 100m maxsize 10000m
⑷ ORACLE数据库设置了表空间自动扩展,但是制动扩展的空间是哪里来的呢我要怎么查看急急急
表空间是建立在数据文件上的,数据文件自动扩展即可。
普通文件表空间是32G,
Oracle 10g 新增的表空间类型:大文件 (Bigfile) 表空间。
大文件表空间从某种角度来说提高了 Oracle 在 VLDB 上的管理能力。 只有自动段空间管理的 LMT (Locally Managed Tablespaces ) 支持 BIGFILE 表空间。 大文件表空间只能包含一个文件,但是文件可以达到 4G 个数据块大小。(以下用 BFT 指代 BIGFILE Tablespace。)
⑸ oracle 表空间在达到多大值时会自动扩展
表空间自动扩展,首先是你创建表空间时要设定autoextend on。所以并不是所有的表空间都是自动扩展的,如果你设定了autoextend off,那么表空间就不会扩展。
至于用到多少自动扩展 并不一定,这个和你设定的块的大小和区的大小有关(因为每个segment的每次扩展都是一个区),集体的区的数值真的忘了。因为块的大小不同,有8k,32k,16k,64K,128K,那么区的大小也不同,所以这个数值没有一定的。
⑹ 如何使得数据库的空间可以无限扩展
表空间是建立在数据文件上的,数据文件自动扩展即可。普通文件表空间是32G,Oracle10g新增的表空间类型:大文件(Bigfile)表空间。大文件表空间从某种角度来说提高了Oracle在VLDB上的管理能力。只有自动段空间管理的LMT(LocallyManagedTablespaces)支持BIGFILE表空间。大文件表空间只能包含一个文件,但是文件可以达到4G个数据块大小。(以下用BFT指代BIGFILETablespace。)
⑺ ORACLE数据库表自动扩展
首先说明一下,数据文件在加入的时候就可以直接设定为自动扩展,不用再次alter。
再把语句给你解析一下:
create tablespaceSIRM2
datafile'路径+文件'size1024M --存储地址 初始大小1G
autoextend on next10M maxsize unlimited --每次扩展10M,直到不能再扩展为止EXTENT MANAGEMENT local autoallocate --区管理方式为本地管理,segment space management auto; --段管理方式为自动
然后再回答你的问题:
并不是只能增加2G,这里的2G是你设定的数据文件的初始大小,并不是最后的大小。因为你的表空间是small datafile组成(区别于bigfile),所以每个数据文件最多只能有4M个block块。也就是说,假设你设定的block块的大小是8K,那么这里的每个数据文件最大就是32G(理论最大值,其实并不能完全达到这么大),你的数据文件初始大小2G,也就是说还有30G的可扩展大小左右(small datafile,以8K的block块大小计算,如果是16K,或者32k,那么也就是说可扩展空间更大一些),扩展到不能再扩展了,那么自然就需要增加数据文件了。个人建议:表空间自动扩展关闭(起码我不喜欢用),直接建立需要大小的数据文件,比如每个数据文件30G,一次加4个,那么表空间大小直接增加120G,足够你用了,就算不够再加,工作量也不是很大(比如每月操作一次,一次加四个,估计5分钟搞定,工作量不大吧)。不然天天看着表空间要满,很难受的。
你的alter database datafile '全路径' autoextend on;语句本身没有问题,但是你没有设定next大小,所以数据库会根据自己的判断增加数据文件的大小,默认参数是多少我忘记了,这个是有默认值的,不过这个默认值真的不大(好像是初始参数的百分之几,你初始设定2G,假设是5%,那么也就是100M左右,对于你来说几乎感觉不到,而且扩展速度慢),所以几乎感觉不到也是可以理解的。
如果实在感觉麻烦,那么就直接建立一个bigfile的表空间,那你就基本不用管了,那可是4G个数据块,也就是说按照每个block块8K计算,最终能扩展到32T,足够了。不过如果不是数据量特别大,个人感觉还是不要这么干,有利就有弊,而且一个文件那么大,总是感觉不太好。