72-Oralce Temporay tablespace(单实例和多租户下的管理)

小伙伴们,生产库是不是已经慢慢都升级到12c+以上的19c这样的多租户场景了,那么临时表空间做了规划了么,有针对性能的提升么

官方推荐为CDB和每个PDB分别创建独立的临时表空间

为了多租户下,资源隔离与独立性,​每个PDB应有专属临时表空间​:防止某个PDB的临时空间操作(如大型排序、哈希连接)影响其他PDB或CDB根容器。

​CDB根容器也需要独立临时表空间,用于系统级操作(如元数据管理)和连接到根容器的会话。

​默认行为支持分离,创建PDB时,若未显式指定临时表空间,PDB会自动继承CDB的临时表空间,但这个官方不推荐。

官方手册建议在PDB创建后立即显式指定其专属临时表空间,避免跨容器资源争用

临时表空间组(Temporary Tablespace Group)的增强应用​

为提升并发性能和负载均衡,Oracle推荐使用临时表空间组​(由多个临时表空间组成),

尤其适用于高并发场景:

​​并发性提升​:不同会话可并行使用组内不同临时表空间,减少I/O竞争。

​故障隔离​:单个临时文件损坏不影响整体可用性。

​动态扩展​:可在线添加/移除临时表空间,无需停机

另外在有些极端的开发场景需要大量插入数据后又删除,

优先选择临时表空间+全局临时表(GTT)​,避免普通表空间的手动管理开销和性能损耗。

一、临时表空间核心功能与技术原理

1. 功能定义
  • 核心作用​:存储会话级临时数据(排序、哈希连接、全局临时表、并行查询中间结果),事务结束或会话终止后自动释放。
  • 关键特性​:
    • 使用临时文件(Tempfile)​,不生成Redo日志,空间按需分配(稀疏文件),无需预初始化。
    • 数据以临时段(Temporary Segments)​​ 管理,同一实例的所有SQL操作共享排序段,实例关闭时释放。
2. 技术原理
  • SEP管理机制(Sort Extent Pool)​​:
    • 自Oracle 7.3引入,通过共享池中的位图管理临时段扩展分配,减少频繁空间分配开销。
    • 排序操作优先使用PGA内存,溢出时从SEP分配空闲扩展区(Extent),完成后标记为空闲而非释放。
  • 与永久表空间对比​:

​特性​

​临时表空间​

​永久表空间​

​存储内容​

中间结果(排序/连接/临时表)

永久对象(表/索引)

​持久性​

会话结束自动清理

数据永久保存

<

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值