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

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

今天对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

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注