我在oracle中创建了多个用户,给每个用户创建了许多表!
今天有用户在创建新表时提示"已经达到了最大值4GB,无法创建",我查看到SYSTEM.dbf文件现在是4GB了!请问如何调整才能大于4GB呢?用什么命令?

解决方案 »

  1.   

    1.非常不建议用户的默认表空间时system.
    2.通过增加表空间更多的数据文件来增加空间。
      

  2.   

    为什么要创建在SYSTEM表空间?创建在别的表空间,文件限制变成OS文件限制,我这边在WINDOWS2000和SU LINUX 下面,可以达到32G,也可以在同一个表空间下多创建几个数据文件
      

  3.   

    通过增加数据文件的个数来增加表空间的大小:   
    ALTER   TABLESPACE   SYSTEM ADD   DATAFILE   'D:\ORACLE\PRODUCT\10.2.0\ORADATA\LOG855\SYSTEM02.DBF'   SIZE   70M;
      

  4.   

    你的意思是用户使用表空间的限制吧? 如果是这样,那么用dba的用户登录,grant unlimited tablespace to user1;
    如果是表空间达到最大值,那么可以修改表空间数据文件的maxsize值:
    alter database datafile '/oradata/..../system01.dbf' autoextend on maxsize 10240m;
      

  5.   

    楼上说得都差不多了,我补充说明一下
    根据楼主的说明,判断应该是表空间满了,首先用dba权限的用户登陆,执行
     select * from dba_data_files;
    查看system表空间的存放位置
    然后
    alter database datafile 'system表空间存放位置' autoextend on next 10M;
    我没有设置最大值,只是让他每次超出后自动增加10M
    同时也应该给连接的用户 unlimited tablespace 权限如果楼主Oracle的System表空间存放在Fat32格式的磁盘下也可能是引发问题的原因,因为FAT32单个文件最大支持4G,可以考虑将数据文件件迁移的其他NTFS格式的磁盘上
      

  6.   

    若真是因为FAT32格式引起的错误可以按参考下面步骤进行迁移
    System是必可脱机表空间所以
    1.将数据库启动到mount状态
    startup mount2.变更数据文件
    alter database orcl rename file 'c:\system.dbf' to 'd:\system.dbf';3.启动数据库
    alter database open;
    注意
    在变更前,最好先强制执行切换检查点命令
    alter system checkpoint;
    这样不容易出现,控制文件与数据文件不一致的情况,比如第 1 行出现错误:
    ORA-01113: 文件 1 需要介质恢复
    ORA-01110: 数据文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF'
      

  7.   

    alter database datafile '/oradata/..../system01.dbf' autoextend on maxsize 10240m;
    執行后提示已經變更,但是创建表示依然那样提示ALTER  TABLESPACE  SYSTEM ADD  DATAFILE  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\LOG855\SYSTEM02.DBF'  SIZE  70M; 
    执行时就提示"不能超过4GB",请大家再帮忙想想
      

  8.   

    你这个问题是达到了文件的最大值,你现在文件已经到达临界状态,你最好把用户的默认表空间设成users,而不是system,system表空间存放数据字典,你现在的解决办法是先删掉一些东西,然后修改用户的默认表空间,再增加你删的东西.
      

  9.   

    我觉得还是需要考虑磁盘格式,总是说“4G”,system表空间默认不会是创建到4G那么大的,肯定是一点点增加的,可以推断出表空间已经是自动增长的,所以我认为楼主的问题是在磁盘格式上,你的磁盘格式是什么啊?