Oracle数仓分区表创建及其数据清理存储过程

Oracle-大表改造分区表实施步骤 对于业务交易繁忙的数据库,在运行了一定时间后往往会产生一些数据量较大的表,特别是对于每天新增数据较多的日志表或者流水表,单表数据量通常会达到几十G,甚至是上百G。大表对于日常的运维非常的不方便,特别是在表数据的清理、迁移,查询性能会随着数据量的增大而受到影响,因此,通常对于大表我们需要进行优化拆分,在Oracle数据库,比较常见的大表优化拆分是将大表改造为分区表,这种方式最主要的好处就是对于应用透明,应用层面的改动很少 阅读详情

    Oracle数仓中,由于客户要求不能有delete语句,delete语句会对每一条数据记录一条日志,造成很慢,日志太大的问题。同时由于传统数仓容量限制,需要对历史数据进行一个归档,归档之后需要对历史数据进行清理,因此Ods采用了分区表设计。ODS采用按天列表分区,重跑时需要清理已存在的分区数据,非重跑时需要增加按天分区。清理的Oracle存储过程如下:

-- 清理分区数据或创建分区
-- v_tabname 表名
-- v_tabpartition 分区名字
-- v_bizdate 分区值
CREATE OR REPLACE PROCEDURE ODS_DATA_PREPARESQL(
  v_tabname in varchar,
  v_tabpartition in varchar,
  v_bizdate in varchar
) AS
 cnt NUMBER;
 strSql varchar(2048);
BEGIN
  select count(1) into cnt from USER_TAB_PARTITIONS where TABLE_NAME = upper(v_tabname) and PARTITION_NAME = v_tabpartition;
  IF cnt > 0 then
    strSql := 'alter table ' || v_tabname || ' TRUNCATE PARTITION ' || v_tabpartition || ' update indexes';
    execute immediate strSql;
  ELSE 
    strSql := 'alter table '|| v_tabname || ' ADD PARTITION ' || v_tabpartition || ' values ('|| v_bizdate || ')';
    execute immediate strSql;
  END IF;
END;

创建数仓ODS层分区表的模板如下:

create table test_partition (
  ID int,
  name varchar2(64),
  age int ,
  data_dt varchar2(32)
)
partition by list(data_dt) (
  partition PART_19700101 VALUES('19700101')
)

 

定时清理预约设置历史数据_Oracle 大数据表清理迁移方案 背景为了应对系统投产两年多时间内,数据库中数据量不断增多。系统运行效率性能在海量不相关历史数据的影响下有下降风险。为提高系统运行效率,定时将有效期外(例如一年)的数据视为历史数据,迁移至历史表空间,同时清除当前库数据,或者采用数据归档入数仓后直接删除。方案目的历史数据完整迁移正式库数据安全删除迁移所涉及表可配置(增量、全量)可手工操作、可定时任务(JOB),对于操作结果需要记录,方便审计及查询记录... 阅读详情

相关推荐

Oracle数据库高级技术探秘:分区表管理与代码实战

Oracle分区表是一种将表中的数据分割成多个更小、更易于管理的部分(称为分区)的技术。每个分区可以独立存储,并可以独立进行访问、加载和管理。Oracle支持多种分区类型,包括范围分区(RANGE)、列表分区(LIST)、哈希分区(HASH)和复合分区(如RANGE-HASH、LIST-HASH)等。Oracle分区表是管理大规模数据集的有效工具,通过合理的分区策略,可以显著提升数据库的查询性能、数据加载速度和管理效率。本文详细介绍了分区表的基本概念、优势以及常见的管理操作,并提供了相应的代码示例。

运维人生 2315

oracle历史大表分区,某分区表历史分区下线方案

1.确定时间段:和客户沟通后确定需要清理的分区时间段,一般建议数据保留6个月。2.确定对应分区:找到mytable_history表的所有分区, HIGH_VALUE-1对应的值是actiondate:用p_user用户登录select partition_name,high_value from user_tab_partitionswhere table_name='mytable_histo...

