Oracle学习笔记 --- Oracle数据库中表空间不足

来源:互联网 发布:苹果4s手机的网络制式 编辑:程序博客网 时间:2024/05/21 10:54

今天对Oracle操作的时候遇到这个问题:


[Err] ORA-01658: unable to create INITIAL extent for segment in tablespace SYSTEM


解决办法:


报错的原因是:导入的表的initial extent 太大,表空间剩余空间不足以分配。

解决方法:

    第一种:增大表空间中的数据文件。

           1.以sysdba身份执行这个SQL,查看表空间中的数据文件:

】:sysdba不需要密码

               select  file_name from dba_data_files where tablespace_name = MY_DATA'

           

           2.同样以sysdba身份执行alter database datafile  'xx'  resize 1000M

               这里的xx为上面SQL查出来的file_name,resize的大小自己视情况定。

  

   第二种:也可以在表空间中新增加数据文件。

                 以sysdba身份执行

               alter tablespace MISPRO_DATA  add datafile 'xx/xx/xx.dbf' size 10M autoextend on 

               next10M  maxsize  500M

               这里的数据文件路径和大小同样自己视情况定。 

 

   第三种:把表空间中的数据文件设置为自动增长(如果你的表空间数据文件已经设置为自动增长,并且已经达到或接近了maxsize,也可以增大maxsize)。以sysdba身份执行:

        alter database datafile 'xx' autoextend on next 10M maxsize 1000M

 如果数据文件已经是自动增长的话,可以选择第二种方法或者执行下面的命令来增大数据文件的maxsize

        alter database datafile 'xx' maxsize  1000M


0 0