当前位置: 首页 > news >正文

表空间(Tablespace)管理

1.1、表空间类型

类型

用途

说明

永久表空间

存储用户数据

SYSTEM, SYSAUX, USERS, 自定义

UNDO表空间

事务回滚和读一致性

自动管理,12c+支持多UNDO

临时表空间

排序、哈希等临时操作

TEMP,不产生redo

大文件表空间

单个数据文件可达128TB

Bigfile Tablespace

加密表空间

数据透明加密(TDE)

12c+原生支持

1.2、创建表空间

创建标准小文件表空间:

CREATE TABLESPACE app_data DATAFILE '+DATA' SIZE 10G AUTOEXTEND ON NEXT 1G MAXSIZE 50G EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;

创建大文件表空间(12c+推荐):

CREATE BIGFILE TABLESPACE big_data DATAFILE '+DATA' SIZE 100G AUTOEXTEND ON NEXT 10G MAXSIZE 128T EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M SEGMENT SPACE MANAGEMENT AUTO;

1.3、表空间管理操作

  • 扩容:调整数据文件大小
  • 扩展:添加新的数据文件
  • 状态切换:设置只读/读写模式
  • 重命名:重命名表空间
  • 删除:DROP TABLESPACE ... INCLUDING CONTENTS AND DATAFILES
-- 扩容:调整数据文件大小 ALTER DATABASE DATAFILE '+DATA/app_data01.dbf' RESIZE 20G; -- 扩展:添加新数据文件 ALTER TABLESPACE app_data ADD DATAFILE '+DATA/app_data02.dbf' SIZE 10G; -- 设为只读 ALTER TABLESPACE app_data READ ONLY; -- 重命名 ALTER TABLESPACE app_data RENAME TO app_data_v2;

实例:表空间容量规划与扩展

S — Situation(场景):某金融系统核心交易表空间TS_TRADE使用率达到92%,数据文件总大小200GB,业务高峰期频繁报ORA-01653(无法扩展区)。

T — Task(任务):在不停机的情况下将表空间扩容至500GB,并优化空间管理策略。

A — Action(行动):

1、首先查询DBA_DATA_FILES和DBA_FREE_SPACE确认当前空间分布;

2、评估后采用两种方式并行:

--将现有数据文件从200GB扩容至300GB(ALTER DATABASE DATAFILE ... RESIZE);

--新增一个200GB数据文件分散I/O(ALTER TABLESPACE ADD DATAFILE);

3、设置AUTOEXTEND ON NEXT 5G MAXSIZE 500G防止未来空间不足;

4、配合监控脚本设置80%使用率预警。

R — Result(结果):表空间可用空间扩展至500GB,使用率降至40%,ORA-01653错误消除。新增数据文件分布在不同ASM磁盘组,I/O负载更均衡,写入性能提升约15%。

1.4、Oracle 12c+ 新特性:多租户架构下的表空间

12c引入CDB/PDB多租户架构后,表空间管理发生了重要变化:

  • 容器结构:CDB级别包含CDB$ROOT、PDB$SEED和多个PDB
  • PDB表空间:每个PDB拥有独立的SYSTEM、SYSAUX、TEMP、UNDO表空间(12.1中UNDO共享,12.2+可独立)
  • 隔离性:PDB之间表空间完全隔离,互不影响
-- 在PDB中创建表空间 ALTER SESSION SET CONTAINER = pdb_sales; CREATE TABLESPACE pdb_sales_data DATAFILE '+DATA' SIZE 5G AUTOEXTEND ON NEXT 500M MAXSIZE 20G; -- 跨PDB查询表空间使用率 SELECT p.name pdb_name, t.tablespace_name, ROUND(t.bytes/1024/1024, 0) total_mb, ROUND(NVL(f.free_bytes,0)/1024/1024, 0) free_mb, ROUND((t.bytes - NVL(f.free_bytes,0)) / t.bytes * 100, 1) used_pct FROM cdb_tablespaces t JOIN v$containers p ON t.con_id = p.con_id LEFT JOIN (SELECT con_id, tablespace_name, SUM(bytes) free_bytes FROM cdb_free_space GROUP BY con_id, tablespace_name) f ON t.con_id = f.con_id AND t.tablespace_name = f.tablespace_name ORDER BY p.name, t.tablespace_name;
http://www.jsqmd.com/news/823968/

相关文章:

  • 5分钟快速上手GSE:魔兽世界智能技能循环终极指南
  • 如何评估机器翻译质量?COMET框架的实战指南
  • 从PLINK到CMplot:三步绘制高颜值SNP密度图
  • TI毫米波雷达IWR1642原始数据采集避坑指南:DCA1000配置、IQ顺序与帧大小限制
  • 首驱电动车和小牛哪个好?售后体验和智能化全面怎么比 - 品牌企业推荐师(官方)
  • 【深度解析】从 Gemini 3.2、Claude 限额变化到 AI Agent:大模型工程化选型与实战评估
  • 新手入门如何在Taotoken平台获取API密钥并完成首次充值
  • MIMIC-IV 2.2 数据安装后必做:一键生成官方物化视图(PostgreSQL版),大幅提升查询效率
  • Midjourney v8艺术审美重构(v7用户必看的3个认知断层与迁移路径)
  • 实战-Spine动画与UI元素的层级穿插艺术
  • PADS VX2.4 封装制作避坑指南:从0402电阻封装实战说清Layer_25和阻焊层
  • 用Python+OpenCV搞定热红外与可见光图像自动对齐(附完整代码与避坑指南)
  • Java高并发基础核心:厘清多线程并发本质与线程安全底层逻辑
  • 开源项目性能基准测试:从JMH到自动化仪表盘的工程实践
  • 揭秘!门式起重机源头厂家口碑排行,谁能脱颖而出?
  • 【哲学 | 西方哲学方向】《论死亡,论生存》
  • 嵌入式 C 语言宏的高级编程技巧~
  • 避坑指南:用MOT17训练YOLOv7检测器时,为什么你的mAP上不去?可能是数据划分的锅
  • 【NotebookLM地理学研究加速器】:20年GIS专家亲测的5大冷门技巧,90%研究者至今不知
  • 基于WebScoket与RabbtiMQ实现的用户对话与信息持久化策略学习
  • Revelation光影包:物理渲染与启发式算法的视觉革命
  • 为什么你的MJ提示词总被降权?结构失衡、权重冲突、语义缠绕三大隐性错误全解析,立即自查
  • 2026年如何选择适合的石灰料仓供应商? - 品牌企业推荐师(官方)
  • Netflix成立INKubator工作室,用生成式AI丰富流媒体内容库
  • 别再混淆MIO和EMIO了!Zynq 7010 PS端GPIO架构详解与选型指南
  • 如何选择最佳压缩算法:7-Zip ZS的6种现代压缩方案对比指南
  • 生产品质问题反复?找准根源+避坑,六西格玛设计从源头破局
  • 【NotebookLM海洋学研究辅助实战指南】:20年海洋数据科学家亲授AI笔记法,3步构建专属科研知识图谱
  • 伊的家护肤老师是什么?一文看懂私人护肤顾问的角色与价值 - 品牌企业推荐师(官方)
  • Java——标准序列化机制