weixin_39706491的博客 514

实战篇:Oracle分区表之在线重定义

使用在线重定义的方式进行分区表的转换,优势在于可以在线进行,流程简单,可以快速进行转换。

LuciferLiu_DBA 9328

oracle如何删除历史数据,白菜oracle数据库历史分区表删除清理方案

白菜oracle数据库历史分区表删除清理方案(个人经验,版权所有,请勿转载)1.分区概述数据库采用分区方式来实现存储空间的循环利用,对于系统影响最大的就是数据库优化方式的转变,也就是从RBO( Rule BasedOptimizer )向CBO( Cost Based Optimizer )的转变。在使用表分区 ( partition )之前,Oracle数据库对其执行的SQL语句采用的是基于规...

weixin_32829077的博客 1537

halcon 深度学习标注_Halcon deep learning之目标检测笔记(一)

设置输入输出的路径输入路径有两个,一个是图像路径HalconImageDir,一个是Json文件路径PillBagJsonFile。这两个参数用于后续在图像路径中读取coco文件。输出路径首先定义一个新的文件夹路径,用于存放样本和模型文件等数据。设置基于深度学习的目标检测模型的路径,该模型文件以.hdl结尾。设置样本数据文件夹ExampleDataDir:'detect_pills_data'数据...

weixin_27885313的博客 2700

半导体功率器件IGBT工艺全流程

本文概述了功率器件IGBT(绝缘栅双极型晶体管)的关键制造流程。主要工艺包括:基板制备、离子注入(B+/P+/P+FS层)、绝缘膜形成与加工(CVD沉积及刻蚀)、沟槽刻蚀、电极形成(Emitter和Collector)等步骤。通过离子注入、化学气相沉积和物理气相沉积等半导体工艺,依次完成器件各功能层的构建,最终形成具备高功率特性的IGBT器件。该流程体现了功率半导体制造中典型的掺杂、薄膜沉积和图形化工艺技术。

752

2023.11.13 hive数据仓库之分区表与分桶表操作,与复杂类型的运用

创建分区表: create [external] table [if not exists] 表名(字段名 字段类型 , 字段名 字段类型 , ... )partitioned by (一级分区字段名 分区字段类型, 二级分区字段名 分区字段类型 , ...);---------------------------复杂类型建表格式-------------------------- create [external] table [if not exists] 表名(字段名 字段类型)

白白的wj的博客 1517

【ComfyUI】Z-Image 基础文生图 + 单LoRA

本文介绍了一个基于ComfyUI的Z-Image Turbo基础文生图工作流,采用轻量化UNet模型配合Qwen Image文本理解模型与LoRA风格注入,实现从文本到图像的快速生成。工作流结构清晰,包含模型加载、文本编码、采样解码等标准节点,在人物生成、构图稳定性和出图速度方面表现均衡。通过调整Prompt可控制生成内容,适合日常创作、教学演示及扩展进阶应用。

Mr数据杨 926

数据仓库Hive的分区表与分桶表

一、分区表 分区表实际上就是对应一个HDFS文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过WHERE子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。 所谓的分区表其实和表中的字段没什么区别,包括其使用,唯一的区别就是在于向hdfs写表数据的时候,会以分区值先在表的hdfs目录下创建一个分区目录,再添加数据。 我们举一个具体的案例来讲解一下: ...

阳哥的博客 2488

27、自闭症儿童治疗与玩具设计研究

本研究探讨了自闭症儿童的治疗方法与玩具设计之间的关联,分析了游戏疗法、音乐疗法和职业疗法等在治疗中的应用,并介绍了多种针对自闭症儿童的治疗玩具案例。通过用户研究和多学科合作,提出了以Pro-Ability为核心的设计理念,开发了结合音乐疗法和精细运动训练的智能玩具套件。研究总结了当前成果与局限性,并展望了未来发展方向,旨在为自闭症儿童提供更有效的康复支持。

