- 浏览: 117171 次
- 性别:
- 来自: 重庆
文章分类
最新评论
create or replace procedure pro_maintain_partition( tab_name in varchar2) as var_tab_name varchar2(32) ; var_tab_bak_name varchar2(32) ; var_partition varchar2(32) ; var_less_than varchar2(8) ; var_flag number ; begin select upper(tab_name) into var_tab_name from dual ; select upper(tab_name||'_bak') into var_tab_bak_name from dual ; select count(1) into var_flag from user_segments where segment_name = var_tab_name and partition_name like '%'||to_char(sysdate , 'yyyy_mm') ; select var_tab_name||'_'||to_char(sysdate , 'yyyy_mm') into var_partition from dual ; select to_char(add_months(sysdate , 1) , 'yyyymm')||'01' into var_less_than from dual ; if var_flag = 0 then --如当月分区不存在,则新增当月分区 execute immediate 'alter table '||var_tab_name||' add partition '||var_partition||' values less than ('||var_less_than||')'; end if; select count(1) into var_flag from user_segments where segment_name = var_tab_bak_name and partition_name like '%'||to_char(add_months(sysdate , -4) , 'yyyy_mm') ; if var_flag = 0 then select var_tab_bak_name||'_'||to_char(add_months(sysdate , -4) , 'yyyy_mm') into var_partition from dual ; select to_char(add_months(sysdate , -3) , 'yyyymm')||'01' into var_less_than from dual ; --如备份表分区不存在,则新增备份月分区 execute immediate 'alter table '||var_tab_bak_name||' add partition '||var_partition||' values less than ('||var_less_than||')'; --备份数据 select var_tab_name||'_'||to_char(add_months(sysdate , -4) , 'yyyy_mm') into var_partition from dual ; execute immediate 'insert into '||var_tab_bak_name||' select * from '||var_tab_name||' partition('||var_partition||')'; /*insert into var_tab_bak_name select * from var_tab_name partition(var_partition) ;*/ commit ; --删除已备份月分区 execute immediate 'alter table '||var_tab_name||' drop partition '||var_partition; end if; end;
Table
-- Create table create table TB_STEP_WAIT_HOLD ( YYYYMMDD VARCHAR2(16), SHIFT VARCHAR2(8), STAGEID VARCHAR2(64), LOTID VARCHAR2(16), RECPNAME VARCHAR2(8), QTY NUMBER, TRACKINTIME DATE, TRACKOUTTIME DATE, STEP_START_TIME DATE, Q_H_TIME NUMBER, END_TIME DATE, START_TIME DATE, UPDATE_TIME DATE ) partition by range (YYYYMMDD) ( partition TB_STEP_WAIT_HOLD_2014_09 values less than ('20141001') tablespace RPTCMT_DATA pctfree 10 initrans 1 maxtrans 255 storage ( initial 10M next 10M minextents 1 maxextents unlimited pctincrease 0 ), partition TB_STEP_WAIT_HOLD_2014_10 values less than ('20141101') tablespace RPTCMT_DATA pctfree 10 initrans 1 maxtrans 255 storage ( initial 10M next 10M minextents 1 maxextents unlimited pctincrease 0 ), partition TB_STEP_WAIT_HOLD_2014_11 values less than ('20141201') tablespace RPTCMT_DATA pctfree 10 initrans 1 maxtrans 255 storage ( initial 10M next 10M minextents 1 maxextents unlimited pctincrease 0 ), partition TB_STEP_WAIT_HOLD_2014_12 values less than ('20150101') tablespace RPTCMT_DATA pctfree 10 initrans 1 maxtrans 255 storage ( initial 10M next 10M minextents 1 maxextents unlimited pctincrease 0 ) );
Bak Table
-- Create table create table TB_STEP_WAIT_HOLD_BAK ( YYYYMMDD VARCHAR2(16), SHIFT VARCHAR2(8), STAGEID VARCHAR2(64), LOTID VARCHAR2(16), RECPNAME VARCHAR2(8), QTY NUMBER, TRACKINTIME DATE, TRACKOUTTIME DATE, STEP_START_TIME DATE, Q_H_TIME NUMBER, END_TIME DATE, START_TIME DATE, UPDATE_TIME DATE ) partition by range (YYYYMMDD) ( partition TB_STEP_WAIT_HOLD_BAK_2014_08 values less than ('20140901') tablespace RPTCMT_DATA pctfree 10 initrans 1 maxtrans 255 storage ( initial 10M next 10M minextents 1 maxextents unlimited pctincrease 0 ) );
发表评论
-
Oracle Delete误删除数据恢复
2019-02-19 11:11 474获得chamber_move给定时间点时数据内容 select ... -
ORA-02391问题的解决方法
2016-07-27 10:28 3223ORA问题的分析和解决其实是一个很好的学习思路,抓住一个每一个 ... -
Oracle 操作
2016-07-19 09:25 545删除表空间及对应磁盘文件; drop tablespace R ... -
oracle recyclebin
2016-07-13 14:06 0oracle 回收站recyclebin是10g才有的新特性, ... -
Oracle数据库远程导入(EXP)、导出(IMP)
2016-04-25 16:20 2126用exp/imp远程(本地)操作 ... -
EXP-00091错误的说明和解决方法
2016-04-25 15:33 1043对于一个经常用oracle的 ... -
查看表空间使用情况
2016-03-10 11:46 671查看表空间使用情况 方法一: SELECT a.tablesp ... -
oracle 在删除表,表空间,用户时 如何释放磁盘空间
2016-03-10 11:30 1166一、drop表 执行drop table xx 语句 dr ... -
oracle 查看用户表数目,表大小,视图数目等
2016-03-10 11:01 1661oracle 查看用户表数目,表大小,视图数目等 查看当前用 ... -
小数处理函数(trun(),round(),ceil()和floor())
2015-07-28 16:49 1318trun()round()函数 trunc截取 ... -
关于Oracle取整的函数
2015-07-06 15:09 917关于Oracle取整的函数分别有以下几种: 1.取整( ... -
权限分配
2015-06-18 17:01 662view 权限分配 grant select on vw_mf ... -
Oracle回闪空间不足引起的ORA-03113问题排解
2015-04-03 13:44 4454Oracle回闪空间不足引起的ORA-03113问题排解 现 ... -
function
2014-09-02 16:03 487create or replace function getS ... -
oracle中替换字符串中回车换行符
2014-04-29 18:24 2145select trim(replace(a.ctimer_pi ... -
Oracle字符串处理函数
2014-01-08 17:09 723项目中有涉及存储过程对字符串的处理,所以就将在网上查找到的资料 ... -
oracle translate() 详解+实例
2014-01-08 17:05 739oracle translate() 详解+实 ... -
ITPUB网址
2013-12-24 09:34 909ITPUB网址: http://blog.itpub.net/ ... -
oracle常用系统表
2013-09-10 13:26 672dba_开头..... dba_users 数据库用户信息 ... -
分布式 ORA-02049 错误的解决[转]
2013-09-04 13:59 2335一.系统环境: ORACLE:9IR2 OS:WINDOWS ...
相关推荐
本资料包主要涵盖了Oracle中的函数大全、存储过程的语法以及Oracle分区的相关知识,这些都是数据库管理员和开发人员日常工作中不可或缺的部分。下面将对这些主题进行深入的探讨。 **一、Oracle函数大全** Oracle...
四、Oracle分区和分片 1. 分区(Partitioning):大型表可以通过分区将数据分布在多个物理段上,提高查询效率和管理便捷性。常见的分区策略有范围分区、列表分区、哈希分区和复合分区。 2. 分片(Sharding):分片...
### Oracle 维护常用SQL语句详解 #### 1. 查看表空间的名称及大小 ```sql select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name...
在 Oracle中,存储过程可以用来创建表分区实例,本文将详细介绍如何使用Oracle存储过程创建表分区实例。 一、Oracle存储过程的优点 Oracle存储过程有很多优点,例如: * 提高数据库的安全性:存储过程可以控制...
Oracle习题集是一份专为学习和巩固Oracle数据库管理技能设计的资料,涵盖了SQL和PL/...通过完成这个Oracle习题集,学习者将能全面掌握Oracle数据库的关键概念和技术,为实际的数据库管理、开发和维护工作打下坚实基础。
本文将深入探讨Oracle的游标、与SQL Server的区别、Function与Procedure的区别、导入导出方式、数据库文件类型以及优化策略。 1. **Oracle游标**: - 游标允许我们处理查询结果集中的一行数据,分为显示游标和隐式...
Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,由美国甲骨文公司(Oracle Corporation)开发和维护。本文将详细介绍Oracle的基本概念、核心组件以及基础使用方法。 一、Oracle数据库概述 Oracle...
Oracle是一种关系型数据库管理系统(RDBMS),由Oracle公司开发并维护。它具有高度的数据安全性和稳定性,在企业级应用中非常受欢迎。Oracle支持多种操作系统,包括Windows、Linux等,并且能够处理大量的数据存储需求...
Oracle数据库是一种广泛使用的大型关系型数据库管理系统,由甲骨文公司开发和维护。它提供了丰富的功能,用于数据存储、管理、检索以及各种复杂的数据操作。本文将深入探讨Oracle数据库的各种功能语句及其驱动,帮助...
根据提供的文件内容,可以看出这份文档是关于Oracle数据库开发规范的。接下来我将详细解释文档中涉及的Oracle...这部分内容对Oracle数据库的开发和维护至关重要,为数据库管理员和开发人员提供了规范化的开发指导。
3. **存储过程调用**:Ibatis可以通过`<select>`、`<procedure>`元素调用Oracle的存储过程,增强业务逻辑的封装性。 4. **连接池管理**:Ibatis可以与各种连接池(如C3P0、Druid、HikariCP等)集成,提高数据库连接...
它可以为每个分组或分区分配一个唯一的行号,这使得在分页时可以对特定列进行排序。以下是一个示例: ```sql CREATE OR REPLACE PROCEDURE get_paged_data (start_row IN NUMBER, page_size IN NUMBER, cursor ...
Oracle数据库是世界上最广泛使用的数据库管理系统之一...以上只是Oracle数据库语法的基础介绍,实际应用中还有触发器、游标、并发控制、分区表等高级特性。通过深入学习和实践,你可以逐渐熟悉并掌握Oracle的全面功能。
9. **分区表**:对于大数据量的表,Oracle 11g支持分区技术,通过将大表分成较小的部分,提高查询和维护效率。常见的分区方法有范围分区、列表分区、散列分区和复合分区。 10. **触发器**:触发器是一种数据库对象...
以上只是Oracle SQL使用中的一部分关键知识点,实际应用中,DBA还需要了解更多的Oracle特性,如分区、物化视图、并行查询、闪回技术等,以及如何结合企业管理器(EM)和数据库性能监控工具进行日常维护和问题排查。...
Oracle数据库是世界上最广泛使用的数据库管理系统之一,尤其在企业级应用中占据重要地位。在面试中,Oracle相关的技术问题经常被问及,以下是一些关键知识点的详细解释: 1. Oracle与SQL Server的区别: - 平台:...
性能优化**:Oracle 9i的文档会介绍如何通过索引、物化视图、分区、SQL优化等手段提高数据库性能。了解这些技巧对于提升系统响应速度和处理大量数据至关重要。 **5. 安全性**:在文档中,你会看到如何设置用户权限...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,它在企业级数据存储、管理和处理方面具有卓越性能。"Oracle数据库资料"这个压缩包很可能是为学习和掌握Oracle数据库提供的一系列教程和参考文档。下面,我们...