
l临时表空间管理
发布日期:2021-05-14 05:21:58
浏览次数:26
分类:精选文章
本文共 1555 字,大约阅读时间需要 5 分钟。
背景
在执行批次任务时,04:20的任务出现了失败,报错信息为“临时表空间无法扩展”。通过查阅相关脚本和资源,发现临时表空间的使用情况始终显示为100%。在进一步排查过程中,发现脚本使用存在错误,并对Oracle 11g下的临时表空间管理进行了详细梳理。
11g新视图:dba_temp_free_space
Oracle 11g引入了专门的视图`dba_temp_free_space`,用于直接查看临时表空间的剩余情况。这个视图包含四个字段:`allocated_space`、`free_space`、`used_temp_space`和`shared_space`,提供了临时表空间的使用情况全面了解。
Allocated_Space解析
`Allocated_Space`表示文件系统中已经实际分配给临时文件的空间大小。这类似于内存管理中的物理内存使用情况(HWM),但与之不同的是,临时文件采用稀疏文件的方式存储,创建时仅分配元数据,实际空间分配是在使用时动态分配的。
从组成上看,`Allocated_Space`由以下几个部分组成:
- 元数据信息(1M)
- 正在使用的临时段空间
- 当前未使用但曾经使用过的临时段空间
Free_Space解析
`Free_Space`表示当前临时表空间中可以使用的空间总量。这包括两部分:
- 当前未使用但曾经使用过的临时段空间
- 稀疏文件中未分配的部分
需要注意的是,`Free_Space`中的部分空间属于共享段,表示当前未使用但曾经使用过的临时段空间。
临时表空间管理流程
- **注册阶段**:在文件系统层面创建临时文件,仅生成元数据,不实际分配空间(稀疏文件特性)
- **分配阶段**:在实际使用时,动态分配空间,类似于HWM(最大工作集大小),分配的空间不会自动释放
- **使用阶段**:根据实际需求占用空间
实验总结
创建临时表空间
CREATE TEMPORARY TABLESPACE temptestTEMPFILE '/mnt/disk1/oradata/temptest.dbf' SIZE 500M;
临时表空间扩展测试
alter database tempfile '/mnt/disk1/oradata/temptest.dbf' resize 1g;
使用临时表占用空间
Create Global Temporary Table temptest( start_date DATE, end_date DATE, line_no VARCHAR2(20), class_no VARCHAR2(5), product_name VARCHAR2(200), plan_number VARCHAR2(30), station_name VARCHAR2(30), thread_no NUMBER(4), testitem VARCHAR2(100), mobile_name VARCHAR2(50), test_cnt NUMBER, fail_cnt NUMBER, station_no VARCHAR2(5)) On Commit delete rows;
临时表空间使用情况查看
SELECT * FROM dba_temp_free_space;
实验结果与分析
–初始创建500M临时表空间
–扩展至1G后,`allocated_space`为571021624字节
–插入数据后`allocated_space`增加至571346544字节
–进一步扩展10M后,`allocated_space`稳定在571346544字节
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月23日 17时34分04秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
我用wxPython搭建GUI量化系统之最小架构的运行
2019-03-07
我用wxPython搭建GUI量化系统之Sizer布局管理与页面切换
2019-03-07
我用wxPython搭建GUI量化系统之多只股票走势对比界面
2019-03-07
我用wxPython搭建GUI量化系统之财务选股工具添加日历和排序
2019-03-07
selenium+python之切换窗口
2019-03-07
重载和重写的区别:
2019-03-07
搭建Vue项目步骤
2019-03-07
linux 编译出现的错误
2019-03-07
账号转账演示事务
2019-03-07
idea创建工程时错误提醒的是architectCatalog=internal
2019-03-07
SpringBoot找不到@EnableRety注解
2019-03-07
简易计算器案例
2019-03-07
在Vue中使用样式——使用内联样式
2019-03-07
Explore Optimization
2019-03-07
Kali Linux 内网渗透教程 - ARP欺骗攻击 | 超详细
2019-03-07
2020Java程序设计基础(华东交通大学)章节测试免费满分答案
2019-03-07
小程序之wx:request(转)
2019-03-07