keras9composer的博客 211

CH7034B显示模块原理图设计,已量产

显示桥接板的价值,不在于简单把 RGB 排线换成另一种接口,而在于能否把并行视频、时钟、显示控制、模拟输出和辅助配置同时组织成稳定系统。当前这张 CH7034B 原理图就是这种思路:U3 CH7034B 作为核心桥接芯片,输入侧是 LCD_R0~R7、LCD_G0~G7、LCD_B0~B7、LCD_DE、LCD_HSYNC、LCD_VSYNC、LCD_CLK 与 LCD_BL,输出侧则通过 DAC0~DAC2 和 DDC_SC/DDC_SD 形成模拟显示接口边界。

不脱发的程序猿 162

Hive数仓:操作分区表

Hive数仓:操作分区表 文章目录Hive数仓:操作分区表实验环境实验内容实验步骤1.点击"命令行终端",打开新窗口2.启动MySQL3.指定元数据数据库类型并初始化Schema4.启动Hadoop5.启动hive6.创建名为dolphin的数据库7.查看已有的数据库,并使用dolphin数据库8.创建内部静态分区表9.向分区表partition_table导入数据10.增加分区11.创建名为partition_table1的动态分区表12.查看动态分区表partition_table113.在HDFS上查

shenhao-stu的博客 4264

RK3568平台(电源篇)电源域IO配置

在kernel之前需要修改电源域,主控电源域的IO电平要与对接外设芯片的IO电平匹配,还要注意软件的电压配置要跟硬件的电压一致,否则,最坏的情况可能会导致IO的损坏。其实就是管理 IO 输出的电平;假如硬件上 IO 电源域配置为 3.3V,则 IO 输出最大电平为 3.3V;同理 IO 电源域硬件配置为 1.8V,则 IO 输出最大电平是 1.8V;这样有利于 IO 电平的灵活配置;

weixin_49303682的博客 3478

ORACLE--分区表数据清理

由于分区表数据增加;没做清除操作;导致表空间告急。需要清理很久之前的数据;释放空间。步骤如下 一,查看哪个表占的空间 1 2 3 4 SELECT t.segment_name, SUM(t.bytes / 1024 / 1024)   FROM user_segments t  GROUP BY t.segment_name...

w_iceh的博客 2868

结构函数详解

C3M系列覆盖从1 kW到60 kW功率范围,器件Rdson低、开关速度快(Eon/Eoff低),支持高温工作(结温高达175–225°C)。型号电压 (V)Rdson (mΩ, 典型@25°C)电流 (A, 连续@25°C)封装类型典型应用功率 (kW)65012022TO-247-41–106506035TO-247-35–2065060355–2012002180TO-247-310–40120016100TO-247-420–601200。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 158

零倾覆力矩点(ZMP)

从形式上讲,ZMP 指的是空间中相对于一个平面(通常是地平面)抵消接触力矩的点的集合。这个集合实际上是一个轴,而不是一个点,但为了方便起见,让我们按照传统的推导方法来计算地面平面上的 ZMP。这一推导从任何多刚体系统的牛顿-欧拉运动方程开始:其中,为机器人的总质量,为重力矢量,为系统的重心,为加速度,为固定点的角动量变化率。在右侧,表示净接触扭矩,即施加到机器人上的所有接触扭矩之和,坐标取自质心 (COM)。

机器人控制与仿真应用 2372

Oracle数据库分区表清理总结)

分区表的讲解 如何选择分区的类型,如何选择分区的列呢。在这之前你必须明确你的目的——易管理性和性能,你更注重哪个方面。分区表所影响的方面可以归类为以下几种:性能、易管理性、数据清理。  下面分别说说分区表对每一项的具体影响,  性能:  这一般是分区的主要目的。分区将大表变成了小表,当where之后的条件体现分区字段的具体值时,避免了全表扫描。  易于管理:  对于包含海量数据的大表,分区带来的易...

