我现在有一张表,每天大概会产生8G 的数据量,
我用按每天分区来存储,每个区单独用一个表空间,
现在想问,在一个表空间中分四个文件好,还是分为1 个文件好,这两种分法,文件建立的时候初始化大小各多少?语句大概如下(9I)版本,请高手指教,小弟谢谢先create tablespace SMGW_SMG_HIS_101
datafile
     '/home/oracle/oradata/SMGW_SMG_HIS_101A.dbf'
    size 512M
    autoextend on
        next 200M
        maxsize UNLIMITED
    extent management
        local
            autoallocate
/
alter tablespace SMGW_SMG_HIS_101 add datafile '/home/oracle/oradata/SMGW_SMG_HIS_101B.dbf' size 512M autoextend on next 200M maxsize UNLIMITED
/
alter tablespace SMGW_SMG_HIS_101 add datafile '/home/oracle/oradata/SMGW_SMG_HIS_101C.dbf' size 512M autoextend on next 200M maxsize UNLIMITED
/
alter tablespace SMGW_SMG_HIS_101 add datafile '/home/oracle/oradata/SMGW_SMG_HIS_101D.dbf' size 512M autoextend on next 200M maxsize UNLIMITED
/

解决方案 »

  1.   

    如果是储存大文件还是使用NAS比较合算表里记文件路径就可以了
      

  2.   

    看你的文件多大了,512M对于你的系统来说有点太小文件太大太少,容易造成IO竞争
    文件太小太多,检查点工作量又太多2G或者4G是比较适合的
      

  3.   

    数据要保存6个月,操作系统是solaris 10,磁盘总量为2TB,
    我是想一个文件做成4G,然后一个表空间用8个文件,合计为32G,建立36个存储数据表空间,每个月的分区中循环使用6个表空间,然后在建36个索引表空间(索引用单独的表空间),每个表空间8G(2*4G文件)大小,这样磁盘只剩下30%左右的空间,一般磁盘要至少留多少空间,对性能比较好?这种方案可行不?
      

  4.   

    赞同初始大小加大,512太小了.
    另外:
    有点担心你的数据库和存储系统的I/O瓶颈..
    建议再去咨询一下搞存储又懂oracle的专家
      

  5.   

    曾经看到如下资料,推荐楼主参考一下:
    为了支持超大型数据库(Ultra Large Databases,ULDB),Oracle Database 10g引入了一个重要概念,即大文件表空间(Big file Tablespace),它使Oracle数据库能够包含由单一的大文件而不是许多小文件组成的表空间。这使Oracle数据库能够利用64位系统的功能创建和管理超大型文件。因为网格的重要目标中有一些是要以最低的成本和最小的复杂性提供高可用性、可伸缩性和最佳的服务性能,所以采用集成方法管理网格是必要的。
    相关资料地址:
    http://www.dbanotes.net/Oracle/10g_Bigfile_Tablespaces.htm
      

  6.   

    1、数据文件不能太小,因为DB_FILES参数限定了最多可以有多少个数据文件。请参考DB_FILES参数拟定。不过如果你的确需要按天分区,而且每个分区单独一个表空间的话,建议一个表空间对应一个数据文件8G。
    2、如果一天8G,平均到每个小时(假设是均匀的)就是300M左右,那么初始文件大小512M足够了,但每次扩展最好也按512,写成autoextend on next 512M maxsize 10240M 不能不限制大小,除非你们的业务会有突发的大数据量
    3、预先估算一下索引的大小,一般情况下,索引应该比实际数据要小得多,因此索引表空间没有必要那么大
      

  7.   

    一天8G数据,512M小了,next 200m也可以再扩大。
      

  8.   

    最好不要用自动扩充,再设成UNIFORM