Oracle临时表空间不足
-- 用户的缺省表空间、临时表空间 select t.username, t.default_tablespace, t.temporary_tablespace from dba_users t order by t.username; -- 临时表空间对应临时文件的大小及使用情况 SELECT TABLESPACE_NAME , FILE_ID , FILE_NAME , BLOCKS , STATUS , AUTOEXTENSIBLE , BYTES/1024/1024 AS "FILE_SIZE(M)" , DECODE(MAXBYTES, 0, BYTES/1024/1024, MAXBYTES/1024/1024) AS "MAX_SIZE(M)" , INCREMENT_BY AS "INCREMENT_BY" , USER_BYTES/1024/1024 AS "USEFUL_SIZE" , BLOCKS - USER_BLOCKS AS SYSTEM_USED FROM DBA_TEMP_FILES ORDER BY 2; -- Or SELECT TABLESPACE_NAME, FILE_ID, BYTES_USED/1024/1024 AS TABLESAPCE_USED, BYTES_FREE/1024/1024 AS TABLESAPCE_FREE FROM V$TEMP_SPACE_HEADER ORDER BY 2; -- 增加、调整数据文件大小、增量 ALTER TABLESPACE TEMPX ADD TEMPFILE '/u01/app/oracle/oradata/orcl/temp02.dbf' SIZE 4G AUTOEXTEND ON NEXT 200M MAXSIZE 16G; ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf' AUTOEXTEND ON NEXT 200M MAXSIZE UNLIMITED; ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf' RESIZE 4G; -- 收缩临时表空间 ALTER TABLESPACE TEMPX SHRINK SPACE KEEP 8G;
-- 更改缺省的临时表空间 ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMPX; ALTER USER tkk_us TEMPORARY TABLESPACE TEMPX;
补充,表空间大小查询
select * from dba_tablespaces; select * from dba_data_files; select * from dba_free_space; select * from dba_segments; select * from dba_temp_files; select * from dba_temp_free_space; --根据dba_data_files和dba_free_space统计表空间大小和表空间剩余大小 SELECT A.TABLESPACE_NAME , B.TOTAL / 1024 / 1024 || 'M' , (B.TOTAL - A.USE) / 1024 / 1024 || 'M' FREE FROM ( SELECT c.tablespace_name, (c.p_use - d.p_free) AS USE FROM ( SELECT tablespace_name, SUM(bytes) AS p_use FROM dba_data_files WHERE tablespace_name NOT IN ('SYSTEM', 'SYSAUX', 'USERS', 'UNDOTBS1', 'UNDOTBS2') GROUP BY tablespace_name ) C , ( SELECT tablespace_name, SUM(bytes) AS p_free FROM dba_free_space WHERE tablespace_name NOT IN ('SYSTEM', 'SYSAUX', 'USERS', 'UNDOTBS1', 'UNDOTBS2') GROUP BY tablespace_name ) D WHERE C.tablespace_name = D.tablespace_name ) A , ( WITH TABLESPACE_TOTAL AS ( SELECT tablespace_name, SUM(MAXBYTES) TOTAL FROM DBA_DATA_FILES T WHERE T.AUTOEXTENSIBLE = 'YES' AND T.TABLESPACE_NAME NOT IN ('SYSTEM', 'SYSAUX', 'USERS', 'UNDOTBS1', 'UNDOTBS2') GROUP BY tablespace_name UNION ALL SELECT tablespace_name, SUM(bytes) TOTAL FROM DBA_DATA_FILES T WHERE T.AUTOEXTENSIBLE = 'NO' AND T.TABLESPACE_NAME NOT IN ('SYSTEM', 'SYSAUX', 'USERS', 'UNDOTBS1', 'UNDOTBS2') GROUP BY tablespace_name ) SELECT TABLESPACE_NAME, SUM(TOTAL) TOTAL FROM TABLESPACE_TOTAL GROUP BY TABLESPACE_NAME ) B WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME; --根据dba_data_files和dba_segments统计表空间总大小和剩余大小 SELECT A.TABLESPACE_NAME, B.TOTAL / 1024 / 1024 || 'M', (B.TOTAL - A.USE) / 1024 / 1024 || 'M' FREE FROM ( SELECT TABLESPACE_NAME, SUM(bytes) AS USE FROM dba_segments --WHERE tablespace_name IN ('SYSTEM', 'SYSAUX', 'USERS', 'UNDOTBS1', 'UNDOTBS2') GROUP BY TABLESPACE_NAME ) A , ( WITH TABLESPACE_TOTAL AS ( SELECT tablespace_name, SUM(MAXBYTES) TOTAL FROM DBA_DATA_FILES T WHERE T.AUTOEXTENSIBLE = 'YES' --AND T.TABLESPACE_NAME IN ('SYSTEM', 'SYSAUX', 'USERS', 'UNDOTBS1', 'UNDOTBS2') GROUP BY tablespace_name UNION ALL SELECT tablespace_name, SUM(bytes) TOTAL FROM DBA_DATA_FILES T WHERE T.AUTOEXTENSIBLE = 'NO' --AND T.TABLESPACE_NAME IN ('SYSTEM', 'SYSAUX', 'USERS', 'UNDOTBS1', 'UNDOTBS2') GROUP BY tablespace_name ) SELECT TABLESPACE_NAME, SUM(TOTAL) TOTAL FROM TABLESPACE_TOTAL GROUP BY TABLESPACE_NAME ) B WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?