ORACLE检查并创建表空间和表分区

news/2025/10/23 16:31:48/文章来源:https://www.cnblogs.com/Dream-new/p/19161001

为确保系统在高并发、大数据量环境下的稳定高效运行,要求建立完善的表空间与表分区管理机制,具体包括:定期检查表空间使用率,及时发现并处理空间不足风险;建立分区自动创建与维护流程,防止因分区缺失导致的数据插入失败;制定紧急情况下的空间清理与扩展预案,确保在磁盘空间耗尽或表空间无法扩展时能够快速响应并恢复系统正常运行。

  • 物理磁盘空间不足

现象:df -h 显示使用率超过90%

紧急清理

使用oracle用户登录linux系统

su – oracle

输入相关密码

# 清理归档日志
rman target /
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
RMAN> exit
# 清理回收站
sqlplus / as sysdba
PURGE DBA_RECYCLEBIN;
exit
# 查找并清理大文件
find /u01/app/oracle -type f -size +1G -exec ls -lh {} \;

表空间使用率过高(例如 > 90%)

-- 增加数据文件
ALTER TABLESPACE <tablespace_name>
ADD DATAFILE '/data/oracle/database/orcl/表空间文件名称.dbf'
SIZE 2048M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;-- 或扩展现有数据文件,该操作需确认是否要使用
ALTER DATABASE DATAFILE '/data/oracle/database/orcl/表空间文件名称.dbf ' RESIZE 20G;

表分区日期耗尽导致数据插入异常

现象:ORA-14400 或 ORA-14401 错误

-- 创建根据前文查询缺失的分区
ALTER TABLE 表名称 
ADD PARTITION 分区名称VALUES LESS THAN ('截止日期,例如20250505')
TABLESPACE 对应表空间名称
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE(initial 8Mnext 1Mminextents 1maxextents unlimited
);
  • 表空间不足,且磁盘空间已满

表空间无法扩展

现象:表空间无法扩展,且 df -h 显示磁盘已满,清理表空间, 收缩段:查找并收缩可以回收空间的表或索引。

-- 查找高水位线(HWM)较高的表
SELECT table_name, ROUND((blocks * 8) / 1024, 2) "高水位线(MB)",ROUND((num_rows * avg_row_len / 1024 / 1024), 2) "实际数据大小(MB)",ROUND((blocks * 8 ) / 1024, 2) - ROUND((num_rows * avg_row_len / 1024 / 1024), 2) "可回收空间(MB)"
FROM dba_tables
WHERE owner = 'YOUR_OWNER'AND ROUND((blocks * 8) / 1024, 2) > ROUND((num_rows * avg_row_len / 1024 / 1024), 2)
ORDER BY "可回收空间(MB)" DESC;
-- 当表经过大量DELETE操作后,有很多碎片空间时,对表进行移动和收缩(例如对表MY_TABLE), 操作期间会锁定表,建议在业务低峰期执行
ALTER TABLE YOUR_OWNER.MY_TABLE ENABLE ROW MOVEMENT;
ALTER TABLE YOUR_OWNER.MY_TABLE SHRINK SPACE CASCADE;

  清理回收站

PURGE RECYCLEBIN; -- 清除当前用户的回收站
PURGE DBA_RECYCLEBIN; -- 需要DBA权限,清除整个数据库的回收站

  归档并清理历史数据

归档并清理历史数据:对于分区表,可以删除最老的不再需要的历史分区,这是最快最有效的方法,执行清理前,需查询并确认分区名称

ALTER TABLE YOUR_OWNER.YOUR_PARTITIONED_TABLE DROP PARTITION <partition_name>;
  • 自动创建表空间和表分区

自动创建表空间和表分区,该存储过程会创建三年(包含当年)的表空间和表分区,根据“检查清单”操作,查询所属用户的所有表分区,根据查询出来的表空间和表分区的命名方式,对以下存储过程进行修改。若表空间或表分区名称已存在,则会跳过继续执行下一个日期的逻辑。

