xzou(缺齿小狼) :你的建议很好,不过不知道在把当日的数据存入历史表中这一段时间内采集的数据怎么办?

解决方案 »

  1.   

    你用分区表吧,这样可以存上100GB的数据也是没有问题的
    而且你要把哪个表的数据分别存储到不用的表空间上,每个表空间最好不要建立在同一个磁盘上面,这样可以减少I/0
    具体怎么操作你可以看一些书吧
      

  2.   

    数据分区对开发人员是透明的,开发人员不需要关心数据到底放在哪个分区上,这些是dba的工作:)
      

  3.   

    我也提提自己的意见,请高手指教
    1.你的问题属于OLTP,在线事务处理,因为数据变动量非常大,因此构建过多的Clustered和NoClustered索引都会由于反复构建索引叶层,而导致系统变慢。因此建尽可能少的索引。
    2.使用集群服务器,呵呵,偶是搞Java的,动不动就集群,所以就想到这里了。
    3.不妨在来个Raid10,呵呵,刚看到又出了个Raid10标准,镜像加条带,爽死了,呵呵。
      

  4.   

      
     Yang_Sun(Yang_Sun):能具体说说集群服务器集些什么数据吗?还有啊,你说那个raid10爽死了,可我不知道怎么个爽法耶,因为我不懂,我是个oracle初学者。 
      

  5.   

     
      呀,我刚看到了oracle书中说的集群服务器,原来如比啊,后面那个raid10麻烦解释一下
      

  6.   

    1.建立表空间tablespace1 , tablespace2  (两个表空间建在不同盘)
    2.把当日或月信息放入tablespace1的临时表中:temp     
    3.把历史信息放入tablespace2的历史表中:history (temp与history表结构相同)
    4.建一个触发器,当向临时表temp插入一条数据时,也把该记录插入到history表中.
      

  7.   

    Raid是在硬件级实现性能提高的方法,分为不同的级别,
    RIAD是英文Redundant  Array  of  Inexpensive  Disks的缩写,廉价冗余磁盘阵列。
        RAID0,又称为集带(Striping)工作方式。工作状态是几个磁盘同时工作,系统传输来的数据,经过RAID控制器通常是平均分配到几个磁盘中。而这一切对于系统来说是完全不用干预的,从系统的角度看,N个硬盘是一个容量为N个硬盘容量之和的“大”硬盘。RAID0的主要工作目的是获得更大的“单个”磁盘容量。另一方面就是多个硬盘同时读取,从而获得更高的存取速度,  
        RAID1,又称为镜像(Mirroring)方式。这种工作方式的出现完全是为了数据安全考虑的,因为在整个镜像的过程中,只有一半的磁盘容量是有效的,因为另一半用来存放同这一半完全一样的数据,也就是数据的冗余了。同RAID0相比,它是另一个极端。RAID0首要考虑的是磁盘的速度和容量,忽略安全;而RAID1首要考虑的是数据的安全性,容量可以减半、速度可以不变。     所以为了达到相对既有高速又有安全目的,RAID10(或者叫RAID0+1)就可以解决它了。RAID10也可以简单的理解成两个分别由多个磁盘组成的RAID0阵列再进行镜像;其实反过来理解也没有错。 
       常用的还有3,5是加了数据校验的,在组合为30,50    
      

  8.   

    呵呵,同意楼上的说法。Raid10就是好像多用了一倍的磁盘,但磁盘读写速度要提升不少。