`

自动为分区表增加分区存储过程

 
阅读更多

自动为分区表增加分区存储过程:

 

create or replace procedure guan_add_partition
/*
/*为一个用户下所有分区表自动增加分区.分区的列为date类型,分区名类似:p200706.
/*create by David
*/
as
v_table_name varchar2(50);
v_partition_name varchar2(50);
v_month char(6);
v_add_month_1 char(6);
v_sql_string varchar2(2000);
v_add_month varchar2(20);

cursor cur_part is select distinct u.table_name,max(p.partition_name) max_part_name from user_tables u,user_tab_partitions p
where u.table_name=p.table_name and u.partitioned = 'YES'
group by u.table_name;

Begin
  select to_char(sysdate,'yyyymm') into v_month from dual;
  select to_char(add_months(sysdate,1),'yyyymm') into v_add_month_1 from dual;
  select to_char(add_months(trunc(sysdate,'mm'),2),'yyyy-mm-dd') into v_add_month from dual;
  open cur_part;

  loop
    fetch cur_part into v_table_name,v_partition_name;
    exit when cur_part%notfound;
      if to_number(substr(v_partition_name,2)) <=to_number(substr(v_month,1)) then
        v_sql_string :='alter table '||v_table_name||' add partition p'||v_add_month_1||
        ' VALUES LESS THAN ( to_date('''||v_add_month||''',''yyyy-mm-dd'') ) ';
        execute immediate v_sql_string;
      else
        null;
      end if;
  end loop;
  close cur_part;

end;
 

oracle job脚本:

begin
  sys.dbms_job.submit(job => :job,
                      what => 'guan_add_partition;',
                      next_date => to_date('02-04-2012', 'dd-mm-yyyy'),
                      interval => 'trunc(sysdate)+1');
  commit;
end;
/
 

 

分享到:
评论

相关推荐

    MySQL分区表自动创建及删除存储过程

    在这个特定的存储过程中,可能包括了根据某些条件(如时间、ID范围等)自动为表创建分区的逻辑,以及当不再需要某些分区时,自动删除这些分区的逻辑。这在处理大量历史数据时尤其有用,例如,可以定期清理过期的数据...

    oracle10g分区表自动按时间创建删除分区存储过程

    文件是本人oracle10g分区表自动按时间创建、删除分区的存储过程,测试代码,通过job调用存储过程,每天午夜12点运行一次。妥妥!跟大家分享下!

    Oracle 分区表自动维护脚本

    标题中提到的“Oracle 分区表自动维护脚本”是指一种在Oracle数据库系统中用于管理和维护分区表的自动化脚本。这种脚本可以执行多个维护任务,包括但不限于:增加新分区、删除历史分区、拆分分区和数据清除等操作。...

    ORACLE表自动按月分区步骤

    **步骤3:创建按月自动分区表** 使用如下SQL语句创建一个按月自动分区的新表`USER_ORDER`,该表仅包含一个初始分区`p_month_1`。需要注意的是,分区的起始时间(例如`2014-01-01`)应该选择为现有表中最早的日期月份...

    分区表损坏时的数据修复 硬盘主引导记录.docx )

    在计算机系统中,硬盘分区表是存储硬盘的重要组成部分,它记录了硬盘的分区信息。如果分区表遭到破坏,可能会导致硬盘分区信息损失,甚至无法访问硬盘中的数据。因此,维护和修复分区表是非常重要的。 分区表损坏的...

    易我分区表医生--重建损毁的分区表

    硬盘上的每一个分区都可能存储着至关重要的信息,而分区表作为硬盘结构的关键部分,一旦损坏,可能会导致数据丢失,甚至系统无法正常启动。面对这样的问题,“易我分区表医生”成为了一个值得信赖的解决方案。 “易...

    利用kettle自动创建oracle表分区

    "利用Kettle自动创建Oracle表分区" 在本篇文章中,将会介绍如何使用Kettle自动创建Oracle表分区。Oracle表分区是一种非常重要的数据库优化技术,它可以将大型表分割成多个小的独立表,从而提高查询效率和数据管理...

    oracle自动建立表分区脚本

    1. **表分区的基本概念**:表分区是将一个大表逻辑上划分为多个较小的部分,每个部分称为一个分区。每个分区有自己的索引和存储,这样可以并行处理不同分区的数据,提高查询速度和维护效率。Oracle支持多种分区类型...

    易我分区表医生

    易我分区表医生V3.0是这款软件的第三个主要版本,旨在为用户提供更稳定、高效的服务。 1. 分区表简介: 分区表是硬盘上存储的一种数据结构,用于记录硬盘上的逻辑分区信息。它包含了每个分区的起始位置、结束位置...

    mysql 实现定时给表追加分区

    实现mysql 每天定时自动给数据库表追加分区,包含存储计划和存储过程

    PTDD分区表医生v3.5汉化绿色专业版【检查硬盘分区表、修复分区表错误】

    硬盘分区表是计算机硬盘上存储的重要数据结构,它记录了硬盘上的所有分区信息,包括分区的起始位置、结束位置、文件系统类型等。当分区表出现问题时,可能会导致系统无法识别分区,甚至丢失数据。PTDD分区表医生正是...

    全面学习分区表及分区索引

    分区表和分区索引是数据库管理系统中的重要概念,它们对于数据存储、检索效率以及系统性能优化具有关键作用。本文将全面解析分区表和分区索引的原理、创建方法以及管理策略。 首先,让我们来理解什么是分区表。在...

    修复磁盘分区表实现装机

    在计算机领域,磁盘分区是组织硬盘存储空间的重要方式,它允许我们将一个物理硬盘划分为多个逻辑区域,每个区域可以独立进行格式化和分配不同的文件系统。然而,在装机过程中,由于误操作或某些硬件问题,磁盘分区表...

    PKG_ADD_PART_NEW4.zip_Oracle partition_oracle_自动创建分区表脚本

    描述中提到的"自动创建分区表存储过程",是Oracle数据库中用于自动化创建分区表的一种方法。存储过程是一组预编译的SQL语句和PL/SQL代码,可以作为一个单元执行,提高了代码的重用性和效率。在这个特定的情况下,...

    电信设备-一种基于分区表容错的可信存储方法.zip

    1. 分区表备份:首先,系统会为分区表创建多个备份副本,这些副本分散存储在不同的物理位置,以降低因单点故障导致的数据丢失风险。 2. 故障检测与修复:系统持续监测分区表的状态,当检测到潜在的错误时,会立即...

    mysql实现自动创建与删除分区

    基础表.txt文件可能包含了创建分区表的SQL语句示例,例如: ```sql CREATE TABLE your_table ( id INT AUTO_INCREMENT PRIMARY KEY, date_column DATE NOT NULL, -- 其他列 ) PARTITION BY RANGE (TO_DAYS(date_...

    分区表医生

    《分区表医生》是一款专为解决硬盘分区表问题而设计的实用工具,它在面对分区表错误时,能够提供有效的检测和修复功能,为用户的硬盘数据安全提供了强大的保障。分区表是硬盘上至关重要的组成部分,它存储着硬盘上...

    oracle自动一年建立表分区.zip

    "Oracle自动一年建立表分区.zip"文件显然包含了用于自动创建按时间(一年)分区的Oracle脚本。这样的脚本对于处理大量历史数据的企业尤其有用,因为它可以帮助将大表分解成更小、更易管理和查询的部分。 表分区的...

    SQL SERVER 2008分区表快速创建.doc

    SQL Server 2008 分区表快速创建是指在 SQL Server 2008 环境中快速创建分区表的过程。分区表是指将大型表分割成多个小表,以提高查询性能和数据管理效率。下面是快速创建分区表的步骤和相关代码脚本。 一、定义...

Global site tag (gtag.js) - Google Analytics