- 浏览: 114503 次
- 性别:
- 来自: 重庆
文章分类
最新评论
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 416获得chamber_move给定时间点时数据内容 select ... -
ORA-02391问题的解决方法
2016-07-27 10:28 3167ORA问题的分析和解决其实是一个很好的学习思路,抓住一个每一个 ... -
Oracle 操作
2016-07-19 09:25 482删除表空间及对应磁盘文件; drop tablespace R ... -
oracle recyclebin
2016-07-13 14:06 0oracle 回收站recyclebin是10g才有的新特性, ... -
Oracle数据库远程导入(EXP)、导出(IMP)
2016-04-25 16:20 2062用exp/imp远程(本地)操作 ... -
EXP-00091错误的说明和解决方法
2016-04-25 15:33 1009对于一个经常用oracle的 ... -
查看表空间使用情况
2016-03-10 11:46 631查看表空间使用情况 方法一: SELECT a.tablesp ... -
oracle 在删除表,表空间,用户时 如何释放磁盘空间
2016-03-10 11:30 1121一、drop表 执行drop table xx 语句 dr ... -
oracle 查看用户表数目,表大小,视图数目等
2016-03-10 11:01 1622oracle 查看用户表数目,表大小,视图数目等 查看当前用 ... -
小数处理函数(trun(),round(),ceil()和floor())
2015-07-28 16:49 1281trun()round()函数 trunc截取 ... -
关于Oracle取整的函数
2015-07-06 15:09 873关于Oracle取整的函数分别有以下几种: 1.取整( ... -
权限分配
2015-06-18 17:01 631view 权限分配 grant select on vw_mf ... -
Oracle回闪空间不足引起的ORA-03113问题排解
2015-04-03 13:44 4413Oracle回闪空间不足引起的ORA-03113问题排解 现 ... -
function
2014-09-02 16:03 455create or replace function getS ... -
oracle中替换字符串中回车换行符
2014-04-29 18:24 1983select trim(replace(a.ctimer_pi ... -
Oracle字符串处理函数
2014-01-08 17:09 701项目中有涉及存储过程对字符串的处理,所以就将在网上查找到的资料 ... -
oracle translate() 详解+实例
2014-01-08 17:05 714oracle translate() 详解+实 ... -
ITPUB网址
2013-12-24 09:34 849ITPUB网址: http://blog.itpub.net/ ... -
oracle常用系统表
2013-09-10 13:26 641dba_开头..... dba_users 数据库用户信息 ... -
分布式 ORA-02049 错误的解决[转]
2013-09-04 13:59 2261一.系统环境: ORACLE:9IR2 OS:WINDOWS ...
相关推荐
其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位。 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),...
ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用 6、startup force 强制启动方式 当不能关闭数据库时,可以用startup force来完成数据库的关闭 先关闭数据库,再执行正常启动数据库命令 7、...
§5.2.4 维护表分区和索引分区 167 §5.3 簇与分区有关的数据字典 169 §5.3.1 分区、簇数据字典列表 169 §5.3.2 基本的分区、簇信息查询 169 第六章 使用SQL 进行数据操作 170 §6.1 INSERT操作 170 §6.1.1 用...
procedure sp_Page(p_PageSize int, --每页记录数 p_PageNo int, --当前页码,从 1 开始 p_SqlSelect varchar2, --查询语句,含排序部分 p_OutRecordCount out int,--返回总记录数 p_OutCursor out refCursorType)...
sql> alter index xay_id allocate extent(size 200k datafile \'c:/oracle/index.dbf\'); <8>.alter index xay_id deallocate unused; 、查看索引 SQL>select index_name,index_type,table_name from user...
需要使用Oracle8i 的Profile analyzer,必须运行ToadProfiler.sql 需要加强Toad的安全性,必须运行ToadSecurity.sql 四、Toad使用快速入门 1. Schema Browser: Schema browser是Toad的极为有特色的模块。...
向系统分区写入新的主引导记录可能破坏分区表并导致分区无法访问。 format 将指定的驱动器格式化为指定的文件系统。含有下列参数的 format 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同...
§5.2.4 维护表分区和索引分区 167 §5.3 簇与分区有关的数据字典 169 §5.3.1 分区、簇数据字典列表 169 §5.3.2 基本的分区、簇信息查询 169 第六章 使用SQL 进行数据操作 170 §6.1 INSERT操作 170 §6.1.1 用...
A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table...
A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table...
A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table...