weixin_40581617的博客 2220

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

oracle数据库分区表清理,ORACLE--分区表数据清理

由于分区表数据增加;没做清除操作;导致表空间告急。需要清理很久之前的数据;释放空间。步骤如下一,查看哪个表占的空间SELECT t.segment_name, SUM(t.bytes / 1024 / 1024)FROM user_segments tGROUP BY t.segment_nameORDER BY SUM(t.bytes / 1024 / 1024) DESC二、查看每个子分区的记...

weixin_39802814的博客 1867

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ORACLE分区表自动清理分区

背景介绍ORACLE按照日期创建分区表,仅保留一年数据,每天清理一年前的分区数据。实现方式每次清理均处理一年前全部分区,即时某次调度执行失败,也不会造成垃圾数据堆积。示例代码--创建存储过程 create or replace procedure zxjy_ora.del_wen_pt as v_sql1 varchar2(2000); begin FOR cur IN (select PA...

文学超的博客 6262

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Oracle表空间清理

一、查看表所占空间大小 --1、查看用户表、索引、分区表占用空间 select segment_name, sum(bytes)/1024/1024 as Mbytes from user_segments group by segment_name order by Mbytes desc; --2、表占用空间: select segment_name, sum(bytes)/1024/1...

MY BLOG 1万+

oracle大表的清理,实录:oracle下大表清理整改

操作背景:某业务局点,oracle9208数据库+AIX5306,由于业务增长迅速,相对应的几个表数据增长很快,影响系统运行速度。需要对其进行清理。由于该表有大量数据如果直接执行delete操作不能很快释放所占用的表空间,需做:1. TABLEA表进行truncate操作来释放表空间;2. TABLEB表没有本地索引,需要新建本地索引。一:处理思路:1. 备份需要留下的数据create table...

weixin_35655990的博客 1450

oracle表分区设计_ORACLE 分区表的设计

ORACLE 分区表的设计更新时间:2009年08月13日 15:08:24 作者:分区致力于解决支持极大表和索引的关键问题。它采用他们分解成较小和易于管理的称为分区的片(piece)的方法。分区表的概念分区致力于解决支持极大表和索引的关键问题。它采用他们分解成较小和易于管理的称为分区的片(piece)的方法。一旦分区被定义,SQL语句就可以访问的操作某一个分区而不是整个表,因而提高管理的效率...

weixin_30231153的博客 341

oracle定时创建分区,oracle定时添加或删除分区表的分区

oracle定时添加或删除分区表的分区 收藏author:skatetime: 2009/04/15--------------------------------------------------------------------------------平台如下:os:centos4.7oracle 10g定时添加或删除分区表的分区这几天,根据业务的需求和性能的考虑,需要定时删除历史数据,表...

weixin_28700593的博客 764

Oracle数据分区管理--把非分区表改为分区表适用于历史表,以及间隔分区转换V1

--说明:把非分区表改为分区表适用于历史表 ---1、创建分区表(结构和非分区表TBL_STOCK_BALANCE_LOG相同) CREATE TABLE TBL_STOCK_BALANCE_LOG_PART1 ( ACCOUNT_ID VARCHAR2(20 BYTE), OCCUR_DATE DATE, BRANCH_ID NUMBER(10)...

oradbm的博客 2699

oracle分区表原理学习

1.创建普通表 create table normal_shp(id number,day date,city_number number,note varchar2(100)) tablespace p; 插入10000条记录 insert into normal_shp(id,day,city_number,note) select rownum,to_date(to_char(sysd...

weixin_30470857的博客 366
上一篇: 轻松搞定Linux docker在线或离线自动安装及其docker配置
下一篇: 当年取最新月份历史取年末数据
mlwise
博客等级 码龄17年 9粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值