当前位置:数据库 > Oracle >>

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

oracle数据库单个数据文件的大小限制
 
比如今天这个问题,卤肉看到报错就会想到可能是数据文件大小和限制规则冲突了,因为以前了解过相关的知识点,有点印象,于是上网去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表空间,有个缺点就是一个表空间只能创建一个数据文件,表空间无法扩展;另外修改数据库大小也可以,但是往往会有不小的风险,如果你不是高级用户的话,建议放弃吧。
 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,