首先说明一下,数据文件在加入的时候就可以直接设定为自动扩展,不用再次alter。
再把语句给你解析一下:
create tablespace SIRM2
datafile '路径+文件' size 1024M --存储地址 初始大小1G
autoextend on next 10M 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,足够了。不过如果不是数据量特别大,个人感觉还是不要这么干,有利就有弊,而且一个文件那么大,总是感觉不太好。
如何使用SQL脚本查看数据库中表的扩展属性
SELECT
表名 = case when acolorder=1 then dname else '' end,
表说明 = case when acolorder=1 then isnull(fvalue,'') else '' end,
字段序号 = acolorder,
字段名 = aname,
标识 = case when COLUMNPROPERTY( aid,aname,'IsIdentity')=1 then '√'else '' end,
主键 = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=aid and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = aid AND colid=acolid))) then '√' else '' end,
类型 = bname,
占用字节数 = alength,
长度 = COLUMNPROPERTY(aid,aname,'PRECISION'),
小数位数 = isnull(COLUMNPROPERTY(aid,aname,'Scale'),0),
允许空 = case when aisnullable=1 then '√'else '' end,
默认值 = isnull(etext,''),
字段说明 = isnull(g[value],'')
FROM
syscolumns a
left join
systypes b
on
axusertype=bxusertype
inner join
sysobjects d
on
aid=did and dxtype='U' and dname<>'dtproperties'
left join
syscomments e
on
acdefault=eid
left join
sysproperties g
on
aid=gid and acolid=gsmallid
left join
sysproperties f
on
did=fid and fsmallid=0
where
dname='要查询的表' --如果只查询指定表,加上此条件
order by
aid,acolorder
1、首先双击桌面软件启动,启动软件。
2、在连接窗口中填写连接数据库信息,因为要扩展表空间所以一般都需要使用db角色的用户进行连接。
3、查看数据库中表空间的信息列表,并选择相应的表空间。
4、然后查看需要扩展的表空间的的数据文件所在的位置。
5、然后对需要增加表空间增加数据文件,如下图。
6、增加完成后可以看到表空间的数据文件由原来的两个增加到了三个,表示增加成功。完成效果图。
以上就是关于ORACLE数据库表自动扩展全部的内容,包括:ORACLE数据库表自动扩展、数据库表的扩展属性主要包括哪些、Oracle 如何扩展表空间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)