抽取表数据时出现"<ORA-01653:表 XXX 无法通过128(在表空间TS_ODS中)扩展>"
2022/1/19 23:59:48
本文主要是介绍抽取表数据时出现"<ORA-01653:表 XXX 无法通过128(在表空间TS_ODS中)扩展>",对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、出现原因:表空间不够
a、查看有哪些表空间及特定表空间所包含的表
SELECT * FROM DBA_TABLESPACES; --查看有哪些表空间 SELECT * FROM DBA_TABLES WHERE TABLESPACE_NAME='TS_ODS'; --查看TS_ODS表空间有哪些表 SELECT USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE FROM DBA_USERS; --查看用户所属的表空间
基本的表空间有SYSTEM、SYSAUX(索引表空间)、USERS、UNDOTBS1(回滚表空间)、TEMP(临时表空间,保存数据库排序,分组时产生的临时数据)
b、查看数据文件以及所属表空间的相关信息
SELECT * FROM DBA_DATA_FILES; --查看数据文件信息 SELECT * FROM DBA_TEMP_FILES; --查看临时数据文件信息 SELECT * FROM DBA_FREE_SPACE; --查看表空间剩余空间,每段剩余空间都会有一条记录,如果一个表空间记录过多说明碎片过多
--DBA_DATA_FILES FILE_NAME 数据文件的名称,物理文件存放地址 TABLESPACE_NAME 数据文件所属的表空间 BYTES 文件的字节大小 BLOCKS 文件的块大小 STATUS 文件的状态,有效或无效 AUTOEXTENSIBLE 是否自动扩展 MAXBYTES 最大自动扩展字节数 MAXBLOCKS 最大自动扩展块数 INCREMENT_BY 默认自动增量 USER_BYTES 有用的字节大小 USER_BLOCKS 有用的块大小
c、查询表空间使用情况
select b.tablespace_name --表空间名 ,b.m_bytes --表空间大小 ,b.m_bytes-nvl(a.mbytes_free,0) used --已使用空间 ,nvl(a.mbytes_free,0) free --剩余空间 ,round(((b.m_bytes-nvl(a.mbytes_free,0))/b.m_bytes),2)*100||'%' pct_used --使用率 from (select sum(bytes)/(1024*1024) mbytes_free,max(bytes)/(1024*1024) largest,tablespace_name from sys.dba_free_space group by tablespace_name)a, (select sum(bytes)/(1024*1024) m_bytes,sum(maxbytes)/(1024*1024) mbytes_max,tablespace_name from sys.dba_data_files group by tablespace_name union all select sum(bytes)/(1024*1024) m_bytes,sum(maxbytes)/(1024*1024) mbytes_max,tablespace_name from sys.dba_temp_files group by tablespace_name)b where a.tablespace_name (+)= b.tablespace_name order by a.tablespace_name asc
二、解决方法:增加表空间
a、给表空间增加数据文件并自动增长
ALTER TABLESPACE CMH_TEST ADD DATAFILE '/home/u01/app/oracle/oradata/CMH_TEST02.DBF' SIZE 50M AUTOEXTEND ON;
b、允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE '/home/u01/app/oracle/oradata/CMH_TEST.DBF' AUTOEXTEND ON;
三、创建表空间
CREATE TABLESPACE CMH_TEST DATAFILE '/home/u01/app/oracle/oradata/CMH_TEST.DBF' SIZE 100M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ONLINE;
参考连接1
这篇关于抽取表数据时出现"<ORA-01653:表 XXX 无法通过128(在表空间TS_ODS中)扩展>"的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南