欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-31 23:48:19
Oracle学习笔记---Oracle数据库中表空间不足。 今天对Oracle操作的时候遇到这个问题: [Err] ORA-01658: unable to create IN...

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