ORA-01654错误:一般原因是Oracle数据库表空间满了,导致数据插入失败报错。(表空间,即数据仓库)

ORA-01654错误:表空间满了,插入失败

解决方法:

1、查看表空间使用情况,是否是满了;

复制直接执行下面这条语句,即可

select a.tablespace_name,
       a.bytes / 1024 / 1024 "sum MB",
       (a.bytes - b.bytes) / 1024 / 1024 "used MB",
       b.bytes / 1024 / 1024 "free MB",
       round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "used%"
  from (select tablespace_name, sum(bytes) bytes
          from dba_data_files
         group by tablespace_name) a,
       (select tablespace_name, sum(bytes) bytes, max(bytes) largest
          from dba_free_space
         group by tablespace_name) b
 where a.tablespace_name = b.tablespace_name
 order by ((a.bytes - b.bytes) / a.bytes) desc;

ORA-01654错误:表空间满了,插入失败

 

 

 

可以看到 QHTJ这个表空间已经 100%爆了,

2、給表空间扩容。扩容有两种思路:一是直接扩大原表空间大小,二是 给该表空间增加额外的空间

select tablespace_name,
       file_id,
       file_name,
       round(bytes / (1024 * 1024), 0) total_space
  from sys.dba_data_files
 order by tablespace_name

直接执行sql,查看表空降的配置文件位置 。

ORA-01654错误:表空间满了,插入失败

一、第一种方式:直接扩大原表空间大小

alter database datafile '/home/app/oracle/oradata/orcl/qhtj.dbf' resize 40000m

  直接扩大到5W M的空间

或者

alter database datafile '/home/app/oracle/oradata/orcl/qhtj.dbf' autoextend on next 10M maxsize unlimited;

 自动扩展到 最大空降(不限制)

二:第二种方法: 给该表空间增加额外的空间

alter tablespace QHTJ add datafile '/home/app/oracle/oradata/orcl/qhtj1.dbf' size 10000m

 

相关文章: