oracle 10g 分区管理,Oracle 10g分区表的自动维护
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 10g 分区管理,Oracle 10g分区表的自动维护的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样注销广发证券的股票账号?
- 下一篇: Oracle12如何重装,Oracle怎