资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

oracle如何自动扩展 oracle增加

oracle表空间如何自动扩展?

需要在创建的时候就设置为自动扩展,语句如下:

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的武强网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

create  tablespace shopping --创建shopping的表空间

datafile 'shopping.dbf'  --物理文件名

size 50m  --初始大小为50M

autoextend on  --自动扩展

next 50m maxsize 20480m  --每次自动扩展50M,最大可到20480M

extent management local;

表空间:

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。

Oracle数据库中至少存在一个表空间,即SYSTEM的表空间。

SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计。Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。

ORACLE数据库表自动扩展

首先说明一下,数据文件在加入的时候就可以直接设定为自动扩展,不用再次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,足够了。不过如果不是数据量特别大,个人感觉还是不要这么干,有利就有弊,而且一个文件那么大,总是感觉不太好。

如何扩展Oracle表空间

方法/步骤

第一步:查看表空间的名字及文件所在位置:

select tablespace_name, file_id, file_name,

round(bytes/(1024*1024),0) total_space

from dba_data_files

order by tablespace_name

2

第二步:增大所需表空间大小:

alter database datafile '表空间位置'resize 新的尺寸

例如:

alter database datafile '\oracle\oradata\anita_2008.dbf' resize 4000m

3

第三步:设置表空间自动扩展

alter database datafile '\oracle\oradata\anita_2008.dbf'

autoextend on next 100m maxsize 10000m

数据库oracle11G,如何通过plsql查询表空间大小,如何通过PLSQL把一个表空间的大小设置成自动扩展

sql语句

1.查询表空间大小

select tablespace_name , sum(bytes/1024/1024) sizeM from dba_data_files group by tablespace_name ;

2.设置数据文件为自动拓展

alter database datafile n autoextend on ;

不知道你说的两个东西有什么关联性。

下面是设置全部数据文件为自动拓展的plsql匿名块:

begin

for rec in (select file_id , autoextensible from dba_data_files where autoextensible='NO') loop

execute immediate 'alter database datafile '||rec.file_id||' autoextend on ' ;

end loop ;

end ;


分享标题:oracle如何自动扩展 oracle增加
文章来源:http://cdkjz.cn/article/hhdssp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220