? Oracle 10g分区表的自动维护_MariaDB_青云站长教程网 bet36游戏_网站下载_bet36多少地方_bet36最新体育官网
欢迎来到站长教程网!

MariaDB

当前位置:主页 > 数据库 > MariaDB >

Oracle 10g分区表的自动维护

时间:2019-11-04|栏目:MariaDB|点击: 次

Oracle 10g分区表不支持自动化管理,一般都要手动创建分区,手动删除。今天给大家带来了一个自动化管理表空间的脚本。

本脚本主要由3个部分组成:sys_ConfigTable.sql、sys_pro_AddAndDropPartition.sql、sys_pro_MergeTable.sql

1、sys_ConfigTable.sql 主要创建了一张配置表:这里填写具体要自动维护的表名、保存天数、每天分区的个数等等;

2、sys_pro_AddAndDropPartition.sql 这个用来自动增加表分区,删除过期分区;

3、sys_pro_MergeTable.sql 等每天的分区大于1时,我们合并旧的分区,并重建失效的索引。

1、sys_ConfigTable.sql

drop table CONFIGTABLE;
create table CONFIGTABLE
(
? name? VARCHAR2(64) not null,
? value? VARCHAR2(64) not null,
? type? VARCHAR2(64) not null,
? isrun? NUMBER(1) not null,
? remark VARCHAR2(64)
)
;

prompt Loading CONFIGTABLE...
insert into CONFIGTABLE (name, value, type, isrun, remark)
values ('BI_M_VISITLOCUS', 'BI_M_VISITLOCUS', 'protocal', 1, '历史记录日志表');
insert into CONFIGTABLE (name, value, type, isrun, remark)
values ('BI_M_VISITLOCUS', '1000', 'save', 1, '日志保存天数');
insert into CONFIGTABLE (name, value, type, isrun, remark)
values ('BI_M_VISITLOCUS', '1', 'num_part_byday', 1, '每天要添加的分区个数');

insert into CONFIGTABLE (name, value, type, isrun, remark)
values ('BI_LOGFILE', 'BI_LOGFILE', 'protocal', 1, '历史记录日志表');
insert into CONFIGTABLE (name, value, type, isrun, remark)
values ('BI_LOGFILE', '1000', 'save', 1, '日志保存天数');
insert into CONFIGTABLE (name, value, type, isrun, remark)
values ('BI_LOGFILE', '1', 'num_part_byday', 1, '每天要添加的分区个数');
commit;

/*insert into CONFIGTABLE (name, value, type, isrun, remark)
values ('ACCESSLOG', 'ACCESSLOG', 'protocal', 1, '历史记录日志表');
insert into CONFIGTABLE (name, value, type, isrun, remark)
values ('ACCESSLOG', '1000', 'save', 1, '日志保存天数');
insert into CONFIGTABLE (name, value, type, isrun, remark)
values ('ACCESSLOG', '24', 'num_part_byday', 1, '每天要添加的分区个数');
commit;
*/

/*
-- Create table
drop table BI_M_VISITLOCUS;
create table BI_M_VISITLOCUS
(
? accesstime? ? DATE not null,
? machineid? ? VARCHAR2(100) not null,
? channeltype? INTEGER default 0 not null,
? channelname? VARCHAR2(200),
? pagename? ? ? VARCHAR2(100),
? categoryid? ? VARCHAR2(100),
? categorylevel INTEGER,
? category? ? ? VARCHAR2(200),
? productid? ? VARCHAR2(200),
? productname? VARCHAR2(200),
? pagetype? ? ? INTEGER,
? sessionid? ? VARCHAR2(100),
? producttype? INTEGER default 0,
? machinetype? VARCHAR2(10) default 'HD',
? remark? ? ? ? VARCHAR2(200),
? useragent? ? VARCHAR2(100)
)
partition by range (ACCESSTIME)
(
? partition P_20130114_23 values less than (TO_DATE('2013-01-14 23:59:59', 'YYYY-MM-DD HH24:MI:SS'))
? ? --tablespace user
);
*/

上一篇:Oracle自带的PL/SQL Developer导入导出数据

栏????目:MariaDB

下一篇:使用Linux文件句柄恢复Oracle数据文件

本文标题:Oracle 10g分区表的自动维护

本文地址:http://www.jh-floor.com/shujuku/Mariadb/118289.html

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

Copyright ? 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号