微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

oracle数据库单个数据文件的大小限制

转自:https://www.cnblogs.com/snake-hand/p/3144942.html

之前没有仔细想过这个问题,因为总是不会用到,也没有犯过类似错误

顺便提一下学习方法吧。

卤肉的学习方法是:常用知识点,熟悉理论并反复做实验,深入理解;不常用的知识点,相关内容都了解大概,遇到问题时想得起来能知道去哪里查就可以;所有知识点都必须要用实验验证,否则学习效果会大打折扣,光看书或看视频是没有用的,我保证一个月之后,你忘记的干干净净的,哈哈。

比如今天这个问题,卤肉看到报错就会想到可能是数据文件大小和限制规则冲突了,因为以前了解过相关的知识点,有点印象,于是上网去google一下,果然如此。处理过程如下:

环境背景信息:suse linux11sp1, oracle10.2.0.5


sql> CREATE TABLESPACE hubtemsTBS

2 NOLOGGING
3 DATAFILE
4 '/oracle/oradata/hubtems01.dbf' SIZE 8000M,
5 '/oracle/oradata/hubtems02.dbf' SIZE 8000M,
6 '/oracle/oradata/hubtems03.dbf' SIZE 8000M,
'/oracle/oradata/hubtems04.dbf' SIZE 8000M,
7 8 '/oracle/oradata/hubtems05.dbf' SIZE 8000M,
9 '/oracle/oradata/hubtems06.dbf' SIZE 8000M
10 AutoExtend On Next 10M Maxsize 50000M
11 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO;



CREATE TABLESPACE hubtemsTBS
*
ERROR at line 1:
ORA-03206: maximum file size of (6400000) blocks in AUTOEXTEND clause is out of
range




sql> show parameter db_block


NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_buffers integer 0
db_block_checking string FALSE
db_block_checksum string TRUE

db_block_size integer 8192

A smallfile tablespace is a Traditional Oracle tablespace,which can contain 1022 datafiles or tempfiles,each of which can contain up to approximately 4 million (2^22) blocks.
我的数据块是大小是8k ,那么能创建的最大的数据文件大小是:2^22*8K=32G,而我指定的是‘/oracle/oradata/hubtems06.dbf',大小8G,最大打下是50G,超过限制了,所以报错。

问题搞清楚就好办了,解决办法如下:

1、修改数据文件最大大小为unlimited或者直接写出32G;若果表空间整体数据空间大小不够的话,那你就勤快一点,多写几行,多加几个数据文件

2、不推荐的思路也有一些,适用于特定的场合:创建BIGFILE表空间,有个缺点就是一个表空间只能创建一个数据文件,表空间无法扩展;另外修改数据库大小也可以,但是往往会有不小的风险,如果你不是高级用户的话,建议放弃吧。

原文地址:https://www.jb51.cc/oracle/206795.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