如何判断数据文件存储记录是否达到设定的最大值,及达到最大值时如何生成新的数据文件, 
比如我有一个最大值为10g的数据文件a1.dbf,存储数据已达到9.9G,再存一个0.2G(200M左右)的记录, 
怎么让oracle自动增加一个a2.dbf的数据文件并把0.2G的记录存储在a2.dbf里面?

解决方案 »

  1.   

    这个应该没有问题!
    你操作系统是linux可以增加.sh的作业!检查系统中空间的使用比率,
    如果这个比率大于你设置的某个值就自动增加
    alter database ??? add datafile =' ' size='??';
    然后在contrab中设置为每天自动运行检查!
      

  2.   

    自动增加数据文件是不可能的,一个数据文件增加有很多相关参数,文件大小,存放在什么地方,段管理等等,这些,oracle是不可能自动帮你搞定的至于0.2G放到另一个数据文件,你可以试试,在手工建了另一个数据文件后,把老的数据文件offline掉,这样,强行把新数据写到新的数据文件里,不过,只要你一恢复老的数据文件,当数据进行DML操作时,数据还是有可能被分布到两个文件上的
      

  3.   


    Oracle没有这样的功能,对于datafile的添加或者是datafile的维护的话,需要手工来进行管理,不过10g提供了advisor的功能,结合着预警功能,可以提示你什么时候需要操作了,理论上,是可以通过数据库管理语句alter tablespace ts1 add datafile 和 job等结合,建库有关表空间的动态表,进行这样的操作。 不过,这样的管理操作,还是手工来做比较好。
      

  4.   

    如果有这个要求,建议使用Oracle asm去管理存储空间,不需要管理文件,全部由Oracle管理,你只要保证磁盘空间足够
      

  5.   

    自动加数据文件,这个还是手工来吧,顶多像inthirties说的加个预警,
    至于怎么把0.2G放到新增的数据文件中,这个是ORACLE自己处理的。