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 PMHi! 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,
JagadeeshHi 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 babuHi,
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/KumarHello,
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 AMYes 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. -
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 .
PeterHi,
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 -
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 -
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.... -
Hi,
Can anyone tell me how you go about partitioning a fact table in 3.5?
AndyYou 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. -
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 RegardsGo 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,
Sammyhi 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
-
OCCI Clob.write problem
hi i am new to occi i have tested my application and insert data to my tables ; I have a field in my table which its type is clob and a procedure for inserting in that table when i test procedure with stmt.setString (for the clob field) I have no pro
-
Latest itunes version: how to select what you want transferred
how can you select what to transfer from your mac via itunes to my iphone 4? I am lost in the new version of iTunes 10.11 and need to switch off the transfer of music to my iphone. how can i do that, so that it only transfers and syncs the email acc
-
hi iam not able to get the binary tree and avl tree in swings please any one help me thanks in advance
-
help i just updated my i phone 4 with ios7.1 and now its telling me to connect to itunes!! not sure how to do that
-
DVD Player not playing at correct speed
I have the 2011 iMac. I have Apple Care, etc, still in full warranty. Other than this, it is perfectly functional. When I play a DVD it does not play at normal speed. It isn't 2X speed either, I have checked everything, the problem is that it plays a