Partitioning based on 0CALMONTH

Hi All,
Our customer would like to have a single weekly level infocube which will be partitioned on characteristic "0CALMONTH". This infocube will contain data of all 12 months in such a manner that at database level there will be a partition created for each respective month.
We are using IBM DB2 as our databse and AIX (UNIX) as our OS.
I tried searching on SDN and it seems that physical partitioning is not possible with above system configuration and logical partitioning will require 12 different infocubes (one per month).
Can we consider Clustering based on 0CALMONTH and if yes is it going to give us the same result as that of physical partitioning  or is there any other way we can achieve it?
Thanks for your kind suggestions.
Regards,
Nilima Rodrigues

Nilima,
Partiniting is possible for IBM DB2.
Check: [Performance tuning for SAP BI|http://www.vnsg.nl/temp/390284780/PerformanceTuning.ppt#653,1,Performance Tuning for SAP Business Information Warehouse  Expert Session ]
Partitioning helps / improves performance only if query contains restrictions or filters or selections on partitioned characteristic (0CALMONTH.). Otherwise not much difference.
Srini

Similar Messages

  • Alter table partition based on date and status

    Hi!
    I have a strange scenario where in 100,000 to 500,000 records are created every day and records are to be maintained for 3 yrs. So to manage this table we have it partitioned based on date (so every day one new partition is created). And any partition older than 3 years are to be purged. But the catch is - the table has a 'Creation_date' and 'Close_date' parameter and as per my company's rule, I can only purge the 3 yr old data based on the 'Closed_date'. Basically we end up getting some entries with 'Close_date' that don't fall in the 3+ yr category and hence we just cannot purge the whole partition and reclaim the space.
    What would be the ideal way to partition this table to make easy maintenance!?
    eg -
    Table_1: Partition_03152006
    Col-1 Creation-date Col-2 Close-date
    AAAA 03/15/2006 BBBB 03/16/2006 I can drop this entry+
    XXXX 03/15/2006 YYYY 05/20/2006 I cannot drop this entry+
    So, I am left with non-empty partitions which I cannot purge completely. Right now, I am moving these remaining entries to another partition and purging them when they complete the 3+yr time period.
    Hope I could put in my query properly.
    NOTE: RDBMS - ORACLE 10.2.0.4 on Solaris/SPARC 64Bit
    Thanks in advance,
    Arindam
    Edited by: AB007 on Jun 19, 2009 1:15 PM

    Hi! Below is the table description and the first 5 entries of the table.
    Hi,
    Thanks for your help. Below is the table structure with the index associated with it -
    CREATE TABLE "T3TKTHEADER"
    ( "TKTNUM" VARCHAR2(13) NOT NULL ENABLE,
    "ALTTKTNUM" VARCHAR2(20),
    "CREATEDTTM" DATE,
    "CREATEUSERID" NUMBER,
    "CREATEWKGRPID" NUMBER,
    "MASTERTKTNUM" VARCHAR2(13),
    "CUSID" VARCHAR2(15),
    "CUSNAME" VARCHAR2(80),
    "CUSCNCTNAME" VARCHAR2(80),
    "CUSCNCTPHN" VARCHAR2(22),
    "ALTCUSCNCTNAME" VARCHAR2(80),
    "ALTCUSCNCTPHN" VARCHAR2(22),
    "PRTY" VARCHAR2(1),
    "SVRITY" VARCHAR2(10),
    "CURACTSEQNUM" NUMBER(*,0),
    "LASTSTASTSCHANGETM" DATE,
    "ACKNOWLEDGEFLAG" VARCHAR2(1),
    "TMGRP" NUMBER,
    "TOPGRP" NUMBER,
    "TMUSER" NUMBER,
    "TOPUSER" NUMBER,
    "RECENTTKTSCOUNT" NUMBER,
    "PRINEID" VARCHAR2(53),
    "PRINEIDSVCTYPE" VARCHAR2(128),
    "PRINEIDDETDTTM" DATE,
    "PRINEIDLOCACITY" VARCHAR2(3),
    "PRINEIDLOCASTATE" VARCHAR2(21),
    "PRINEIDLOCZCITY" VARCHAR2(3),
    "PRINEIDLOCZSTATE" VARCHAR2(21),
    "TKTTYPE" VARCHAR2(10),
    "DOMAIN" VARCHAR2(10),
    "PRODTYPE" VARCHAR2(10),
    "SYMCODE" VARCHAR2(10),
    "SYMCODEDESC" VARCHAR2(50),
    "RPTSRC" VARCHAR2(10),
    "TOTALTKTTM" NUMBER,
    "SHELLTKTTM" NUMBER(*,0),
    "OTGCLOCKON" VARCHAR2(1),
    "OTGCLOCKSEQ" VARCHAR2(5),
    "OTGTM" NUMBER,
    "ORIGNEID" VARCHAR2(80),
    "NADCODE" VARCHAR2(30),
    "NADDTTM" DATE,
    "NADCODEDESC" VARCHAR2(50),
    "OTGCAUSE" VARCHAR2(50),
    "RESLCODE" VARCHAR2(10),
    "PLATFORM" VARCHAR2(30),
    "CATEQUIP" VARCHAR2(30),
    "RESOLVEDDT" DATE,
    "CLOSEDDT" DATE,
    "PROBSUMMARY" VARCHAR2(500),
    "TOPGRPESCSTS" VARCHAR2(1),
    "TOPGRPESCLEV" VARCHAR2(2),
    "TOPGRPLASTESCTM" DATE,
    "TMGRPESCSTS" VARCHAR2(1),
    "TMGRPESCLEV" VARCHAR2(2),
    "TMGRPLASTESCTM" DATE,
    "FAIFLAG" VARCHAR2(1),
    "MSIFLAG" VARCHAR2(1),
    "CHRONICFLAG" VARCHAR2(1),
    "SLAMTTR" NUMBER,
    "TSPCODE" VARCHAR2(13),
    "DEFERREDSTARTTM" DATE,
    "TOTALDEFERREDDUR" NUMBER,
    "CURSTA" VARCHAR2(10),
    "CURSTS" VARCHAR2(10),
    "STSCOMMENT" VARCHAR2(100),
    "ACTIVEINTREFERRALS" NUMBER(*,0),
    "ACTIVEEXTREFERRALS" NUMBER(*,0),
    "NUMOFXREFS" NUMBER(*,0),
    "LASTUPDDTTM" DATE,
    "LASTUPDUSERID" NUMBER,
    "CREATEUSERID_NAME" VARCHAR2(21),
    "CREATEWKGRPID_NAME" VARCHAR2(21),
    "TMGRP_NAME" VARCHAR2(21),
    "TOPGRP_NAME" VARCHAR2(21),
    "TMUSER_NAME" VARCHAR2(21),
    "TOPUSER_NAME" VARCHAR2(21),
    "RESLCODEDESC" VARCHAR2(50),
    "RDB_INSERT_DATE" DATE,
    "CUSCNCTHOMEPHN" VARCHAR2(22),
    "CUSCNCTCELLPHN" VARCHAR2(21),
    "CUSCNCTFAXNUM" VARCHAR2(22),
    "CUSCNCTEMAIL" VARCHAR2(47),
    "ALTCUSCNCTHOMEPHN" VARCHAR2(22),
    "ALTCUSCNCTCELLPHN" VARCHAR2(21),
    "ALTCUSCNCTFAXNUM" VARCHAR2(22),
    "ALTCUSCNCTEMAIL" VARCHAR2(47),
    "CUSCNCTALTPHN" VARCHAR2(22),
    "ALTCUSCNCTALTPHN" VARCHAR2(22),
    "CREATEUSERNAME" VARCHAR2(21),
    "CREATEWKGRPNAME" VARCHAR2(21),
    "TMGRPNAME" VARCHAR2(21),
    "TOPGRPNAME" VARCHAR2(21),
    "TMUSERNAME" VARCHAR2(21),
    "TOPUSERNAME" VARCHAR2(21),
    "LASTUPDUSERNAME" VARCHAR2(21),
    "CURINTROGNAME" VARCHAR2(22),
    "CURINTROUSERNAME" VARCHAR2(22),
    "CURETTRID" NUMBER,
    "CURLECNAME" VARCHAR2(21),
    "CUREXTRODTTM" DATE,
    "RESOLVEBYUSERNAME" VARCHAR2(21),
    "RESOLVEBYWKGRPNAME" VARCHAR2(21),
    "RESOLVEDBYUSERID" NUMBER,
    "RESOLVEDBYWKGRP" NUMBER,
    "NUMOFNEIDS" NUMBER,
    "PRINEIDLOCACTYNAME" VARCHAR2(40),
    "PRINEIDLOCZCTYNAME" VARCHAR2(40),
    "SYMPTCAT" VARCHAR2(32),
    "RECEIVEDVIA" VARCHAR2(32),
    "RECENTAPPERRORCODE" VARCHAR2(10),
    "CORPID" VARCHAR2(15),
    "KEYWORDS" VARCHAR2(25),
    "SLALEVEL" VARCHAR2(1),
    "ROGSTSCOMMENT" VARCHAR2(100),
    "TOGSTSCOMMENT" VARCHAR2(100),
    "TMGSTSCOMMENT" VARCHAR2(100),
    "CUSCNCTPAGER" VARCHAR2(47),
    "ALTCUSCNCTPAGER" VARCHAR2(47),
    "METANAMETBL" VARCHAR2(10),
    "NEXTACTIONDTTM" DATE,
    "TOPWKGRPSTATUS" VARCHAR2(10),
    "INTGRPID" VARCHAR2(21),
    "INTPUBFLAG" VARCHAR2(1),
    "INTTKTNUM" VARCHAR2(30),
    "BILLEVENTFLAG" VARCHAR2(1),
    "WHN_OTGTM" NUMBER DEFAULT 0,
    "ILEC_OTGTM" NUMBER DEFAULT 0,
    "EVENTID" VARCHAR2(15),
    "NUMCIRCUITS" NUMBER,
    "TMASSIGNDTTM" DATE,
    "TOPASSIGNDTTM" DATE,
    "ALERTCUSFLAG" VARCHAR2(1),
    "MCIPRODNAME" VARCHAR2(40),
    "ALTNEID" VARCHAR2(53),
    "CONTROLSITE" VARCHAR2(14),
    "CRITICALINDICATOR" VARCHAR2(1),
    "REPORTEDBYNAME" VARCHAR2(80),
    "REPORTEDBYPHN" VARCHAR2(22),
    "REPORTEDBYCELLPHN" VARCHAR2(21),
    "REPORTEDBYEMAIL" VARCHAR2(47),
    "REPORTEDBYFAXNUM" VARCHAR2(22),
    "REPORTEDBYHOMEPHN" VARCHAR2(22),
    "REPORTEDBYPAGER" VARCHAR2(47),
    "REPORTEDBYALTPHN" VARCHAR2(22),
    "DISPATCHIND" VARCHAR2(1),
    "BILLCUSTNOTIFY" VARCHAR2(1) DEFAULT 0,
    "ACCESSID" NUMBER DEFAULT 0 NOT NULL ENABLE,
    "GARMLEVEL" VARCHAR2(10) DEFAULT 1 NOT NULL ENABLE,
    "GARMID" VARCHAR2(100) DEFAULT ' ' NOT NULL ENABLE,
    "GARMIDTYPE" VARCHAR2(50) DEFAULT ' ' NOT NULL ENABLE,
    "T1AINDICATOR" VARCHAR2(15),
    "TKTSOURCE" VARCHAR2(20),
    "SOURCETEXT" VARCHAR2(40),
    "RCOCIRCUITID" VARCHAR2(53),
    "RCOTKTNUM" VARCHAR2(13)
    ) PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255 LOGGING
    STORAGE(INITIAL 134217728 NEXT 134217728
    BUFFER_POOL DEFAULT)
    TABLESPACE "TS_MED1"
    PARTITION BY RANGE ("TKTNUM")
    (PARTITION "PART_OLD" VALUES LESS THAN ('2003080100001')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 134217728 NEXT 5242880 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_OLD" NOCOMPRESS ,
    PARTITION "PART04Q1" VALUES LESS THAN ('2004033199999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 52428800 NEXT 52428800 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_04_OLD" NOCOMPRESS ,
    PARTITION "PART04Q2" VALUES LESS THAN ('2004063099999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 52428800 NEXT 52428800 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_04_OLD" NOCOMPRESS ,
    PARTITION "PART04Q3" VALUES LESS THAN ('2004093099999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 52428800 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_04_OLD" NOCOMPRESS ,
    PARTITION "PART04Q4" VALUES LESS THAN ('2004123199999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 52428800 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_04_OLD" NOCOMPRESS ,
    PARTITION "PART05Q1Q2" VALUES LESS THAN ('2005063199999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 20971520 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEADER_05Q1Q2" NOCOMPRESS ,
    PARTITION "PART05Q3Q4" VALUES LESS THAN ('2005123199999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 20971520 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_05Q3Q4" NOCOMPRESS ,
    PARTITION "PART06Q1Q2" VALUES LESS THAN ('2006063199999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 20971520 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_06Q1Q2" NOCOMPRESS ,
    PARTITION "PART06Q3Q4" VALUES LESS THAN ('2006123199999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 5242880 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_06Q3Q4" NOCOMPRESS ,
    PARTITION "PART07Q1Q2" VALUES LESS THAN ('2007063199999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 5242880 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_07Q1Q2" NOCOMPRESS ,
    PARTITION "PART07Q3Q4" VALUES LESS THAN ('2007123199999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 5242880 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_07Q3Q4" NOCOMPRESS ,
    PARTITION "PART08Q1Q2" VALUES LESS THAN ('2008063199999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 5242880 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_08Q1Q2" NOCOMPRESS ,
    PARTITION "PART08Q3Q4" VALUES LESS THAN ('2008123199999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 5242880 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_08Q3Q4" NOCOMPRESS ,
    PARTITION "PART09Q1Q2" VALUES LESS THAN ('2009063099999')
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 5242880 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_09Q1Q2" NOCOMPRESS ,
    PARTITION "PART09Q3Q4" VALUES LESS THAN (MAXVALUE)
    PCTFREE 20 PCTUSED 50 INITRANS 1 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 5242880 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_09Q3Q4" NOCOMPRESS )
    CREATE INDEX "ETMS"."XTKTHDR9" ON "ETMS"."T3TKTHEADER" ("LASTUPDDTTM", "INTPUB
    FLAG", "CURSTS")
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(
    BUFFER_POOL DEFAULT) LOCAL
    (PARTITION "PART_OLD"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 5242880 NEXT 5242880 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_TKTHEAD_OLD" ,
    PARTITION "PART04Q1"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 20971520 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_04_OLD" ,
    PARTITION "PART04Q2"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 20971520 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_04_OLD" ,
    PARTITION "PART04Q3"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 20971520 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_04_OLD" ,
    PARTITION "PART04Q4"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 20971520 NEXT 20971520 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_04_OLD" ,
    PARTITION "PART05Q1Q2"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 10485760 NEXT 10485760 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEADER_05Q1Q2" ,
    PARTITION "PART05Q3Q4"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 10485760 NEXT 10485760 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_05Q3Q4" ,
    PARTITION "PART06Q1Q2"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 5242880 NEXT 5242880 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_06Q1Q2" ,
    PARTITION "PART06Q3Q4"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_06Q3Q4" ,
    PARTITION "PART07Q1Q2"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_07Q1Q2" ,
    PARTITION "PART07Q3Q4"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_07Q3Q4" ,
    PARTITION "PART08Q1Q2"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_08Q1Q2" ,
    PARTITION "PART08Q3Q4"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_08Q3Q4" ,
    PARTITION "PART09Q1Q2"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_09Q1Q2" ,
    PARTITION "PART09Q3Q4"
    PCTFREE 10 INITRANS 2 MAXTRANS 255
    STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    TABLESPACE "TS_IND_TKTHEAD_09Q3Q4" )
    PARALLEL 4
    DATA:
    2000120600662 06-Dec-2000 11:39:56 PM 12671 1243 UNKNOWN 5 11 0 1243 1243 -1 0 0 916 576 2675 06-Dec-2000 03:48:22 PM ANI CUSTOMER 0 0 -1 916 576 2675 0 06-Dec-2000 03:48:22 PM 0 06-Dec-2000 03:48:22 PM 0 0 0 0 CLOSED VOID 0 0 0 10-May-2001 10:17:18 PM 10873 unknown TXSAN.CSLOC TXSAN.CSLOC TXSAN.CSLOC 16-May-2008 05:50:29 PM unknowni TXSAN.CSLOC TXSAN.CSLOC TXSAN.CSLOC sburke 0 1 ALL PHONE 0 1
    2001021300976 23-Apr-2001 03:00:49 PM 50766 2113 UNKNOWN 5 2 0 2113 2113 -1 0 0 75fnode 13-Feb-2001 11:12:48 AM EQUIPMENT 0 0 1 75fnode 0 13-Feb-2001 11:12:48 AM 0 13-Feb-2001 11:12:48 AM 0 0 0 0 CLOSED VOID 0 0 0 22-May-2001 01:30:37 PM 10866 unknown MABST.3CMNOD MABST.3CMNOD MABST.3CMNOD 16-May-2008 05:50:29 PM unknown MABST.3CMNOD MABST.3CMNOD MABST.3CMNOD jcece 0 1 ALL PHONE 0 1
    2001022100287 21-Mar-2001 07:00:37 PM 62393 9974 UNKNOWN 5 14 0 9974 9974 -1 0 0 3P19S.S63.0031 20-Feb-2001 08:53:57 PM CIRCUIT CUSTOMER 0 0 0 -1 3P19S.S63.0031 0 20-Feb-2001 08:53:57 PM 0 20-Feb-2001 08:53:57 PM 0 0 0 0 CLOSED VOID 0 0 0 28-Apr-2001 03:47:18 PM 12782 mclement9486 CASAC.SSO CASAC.SSO CASAC.SSO 16-May-2008 05:50:29 PM mclement9486 CASAC.SSO CASAC.SSO CASAC.SSO unknown 0 01-Jan-1970 12:00:00 AM 1 ALL PHONE 1 N N 0 1
    2001022101367 21-Feb-2001 09:57:41 PM 42424 2935 UNKNOWN 5 4 0 2935 2935 -1 0 0 0808 105 0020 21-Feb-2001 10:46:50 AM SWITCHED CLI 0 0 -1 0808 105 0020 0 21-Feb-2001 10:46:50 AM 0 21-Feb-2001 10:46:50 AM 0 0 0 0 CLOSED VOID VOID 0 0 0 23-Apr-2001 05:54:57 PM 11063 unknown UKLN.CSCCO UKLN.CSCCO UKLN.CSCCO 16-May-2008 05:50:29 PM gharvey UKLN.CSCCO UKLN.CSCCO UKLN.CSCCO unknown 0 01-Jan-1970 12:00:00 AM 1 ALL PHONE 0 1
    Hope this helps.
    Thanks in advance,
    Arindam

  • Allocate partition based on key

    Hi,
    I want to implement key partition i.e. I have to allocate the partition based on the keys.
    In the configuration file an element called key-partitioning is to be included and then the class name in which KeyPartitioningStrategy is implemented. Is there any other configuration element need to be included in the configuration file.
    Say for example i have partition count as 5. Three keys shld be stored in the first partition based on some condition applied to the key and the other keys shld be stored in some other partition based on some condition tat can be applied.
    how shld I implement so tat I can accomplish the above functionality.
    I don't know how to proceed with this.
    Kindly help me in this.
    Thanks,
    Jagadeesh

    Hi Jagadeesh,
    Below an excerpt from one of coherence demos I have made.
    coheremce-cache-config.xml
    <distributed-scheme>
        <scheme-name>trades-cache-scheme</scheme-name>
        <service-name>TradesCacheService</service-name>
        <local-storage system-property="convergence.coherence.storage">true</local-storage>
        <backing-map-scheme>
            <local-scheme />
        </backing-map-scheme>
        <backup-count>0</backup-count>
        <partition-count system-property="convergence.coherence.books-count">1</partition-count>
        <key-partitioning>
            <class-name>com.griddynamics.convergence.demo.dar.coherence.TradeKeyPartitioningStrategy</class-name>
        </key-partitioning>
        <thread-count>2</thread-count>
    </distributed-scheme>
    {code}
    com.griddynamics.convergence.demo.dar.coherence.TradeKeyPartitioningStrategy
    {code:java}
    public class TradeKeyPartitioningStrategy implements KeyPartitioningStrategy {
         public TradeKeyPartitioningStrategy () {
         @Override
         public void init(PartitionedService service) {
         @Override
         public int getKeyPartition(Object key) {
              if (key instanceof TradeKey) {
                   return ((TradeKey)key).getBookId();
              else {
                   return 0;
    {code}
    Intention was made one-to-one mapping between bookId and coherence partition. Please not you should specify total number of partitions in config.
    Regards,
    Alexey                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How to calculate average for a keyfigure based on 0calmonth.

    Hi Experts,
    I have a requirement in SAP BI  is as below.
    I have 2 colums in my query  1. 0calmonth ( charactersic) 2. PERDAY TARGET(KF)
    Now I want to create a new column t.e.  "AVERAGE  YTD TARGET" for" PERDAY TARGET" based on "0CALMONTH"
    Like, I have 10 records in one month (APRIL) and another month (MAY) having 25 records.
    SO I want to display "AVERAGE YTD TARGET " for each record in Report .
    so,please let me know the procedure to complete this in BEX query.
    Thanks in advance.
    Regards,
    Surendra babu

    Hi,
    Please go through this pdf if you want to know how exception aggrgation works.It will be really helpful for you.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f0b8ed5b-1025-2d10-b193-839cfdf7362a?quicklink=index&overridelayout=true
    Regards,
    AL

  • Partition based on join in data warehouse env.

    Hi,
    I am working on DW environment and am quite new to it.
    The scenario is like there are 2 fact tables and one dimension table.
    Now I need to partition both the fact tables based on the dates in Dim table. My problem is there is no date mentioned in fact table other then Surogate keys in fact tables.
    Is it possible to partition the table by using join condition between fact table and Dim table and if yes how?
    The structure of tables are as follows.
    Please help!
    Daily sales fact table
    planned shipment date sk     NUMBER     PK1, FK1
    source system identifier     VARCHAR2(50)     PK2
    sales type indicators sk     NUMBER     PK3, FK3
    ship-to-customer sk     NUMBER     PK4, FK4
    product sk     NUMBER     PK5, FK5
    ship-from-location sk     NUMBER     PK6, FK6
    quantity in primary units     NUMBER(14,3)     
    quantity in 9LE     NUMBER(14,3)     
    Daily Sales Order Fact
    sales invoiced date sk     NUMBER     PK1, FK1
    source system identifier     VARCHAR2(50)     PK2
    sales type indicators sk     NUMBER     PK3, FK3
    ship-to-customer sk     NUMBER     PK4, FK4
    product sk     NUMBER     PK5, FK5
    ship-from-location sk     NUMBER     PK6, FK6
    quantity in primary units     NUMBER(14,3)     
    quantity in 9LE     NUMBER(14,3)     
    Sales order month Dim
    sales order month sk     NUMBER     PK1
    sales order month full name     VARCHAR2(50)     
    sales order month number     NUMBER(2)     
    sales order month calendar year     NUMBER(4)     
    sales order month financial year     NUMBER(4)     
    sales order month start date     DATE     AK1
    sales order month end date     DATE     
    sales order month end date sk     NUMBER     
    days in sales order month     NUMBER(2)     
    event number     NUMBER(12)     
    last update date     DATE     
    Thanks in advance.

    If you take care that the synthetic key values for you date are assigned in ascending order with the date value then you can range equi-partition by range on both of them without too much trouble.
    Personally I don't use synthetic values as PK's on dates, partly for this very reason.

  • Creating partitions based on date

    Hello Friends,
    I want to create a table ( x_acc_nnm) with a column x_as_of_dt ( Datatype Date dd/mon/yyyy ) partition on x_as_of_dt.
    Want to partition the table on x_as_of_dt based on YYYYMM
    appreciate your help.
    thanks/Kumar

    Hello,
    Want to partition the table on x_as_of_dt based on YYYYMMI think that this link may help you in this task:
    http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/schemaob.htm#CNCPT88862
    Hope this help.
    Best regards,
    Jean-Valentin

  • Storage clause of create partition based on last storage value

    Hello,
    could you give some advice how could i resolve this problem ?
    I have procedure which is executed by job every day, once a day, and what it does, it automaticly add new partitions on one table.
    I am now strugling with how to construct statement that will place every new partition in new tablespaces.
    I created 8 tablespaces named data1..data8 and for this purpose, so now i am trying to understand how can i perform check in what tablespace was last partition placed and based on that, add new partition in first next tablespace. For example, last was created in data8 tablespace, so next must be created in data1 tablespace.
    How can i check that ? Anyone have some suggestions ?
    I am currently going with this logic :
    select tablespace_name from
      (select * from user_tab_partitions where table_name='partitioned_table' order by partition_name desc)
      where rownum < 2 )And with this i get the name of the last used tablespace for the last created partition, but i currently don't know how to use this info further.
    Deos someone have some other idea about this ?
    Edited by: user11141123 on May 7, 2009 4:01 AM
    Edited by: user11141123 on May 7, 2009 4:16 AM

    Yes Sean,
    i would like this to do bacuse of the tablespace that are created for that purpose, for that partitioned table.
    For some reason, they must be used, and by the current logic where that procedure adds new partiotions with default storage option, they can't be used
    and all partitions are created in one other tablespace named data.
    This is situation on production, and i created similiar test environment.
    data tablespace in production will in few days propably be full and intention is to start create new partitions in this way , in those new 8 tablespaces and in some time tottaly leave current and only used tablespace and that is data tablespace.
    So i would like to somehow implement storage clause on already fully functional
    alter table add partition
    statement inside that procedure.
    Is there some way for that ? That i use that qury i wrote above , and by using that value add on existing statement for create partition storage clause with next in line tablespace ?

  • Table partition based multiple date columns

    Hi , I am using Oracle 10G db. One of the source table has 26 million rows. Partition is based on business send date(Quaterly). Now the query that used to load the target table is based on ETL load date. Since the load date is not the partition column,the source query is taking long time to fetch.Can someone please suggest how to include ETL load date in the partition column or if any other way to improve the performance of the source query will be greatly appreciated.Thanks

    Partition is based on business send date(Quaterly).
    Can someone please suggest how to include ETL load date in the partition column
    Technically? Sure - just redefine the table (DBMS_REDEFINITION) and partition it on ETL load data.
    But someone partitioned on 'send date' for a reason didn't they? Don't you think you might want to find out WHY before you even think about changing it?
    The only info you have provided so far is that someone 'thinks' that a single query is 'taking long time to fetch'. That doesn't even mean anything. What is 'long time': 5 seconds, 5 days? How many rows are being fetched out of 26 million: 1, 20 million?
    1. post the table and index DDL
    2. post the query and execution plan
    3. post the command you executed to produce the stats on the table and indexes
    4. post the number of rows for the query predicates
    5. post info about the number of rows in the result set and what you are doing with them

  • Any overhead with sub partitioning within a time based column?

    We have a table that's partitioned based on a weekly partition and it has records of Type A and records of Type B and there are processes that are only interested in records of Type B.
    Right now the table is partitioned as interval on the timestamp column as a weekly partitioning but I'm considering introducing sub partitioning into the mix based on these record Types.
    Is that feasible?

    >
    We have a table that's partitioned based on a weekly partition and it has records of Type A and records of Type B and there are processes that are only interested in records of Type B.
    >
    Whether to partition on the 'type' column depends on the data skew and how the type data is accessed.
    If the access and skew is such that an index would be used then just use an index - no need to partition. For example if only 5% of the data is Type B then you could probably use an index effectively for accessing only Type B data.
    For Type A data (95%) a full table scan will be used and Oracle will skip/ignore the 5% of the data this Type B so no partitioning is needed.
    Subpartitioning would be useful if an index won't help filter the data and you want Oracle to filter it automatically.
    You will need to either redefine the table (using DBMS_REDEFINITION) or recreate the table to if you want to add subpartitioning.

  • Characterstic partitioning

    Hi Experts,
           I have some doubts in bw. They are
    1.What is characterstic partitioning .How we will do that?
    2.What is virtual characterstics and virtual keyfigures ?
    3.How can we skip the one process chain from meta chain scheduling.?
    4.Where we set the data packet length Globally not in the Infopackage?
    5.In transportation User1 have 5 requests and User2 have the 10 requests.Is it possible to bring all the requests under one request .How we will do this ?
    Advance thanks.
    I will assign points .
    Peter

    Hi,
    Answers to some of the questions.......
    1. You can do partitioning only based on 0CALMONTH and 0FISCPERIOD.
    2. Virtual Char & Key Fig.s are Char and Key Fig added to the data target but values are not populated in these infoobjects during data load. Values for these objects are calculated at query runtime. For this you need to write customer exit.
    3. Metachain is nothing but chain in which you have included other process chains. So if you don't want to schedule any process chain you need not include that in metachain.
    4. We cant club all requests in a single request.
    Regards
    SSS

  • Reg. table partition

    Hi
    Shall anyone explain about table partition.
    What it is and when it can be used.
    regards
    Sridhar
    [email protected]

    Hi,
    Partitioning is nothing but u can split up the whoe dataset of an Info cube into smaller, physically independant and redundancy free units. Because of this Query performance has increased while reporting, also when u r deleting data from the info cube.
    We can Partition the ODS/Cube based on 0CALMONTH/0FISCYEAR.
    Double click on ur ODS/Cube.
    Extras > Partitioning.
    This is called Physical partitioning.we go fro this partition prior loading data into the info provdider..
    You can even do that after the load, but you have to move the data.
    There is another Partitioning also LOGICAL PARTITIONING.
    Ex: If we have 2 maintain 3 years of Data.
    We will maintain 2005 data in a cube, 2006 data in a cube and 2007 data in cube.
    Different cube for different years....we will group these Cubes under a Multi Provider.
    Check the following link regarding partitioning:
    http://help.sap.com/saphelp_nw04/helpdata/en/0a/cd6e3a30aac013e10000000a114084/frameset.htm
    Partitioning

  • Benefits of Cube partitioning

    I am looking into the options of repartitioning a large cube (100M records in fact table).
    The partitioning will be based on 0CALMONTH, there is 8 years of history in the cube so I will end up with 96 partitions.
    I found several help documents, sdn posts and a helpful note (1008833) but still have some questions left.
    Can someone explain what the actual benefit is of having partitions?
    I can understand that it is quicker to search a smaller table than a bigger table, but there will also be some overhead in finding out which partition(s) should be accessed for a specific query.
    Or is the read access only quicker if calmonth is provided on the selection screen (or using a user exit)?
    Is SAP using more work processes so it can search several partitions at the same time? This would impact the number of available processes for other usage.
    Any help understanding the concept of partitioning better would be greatly appreciated.
    I think I have found all the relevant help documents how to implement repartitioning, so there is no need to reply with links to those.
    Thanks in advance,
    Jan.

    Hi,
    FAQ - The Future of SAP NetWeaver Business Intelligence in the Light of the NetWeaver BI&Business Objects Roadmap
    http://www.tdwi.org/Publications/BIJournal/display.aspx?ID=7891
    http://www.dmreview.com/issues/20051001/1038109-1.html
    http://www.sap.com/platform/netweaver/pdf/BWP_AR_IDC_BI_Accelerator.pdf
    BI Performance http://www.xtivia.com/downloads/Xtivia_BIT_Performance%20Audit.pdf
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10564d5c-cf00-2a10-7b87-c94e38267742
    check this links....

  • Partitioning

    Hi,
    Can anyone tell me how you go about partitioning a fact table in 3.5?
    Andy

    You can partion the data based on the time characteristic available in your info-provider. If you have 0CALMONTH, 0FISCPER, 0CALWEEK in your info-provider then you can also partition based on these time characteristics.
    From a perform,ance point of view partitioning by 0CALDAY is not recommended as it is going to create a huge number of partitions. If you have a date range over 2 months in the report then you are literally going to access 60 partitions to get that data which is not good. However if you partion by year it will be in one / two partion depending on the year and in 2 partitions if based on 0CALMONTH / 0FISCPER.
    It is always recommended to partition by 0CALMONTH / 0FISCPER. You need to have these 2 chars in your cube if you want to partition your data based on these 2 characteristic.
    To partition cube
    Just right click on Infocube -> Change or doble click on the infocube to go to infocube maintenace. From the menu choose Extras ->Partitioning.
    Partitioning:
    http://help.sap.com/saphelp_nw04/helpdata/en/33/dc2038aa3bcd23e10000009b38f8cf/content.htm
    Partitioning InfoCubes using the Characteristic 0FISCPER:
    http://help.sap.com/saphelp_nw04/helpdata/en/0a/cd6e3a30aac013e10000000a114084/content.htm
    infocube partitioning
    Older versions of SQL database (prior to MS SQL Server 2005) does not support "Partition" this feature.
    Oracle and Informix does support.. refer oss note: 869407 for more details.

  • How to see Partition in Cube

    Dear Gurus:
    Can u pls tell how to partition cube on 0CALMONTH /FISCPER
    Also, <b>how can we see the partition info on an existing cube...</b>
    As always, thanks a lot in advance.
    Best Regards

    Go to the infocube maitenance screnn Extras->partioning.
    Partioning is done based on the calender month(0CALMONTH) or fiscalyear/period(0FISCPER). At least one of the infoobjects must be contained in the cube.
    This function suports only by the ORACLE, INFORMIX
    Have a look also at this:
    finding the partitions in a cube !
    Regards

  • What is the use of cube partition?

    Hi,
    What is the purpose of partioning the cube by 0calmonth, 0fiscper? Is creating aggregates on cube by 0calmonth, 0fiscper same?
    Thanks,
    Sammy

    hi sammy,
    Partition of the cube is done to improve the query performance.  If u dont do partition the data will get stored in the infocube randomly.  while reporting it will take more time to execute the report because it needs to search the records in the entire infocube.
    If u do partitions on a infocube while reporting the performance is improved because it will search records only in the relevant partitions not on the entire infocube and the response time of the query is improved.
    Partition allows you to organize your data in a proper manner so that it decreases the search time.
    In order to do partiton we should have 0calmonth,0fiscper infobjects in your infocube.
    If u are having more years of data in the data ware house do partition based on ofiscper otherwise some years of data i.e 3 years do using 0calmonth.
    Only oracle database supports partition.
    Aggregates can be done on any characteristics we can create a aggregate on region infoobject as well but partition is be done only on 0fiscper,0calmonth.
    Partition also improves load performance.
    Assign points if u found helpful
    Message was edited by:
            Shahid Syed

Maybe you are looking for