ORACLE数据库表自动扩展

ORACLE数据库表自动扩展,第1张

首先说明一下,数据文件在加入的时候就可以直接设定为自动扩展,不用再次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 如何扩展表空间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9479459.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存