CREATE PROCEDURE SYS_CREATE_TABLESPACE
/***************************************************************  存储过程名称: SYS_CREATE_TABLESPACE*  建立日期    : 2025/10/16*  作者        : 宋*  作用        :自动创建表空间和表分区*  输出        : 无返回值*-------------------------------------------------------------* 修改历史* 序号        日期       修改人    修改原因*   1       2025/10/16  宋       新建***************************************************************/
IS-- 声明游标:获取未来3年(含当前年份)的每个季度的名称,例如2025_Q1 2025_Q2CURSOR cur_date ISSELECT TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), (LEVEL - 1) * 3), 'YYYY')     AS QYEAR,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), (LEVEL - 1) * 3), 'YYYYMM')   AS QMONTH,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), (LEVEL - 1) * 3), 'YYYY') || '_Q' ||TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), (LEVEL - 1) * 3), 'Q')        AS QNAME,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), (LEVEL - 1) * 3), 'YYYYMMDD') AS QDATEFROM DUALCONNECT BY LEVEL <= 12;-- 变量声明maxrows     NUMBER DEFAULT 100000;q_year      DBMS_SQL.VARCHAR2_TABLE; -- 年份q_month     DBMS_SQL.VARCHAR2_TABLE; -- 月份q_name      DBMS_SQL.VARCHAR2_TABLE; -- 表空间和表分区的起名规则q_date      DBMS_SQL.VARCHAR2_TABLE; -- 表分区截止时间v_proc_name VARCHAR2(50);v_err_msg   VARCHAR2(1024); -- 错误描述i_code      NUMBER;v_sqlcode   NUMBER;v_sqlerrm   VARCHAR2(4000);v_sql       VARCHAR2(4000);BEGINv_proc_name := 'SYS_CREATE_TABLESPACE';OPEN cur_date;LOOP-- 批量获取季度数据FETCH cur_date BULK COLLECT INTO q_year, q_month, q_name, q_date LIMIT maxrows;-- 退出条件:当没有数据时退出循环EXIT WHEN q_name.COUNT = 0;-- 遍历每个季度FOR i IN 1 .. q_name.COUNT LOOP-- 获取所有需要创建表空间和表分区的表信息FOR CUR_TABLE IN (SELECT owner, table_name, table_name || '_' || q_name(i) AS table_name_aliasFROM all_part_tablesWHERE owner IN ('AAAA', 'BBBB')) LOOP-- 跳过不需要创建表空间的表IF CUR_TABLE.TABLE_NAME = 'XXXXXX' THENCONTINUE;END IF;-- 只为XXXXXX表创建表空间和分区IF CUR_TABLE.TABLE_NAME = 'XXXXXX' THEN-- 创建表空间(如果不存在)BEGIN-- XXXXXX只创建年份的(只在第一季度创建)IF q_name(i) NOT LIKE '%_Q1' THENCONTINUE;END IF;v_sql := 'CREATE TABLESPACE ' || CUR_TABLE.TABLE_NAME || '_' || q_year(i) || ' DATAFILE ''/data/oracle/database/orcl/' || CUR_TABLE.TABLE_NAME || '_' || q_year(i) || '.dbf'' ' ||'SIZE 2048M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL';EXECUTE IMMEDIATE v_sql;EXCEPTIONWHEN OTHERS THENv_sqlcode := SQLCODE;v_sqlerrm := SQLERRM;SP_PASSYS_ERRHANDLE(v_proc_name, v_sqlcode, v_sqlerrm);END;-- 创建分区BEGINv_sql := 'ALTER TABLE ' || CUR_TABLE.OWNER || '.' || CUR_TABLE.TABLE_NAME || ' ADD PARTITION CP' || q_year(i) || ' VALUES LESS THAN (''' || q_month(i) || ''') ' ||' TABLESPACE ' || CUR_TABLE.TABLE_NAME || '_' || q_year(i);EXECUTE IMMEDIATE v_sql;EXCEPTIONWHEN OTHERS THENv_sqlcode := SQLCODE;v_sqlerrm := SQLERRM;SP_PASSYS_ERRHANDLE(v_proc_name, v_sqlcode, v_sqlerrm);END;END IF;END LOOP; -- 结束表循环END LOOP; -- 结束季度循环END LOOP; -- 结束主循环CLOSE cur_date;EXCEPTIONWHEN OTHERS THEN-- 异常处理:确保游标关闭IF cur_date%ISOPEN THENCLOSE cur_date;END IF;RAISE;END SYS_CREATE_TABLESPACE;
/

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/944424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

让cherry studio访问使用Docket Desktop中的Docker Model Runner运行的模型

添加自定义提供商,类型选OpenAI。API密钥随意(可以填none) API地址填http://localhost:12434/engines/llama.cpp模型 点击管理选择列出来的模型即可注意:模型名称要按下图中输入docker model ps命令出来的名称填写…

禁用内核模块,是否需要执行脚本 $ sudo update-initramfs -u $ sudo update-grub ? - 详解

禁用内核模块,是否需要执行脚本 $ sudo update-initramfs -u $ sudo update-grub ? - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !impor…

2025 年东莞钢结构厂房施工公司最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析

在工业建筑领域,钢结构厂房以其施工效率高、结构稳定性强等优势,成为众多企业的首选。随着市场需求增长,专业施工公司的综合实力成为用户关注焦点。本文基于企业资质、项目经验、技术团队规模及服务质量等维度,对东…

高性能AI股票预测分析报告 - 2025年10月23日

高性能AI股票预测分析报告 - 2025年10月23日body { font-family: "Microsoft YaHei", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: rgba(51, 51, 51, 1); max-wi…

2025 年电子万能试验机生产厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析

电子万能试验机作为材料力学性能测试的核心设备,广泛应用于工业制造、科研教育及质量控制领域。随着制造业升级和技术迭代,市场对试验机的精度、稳定性和智能化提出了更高要求。本报告基于行业数据、技术参数及用户反…

Spring AI Alibaba Admin 正式开源!!

大家好,我是R哥。 最近,阿里巴巴又开源了一款新项目——Spring AI Alibaba Admin,这是一款面向生产级场景的一体化 AI Agent 应用研发治理平台,解决了企业级 AI Agent 在开发与运维过程中面临的工程化难题。 项目地…

snack4-jsonpath v4.0.2 发布

Snack-Jsonpath 支持 JSON DOM 构建、编解码、JsonPath 查询和 JsonSchema 验证。核心特性包括高性能 JsonPath 查询(兼容 IETF 和 jayway 标准)、JsonSchema 校验、Json5 部分特性支持,以及优先使用无参构造的安全…

SMARTFORMS去掉数值后面的小数点

DATA: lv_value TYPE string VALUE 12.012.CONDENSE lv_value NO-GAPS. SHIFT lv_value RIGHT DELETING TRAILING 0. SHIFT lv_value RIGHT DELETING TRAILING ..WRITE lv_value.

089_尚硅谷_switch的课堂练习

089_尚硅谷_switch的课堂练习1.练习1.使用switch 把小写类型的 char型转为大写,只转换a, b, c, d, e其它的输出 `other` 2.对学生成绩大于60分的,输出`合格`。低于60分的,输出`不合格`。(注: 输入的成绩不能大于10…

SQL SERVER死锁查询,死锁分析,解锁,查询占用

From: https://www.cnblogs.com/K-R-/p/18431639 简单点的处理方法: 1、查询死锁的表select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resourc…

自定义组件中监听properties里面的属性的方法里面去取另外的properties里面的属性拿不到值的问题

自定义组件中监听properties里面的属性的方法里面去取另外的properties里面的属性拿不到值的问题1 properties这里有两个属性 options和modelValue,对modelValue进行监听父组件两个属性都传了值properties: {options:…

数字征程,逐级而上;生态协同,智绘新篇—— 艾拓琪威灏 与 哲讯顺维 数字化战略合作签署暨CRMMES项目启动会隆重举行

在时代的巨轮驶向数字经济的深水区,企业的进化不再是零敲碎打的工具升级,而是一场关乎全局、贯穿价值链的战略重塑。回首过往,每一步坚实的足迹都预示着今天的必然。从2022年智能会议室的初步尝试,到2023年OA协同办…

嵌入式主板全景解析:从选型到趋势,读懂工业智能的核心载体

在智能制造车间的机械臂控制系统中,在偏远地区的电力监控终端里,在医院的便携式监护仪内部,都藏着同一个核心硬件—— 嵌入式主板。作为连接硬件组件与软件系统的 "神经中枢",它不仅决定着设备的运行效率…

2025 年唐山油漆生产厂家最新推荐榜单:精选优质企业,解析专业品牌选购指南唐山油漆批发/唐山油漆生产公司推荐

引言 随着环保政策收紧与产业升级加速,唐山油漆市场呈现 “新旧品牌迭代、技术加速升级” 的态势,但同时也存在信息不对称、产品质量悬殊等问题 —— 部分企业仍沿用传统工艺,VOC 排放超标,而新兴品牌虽技术先进却…

做题笔记21

10.22 模拟赛 T1 考虑当区间足够大的时候,可能所有的数 T2 T3 T4

权威调研榜单:重庆旧房加层改造公司TOP3榜单好评深度解析

随着城市建筑用地的日益紧张和居民对居住空间扩展需求的增长,旧房加层改造已成为重庆建筑市场的重要组成部分。据重庆市建筑业协会数据显示,2024年重庆旧房改造市场规模突破80亿元,其中加层改造业务占比达18%,年均…

2025 年小饭桌加盟品牌最新推荐排行榜:多元服务与深厚底蕴品牌小饭桌加盟连锁/小饭桌加盟连锁/小饭桌少儿托管加盟机构推荐

引言 随着我国双职工家庭数量增多,少儿课后托管需求呈爆发式增长,小饭桌加盟行业成为创业热门领域。但当前市场乱象频发,部分品牌无证经营、安全管理缺失,服务仅停留在基础餐饮层面,难以满足家长对孩子课后学习、…

2025 年 MVR 蒸发器源头厂家最新推荐排行榜:聚焦食品医药化工环保领域优质设备,助力企业精准选型

引言 当前工业生产与环保治理对高效节能蒸发设备需求激增,MVR 蒸发器凭借显著优势,在食品、医药、化工、环保等领域应用广泛。但市场上 MVR 蒸发器源头厂家数量繁杂,产品质量、技术水平与服务能力参差不齐,不少企业…

DolphinScheduler依赖机制、Open-Falcon告警推送与监控的优化实践

本文聚焦某大数据团队的实战优化经验,系统阐述该团队的核心实践:针对任务依赖机制的源码级改造(新增节点级别判断逻辑)、与Open-Falcon的告警对接升级(实现信息精简、优先级分级与分群推送),以及组件监控体系的…

Tailwind CSS 使用入门

[!NOTE] Tailwind CSS 是一个别具一格的 CSS 界面框架。用官网的一句话来介绍:Rapidly build modern websites without ever leaving your HTML。也就是只要引入 Tailwind CSS,在不需要使用任何自定义 CSS 文件的情况…