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

来源:互联网 发布:正在优化social club 编辑:程序博客网 时间:2024/05/20 09:24

转自: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表空间,有个缺点就是一个表空间只能创建一个数据文件,表空间无法扩展;另外修改数据库大小也可以,但是往往会有不小的风险,如果你不是高级用户的话,建议放弃吧。




阅读全文
0 0
原创粉丝点击