ORACLE临时表空间满引发的一系列思考

2024年 7月 10日 43.7k 0

一、背景

2024年某日,一个仓库系统业务用户反馈异常操作数据丢失,大批量用户权限失效,无法登录应用。

二、处理过程

2.1 使用闪回查询回退权限相关的数据库表

2.2 用户反馈查询数据提示临时表空间不足,同时扩容临时表空间

以上操作之后,应用恢复

三、

后面发现对临时表空间的理解不足

SELECT d.tablespace_name,
TO_CHAR(NVL(a.bytes / 1024 / 1024 / 1024, 0), '99,999,990.900') total_bytes,
TO_CHAR(NVL(a.bytes - t.hwm, 0) / 1024 / 1024 / 1024,
'99999999.999') free_bytes,
TO_CHAR(NVL(t.hwm / a.bytes * 100, 0), '990.00') HWM,
TO_CHAR(NVL(t.bytes / a.bytes * 100, 0), '990.00') temp_using,
sysdate
FROM sys.dba_tablespaces d,
(select tablespace_name, sum(bytes) bytes
from dba_temp_files
group by tablespace_name) a,
(select tablespace_name,
sum(bytes_cached) hwm,
sum(bytes_used) bytes
from v$temp_extent_pool
group by tablespace_name) t
WHERE d.tablespace_name = a.tablespace_name(+)
AND d.tablespace_name = t.tablespace_name(+)
AND d.extent_management like 'LOCAL'
AND d.contents like 'TEMPORARY';

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论