Vous êtes sur la page 1sur 20

OptimizingthePerformanceoftheOracleBIApplicationsusingOracle DatawarehousingFeaturesandOracleDAC10.1.3.4.

1
MarkRittman,Director,RittmanMeadConsulting forCollaborate09,Florida,USA,May2009 TheOracleBIApplications7.9.5consistsofapredefineddimensionaldatawarehouse,ETLroutines,an OracleBIEnterpriseEditionrepositoryandexampledashboardsandreports.TheETLroutinesarebuilt usingInformaticaPowerCenterandarescheduledandorchestratedusingtheOracleDataWarehouse AdministrationConsole. ThedatawarehouseprovidedwiththeOracleBIApplicationsisdesignedtobedeployedoneither OracleDatabaseEnterpriseEdition,MicrosoftSQLServerorIBMDB/2.Assuch,whilstitusescommon datawarehousingfeaturessuchasbitmapindexes,itdoesnotmakeuseofanyOraclespecificfeatures suchassegmentcompression,partitioningormaterializedviews.Itispossiblehowevertomakeuseof thesefeatures,andthispapersetsoutamethodologyfortheirusewithOracleBIApplications7.9.5, alongwiththeOracleDataWarehouseAdministrationConsole10.1.3.4orhigher. AnOracleBusinessAnalyticsWarehouseOverview TheOracleBusinessAnalyticsWarehouseconsistsofanumberofstagingandpresentationtablesthat togethersupporttheloadingandqueryingofenterprisedataviaaconformeddimensionalmodel. Tablesarecreatedasregularheaptables,withaminimalamountofNOTNULLcheckconstraintsbutno primarykeys,foreignkeys,partitionsorotheradditionalitemsofmetadata.Tablesareloadedvia InformaticaPowerCenter8.1.1,usingthePowerCenterIntegrationServiceandrowbyrowdataloading. Aggregatetablesarecreatedandpopulatedtosupportkeyfacttables,usingseparateETLprocesses afterthemainfacttableloadsthattruncate,andthenrebuildtheaggregates. ItishoweverpossibletocustomizetheOracleBusinessAnalyticsWarehousetotakeadvantageof featuressuchassegmentcompression,partitioning,materializedviewsandotherOracledata warehousefeatures.Itisalsopossibletoaddadditionalmetadatasuchasprimarykeyandforeignkey constraints,dimensionsandotherfeaturestosupportmoreefficientqueryingofdetailleveland summarizeddata.ToillustratehowtheseOraclefeaturescanbeusedtooptimizetheloadingand queryingoftheOracleBusinessAnalyticsWarehouse,thispaperwilltakeonofthefacttableswithinthe datawarehouseandapplythesetechniquestoit. PerformanceOptimizationScenario TheOracleBusinessAnalyticsWarehousecontainsatablecalledW_SALES_INVOICE_LINE_Fthat containsfactdataonthesalesinvoicesgeneratedbythebusiness.Itissupportedbyanaggregatetable, W_SALES_INVOICE_LINE_Athattakesdatafromtheoriginaltableandsummarizesittoimprove queryperformance.Inthesampledatasetusedinthispaper,thesetwotableshadthefollowingrow countandsize.

select count(*) from w_sales_invoice_line_a; COUNT(*) ---------36264

select count(*) from w_sales_invoice_line_f; COUNT(*) ---------478571

select segment_name , bytes/1024/1024 "Size in MB" from user_segments where segment_name in ('W_SALES_INVOICE_LINE_F, 'W_SALES_INVOICE_LINE_A'); SEGMENT_NAME Size in MB ------------------------------ ---------W_SALES_INVOICE_LINE_A 9 W_SALES_INVOICE_LINE_F 189.125

ThesetablesareloadedbytwoDACtasks,andaDACTaskGroup: 1. TASK_GROUP_Load_SalesFactcallsthefollowingSILandPLPtasks,andwhentheyhave completedrecreatesanyindexesrequiredforsupportingqueries. 2. SIL_SalesInvoiceLinesFact,whichinitiallydropstheindexesonthefacttable,thencalls eithertheSIL_SalesInvoiceLinesFactandSIL_SalesInvoiceLinesFact_Full Informaticaworkflowsforincrementalandfullloadsrespectively,andthenrecreatesjustthose indexesrequiredfortherestoftheETLprocess. 3. PLP_SalesInvoiceLineAggregate,whichagaindropsindexesthistimeontheaggregate table,thencallseitherthePLP_SalesInvoiceLinesAggregate_Loadand PLP_SalesInvoiceLinesAggregate_Load_FullInformaticaWorkflowsforincremental andfullloadsoftheaggregatetable,thenrecreatestheindexesrequiredfortherestoftheETL process. InitialBenchmarks Tocreatebaselinefigurestocompareyouroptimizationsto,starttheOracleDataWarehouse AdministrationConsole10.1.3.4orhigher,andcreateanewsubjectareawithintheDACRepositorythat usesthetwotasksandonetaskgrouplistedabove.

NowswitchtotheExecuteviewintheDACConsoleandcreateanewexecutionplanthatdeploysthis newsubjectarea.Createtheparameterlistfortheexecutionplanandbuildthesetoforderedtasks,so thatyouarereadytoruntheexecutionplanandgeneratesomebaselineETLtimings.

Nowruntheexecutionplantwotimes,firstlyinFULLmodeandtheninINCREMENTALmode,sothat youcancomparethemagainstsubsequenttimingstoestablishthebenefitthateachfeatureprovides. AddingCompressiontotheFactTable ThefirstoptimizationtaskistoaddtheCOMPRESSclausetotheW_SALES_INVOICE_LINE_Ffacttable, sothatrowsthatareinsertedusingdirectpathoperationsarecompressed.CompressionisanOracle DatabaseEntepriseEditionfeature,andstoresmorerowsofdataintoeachindividualdatablockto providetwomainbenefits: lessspaceistakenupbydatawarehousedata,and

fulltablescanscanbeperformedfasteraslessblocksarerequiredtoretrieveallthetables data.

TotestthebenefitsofcompressingtheW_SALES_INVOICE_LINE_Ffacttable,firsttruncateitandthen alterthetabletoaddcompression.
SQL> truncate table w_sales_invoice_line_a; Table truncated. SQL> alter table w_sales_invoice_line_f compress; Table altered.

YoucanthenrestoretheETLsourcetablesbacktotheiroriginalstateandrunthefull,andthen incrementalloadsintothefactandtheaggregatetablesinordertotestthatcompressionisworkingas expected.Notethattableswillonlybecompressedwhendataisinserted,asInformaticaPowerCenter bydefaultusesbulkloadfunctionalityperformtableinserts.Updates,ormixedinsert/updateloadswill notbenefitfromcompressionasInformaticawillreverttoconventionalpathinserts,andofcourse updatesremovecompressionfromOracletablesunlessyouareusingtheAdvancedCompression Optiontothedatabase. PartitioningtheFactTable PartitioningisanoptiontotheEnterpriseEditionoftheOracleDatabasethatallowsyoutosplitone largephysicaltableintoseveralsmallerphysicalones,withusersstillseeingitasonebigtablebutgiving youfarmoreflexibilityinhowyoucanstoreandmanagedatawithinit.Partitioningistypicallyused withlargefacttablesandallowstheDBAtoassigneachpartitiontoseparatetablespaces,whichcan thenbestoredondifferentphysicaldiskunitsandbackedupindependently.Aswithtablecompression though,unfortunatelytheDataWarehouseAdministrationconsoledoesnothaveanyconceptof partitioningandyouwillthereforehavetocarryoutsomeadditionalstepstousethisfeature. TablessuchastheW_SALES_INVOICE_LINE_FtablearenormallycreatedbytheDACadministrator wheninitiallyinstallingtheOracleBusinessAnalyticsWarehouse,byselectingTools>ETLManagement >ConfigurefromtheDACmenu.HoweverthereisnoprovisiontocreatetablesusingthePARTITION BY(orCOMPRESS)clauses,andsowecaneithercreatethetableoutsideoftheDAC,aswedidinthe previousstepfortheCOMPRESSclause,orwecanusetheActionsfeatureinDAC10.1.3.4.1tocreate ourtableforus,usingtherequisiteclause,beforewetryanddoafullloadintothetable. Actionsareanewfeatureofthe10.1.3.4.1versionoftheDACandallowustocreatetable,indexand taskactions. TableactionsallowustooverridetheTruncateandAnalyzestepscarriedoutontablesduring anETLprocess Indexactionsallowustooverridethecreationanddroppingactionsassociatedwithindexes TaskactionsallowustoexecuteSQLandPL/SQLstepsbeforeorafterataskexecutes.

Notethatthe10.1.3.4versionoftheDAChasabuginitthatcorruptstheSQLtextforanaction.Youwill needtoapplyapatchoverthisreleasetobeabletocarryouttheactionsinthispaper(availablefrom OracleMetalink,patchnumberTBAatthetimeofwritingthispaper),orinstallthe10.1.3.4.1release whenitbecomesavailable. AsDACactionscannotoverridethecreationstepforatable,onlythetruncateandanalyzesteps,you willaddanewtaskactionfortheSIL_SalesInvoiceLinesFacttask,thatwillrunwhenthetaskis runinFULLmode,andthatwilldroptheexisting,nonpartitionedversionofthetableandrecreateit usingtherequiredpartitioningclause.Tostartthisprocess,selectTools>SeedData>Actions>Task ActionsfromtheDACapplicationmenu.

AttheTaskActiondialog,pressNewtocreateanewaction,calltheaction Create W_SALES_INVOICE_LINE_F Partitioned,savetheactionandclickintheValuetextboxtosetthe tablecreationscripts.

UsingtheactionValuedialog,createtwosteps,onetodropthetableandtheothertocreateit.

MakesurethedropstepislistedabovethecreatestepissettoContinueonFail,andenterthe followingSQLstatementtodropthetable:
drop table w_sales_invoice_line_f

Forthecreatetablestep,donotchecktheContinueonFailcheckbox,thenentertheappropriatetable creationcommandintotheSQLStatementtextbox,rememberingtoaddthePARTITION BYclauseto thescript,andtheCOMPRESSclauseifyouwouldlikethetabletobecompressedaswell.


create table w_sales_invoice_line_f (sales_ordln_id varchar2(80 char), x_custom varchar2(80 char) compress partition by range (cost_center_wid) (partition cc_1 values less tan 4000) .

DonotplaceanysemicolonsattheendoftheSQLscriptasthiswillcauseittofailwhenrun. Eventhoughthisnewtaskactionwilldropandthenrecreate,usingpartitioning,the W_SALES_INVOICE_LINE_Ftable,theDACstillholdsdetailsofitinitsrepositorytogetherwithdetailsof theindexesthatareassociatedwithit.Asthingsstand,theDACwoulddroptheseindexesaspartofthe SILtaskandrecreatethemusingthetaskgrouptask,howeveritdoesnotnormallyunderstandthe conceptoflocalindexesandwilltryandcreatethemwithoutanylocalorglobalclause,whichhasthe effectofcreatingthemasglobalindexes.ToinstructtheDACtocreateourindexesaslocalindexes,you nowneedtocreateanIndexActiontooverridethenormalindexcreationprocessfortheseindexes. Thefirststepinthisprocessistodefinetheindexaction,thenyouwillassociateitwiththerelevant indexes.Tocreatetheindexaction,selectTools>SeedData>Actions>IndexAction,nametheindex action,pressSaveandthenentertheValueeditor.

Thisindexactionwillexecuteforeveryindexthatweassociateitwith.ItconsistsofanSQLstatement thatusesabuiltinDACfunctiontoreturnthenameoftheindexinquestion,andthelistofcolumns thatitindexes.

TheSQLstatementtobeusedisshownbelow,withtheDACfunctionshighlightedinbold:
create bitmap index getIndexName() on getTableName() (getIndexColumns()) local nologging parallel

Whentheactionisused,theDACwillsubstitutetheindexname,tablenameandindexcolumnsintothe SQLstatementandtherebycreatetheindexinquestionasalocalindex.Next,savetheactionand returntothemainDACconsole. Nowyouneedtoassociatetheindexactionwiththebitmapindexesthatneedtobecreatedaslocal indexes.Todothis,navigatetotheIndicestabintheDesignviewoftheDAC,andquerytherepository toreturnjustthebitmapindexesassociatedwiththeW_SALES_INVOICE_LINE_Ftable.Whenthelistof indexesaredisplayed,rightclickanywhereonthelistandselectAddActions

UsingtheAddActionsdialog,selectCreateIndexastheactiontype,BothastheLoadType,andthen selecttheindexactionthatyoucreatedinthepreviousstepfortheActionType.

NowyoucanassociatethetaskactionwiththeSILDACtaskthatpopulatesthe W_SALES_INVOICE_LINE_Ftable,sothatitdropsandrecreatesthetableusingpartitioningwhenitruns infullloadmode.Todothis,locatetheSIL_SalesInvoiceLinesFacttaskusingtheTasktabinthe Designview,andselecttheActionstabwhenthetaskisdisplayed.Then,selectPrecedingActionasthe ActionType,FullastheLoadTypeandthenselectthetaskactionthatyoucreatedearlier.

Nowyoucanrerunyourexecutionplan,whichwillnowincludetheseindexandtaskactionsinthe stepsthatarecarriedout.Aftertheexecutionplancompletes,youcancheckthelistofstepscarriedout bytheSIL_SalesInvoiceLinesFacttasktoseeyourtaskactionbeingcarriedout

UsingMaterializedViewsforTableAggregation TheOracleBIApplicationsuseaggregatetablestoimprovetheperformanceofqueriesthatrequest aggregateddata.TheseaggregatetablesarethenmappedintotheOracleBusinessIntelligence EnterpriseEditionmetadatalayer,sothattheBIServercaninternallyrewritequeriestousethese aggregates.PostLoadProcessing(PLP)Informaticaworkflowsloaddataintotheseaggregatetables, eitherasacompleterefreshorincrementally,aspartofthesubjectareaload. TheEnterpriseEditionoftheOracleDatabasehassimilarfunctionalityintheformofMaterializedViews. Theseallowdatabaseadministratorstodefineaggregatesinthedatabase,whicharethenusedatquery runtimetosatisfyqueriesthatrequiredaggregateddata.MaterializedViewscanbefastrefreshableand canbedesignedtoeithersatisfyasingleaggregation,arangeofaggregationsorcanevenbecreated usinganOLAPAnalyticWorkspacetomeettheaggregationneedsofanentirestarschema. Likepartitionedtablesandlocalindexes,theDACdoesnotcontainoutoftheboxfunctionalityto createandmaintainmaterializedviews.ToaddthisfunctionalitytoyourETLprocess,youtherefore needtoaddtwonewactionstotheDACrepository: 1. AnactiontocreatetheW_SALES_INVOICE_LINE_Aobjectasamaterializedviewratherthana regulartable,andtocreatetherequiredMaterializedViewLogstosupportfastrefreshofthis object. 2. Anactiontoperformtherefreshofthematerializedview,whichyouwilluseinplaceofthe regularPLP_SalesInvoiceLinesAggregate_Load and PLP_SalesInvoiceLinesAggregate_Load_Full Informaticaworkflows. Toseehowtheexistingaggregatedtableispopulated,andtoextractthebaseSQLstatementthatyou willneedtocreatethematerializedview,opentheInformaticaDesignerapplicationandlocatethe PLP_SalesInvoiceLinesAggregate_Load_Full mapping.Whenyouviewthemappinglogic,you willseethattheW_SALES_INVOICE_LINE_FtableisjoinedtotheW_DAY_DtablethroughaSource

Qualifiermapping,whichisthensupplementedwithasequencenumberthatisusedtopopulatethe ROW_WIDcolumn.

Whilstwecannotreproducethesequencefunctionalitywithamaterializedview,youwillbeableto takethedatafromthesetwotablesanduseittoinitiallypopulate,andthenrefresh,thematerialized view. Likethepreviousexamplewhereyoucreateapartitionedtable,creationofthematerializedviewwillbe performedbyanewtaskactionthatyouwillassociatewiththe PLP_SalesInvoiceLinesAggregate_Load DACtaskwhenruninFullmode.Tocreatetheaction, selectTools>SeedData>Actions>TaskAction,andcreateandsaveanewtaskaction.AttheValue dialog,createindividualstepstodropandrecreatetherequiredmaterializedviewlogs,thendropand recreatethematerializedview,usingthefollowingSQLstatements: 1.DropMaterializedViewLogonW_SALES_INVOICE_LINE_F
drop materialized view log on W_SALES_INVOICE_LINE_F

2.DropmaterializedviewlogonW_SALES_INVOICE_LINE_F
drop materialized view log on W_DAY_D

3.CreateMaterializedViewLogonW_SALES_INVOICE_LINE_F
create materialized view log on W_SALES_INVOICE_LINE_F with sequence, rowed ( sales_ordln_id, sales_pckln_id ... discount_line_flg) including new values

4.CreateMaterializedViewLogonW_DAY_D
create materialized view log on W_DAY_D with sequence, rowed ( row_wid, calendar_date ... x_custom) including new values

5.DropMaterializedView
drop materialized view W_SALES_INVOICE_LINE_A

6.CreateMaterializedView
create materialized view W_SALES_INVOICE_LINE_A pctfree 0 build immediate refresh fast as select 1 as row_wid, w_sales_invoice_line_f.chnl_type_wid from w_sales_invoice_line_f, w_day_d where . group by )

Notethatwiththematerializedviewdefinitionscript,youwillneedtopopulatetheROW_WIDcolumn withaconstant,asitisnotpossibletocreateamaterializedviewthatusesanOraclesequenceto populateacolumn.YouwillalsoneedtoincludeCOUNT(*)andCOUNT(column)columnsforall aggregatedcolumnsinorderforthematerializedviewtobefastrefreshable.SeetheOracleData WarehousingGuideavailableonhttp://docs.oracle.comforfulldetailsoncreatingmaterializedviews. MakesurethatyoumarkalldropstepsasContinueonFail,sothatthewholeETLprocessdoesnt stopbecausetheobjectdidnotexistinthefirstplace,somethingthatwillhappenwhenyoufirstmake useoftheaction.

Nowthatyouhavethetaskactioninplacetocreatethematerializedviewanditsassociatedlogs,you cannowcreateanothertaskactiontorefreshthematerializedview.Todothis,selectTools>SeedData >Actions>TaskActionagain,andthistimecreateanewactiontoperformtherefresh.Enterthe followinganonymousPL/SQLblockintotheSQLStatementtextboxtorefreshthematerializedview:


begin dbms_mview.refresh(OBAW.W_SALES_INVOICE_LINE_A) end;

Remembertoreplacethenameoftheschemawiththeoneappropriateforyourdatabase. Inaddition,createanothertaskactioncalledDummyRefreshorsimilarthatyouwillassociatewith thePLPtaskruninfullmode,createanewstepwithinitbutdonotenteranySQLtext.Thisisrequired asrunningthetaskinfullmodewillcreateandrefreshthematerializedviewautomatically,butweneed anactiontoassociatewiththetasktomakeitvalid. Onceallofyourtaskactionsarecreated,includingtheonesusedinthepreviousexample,yourlistof taskactionsshouldlooklikethis:

Next,locatethePLP_SalesInvoiceLinesAggregate_Load taskintheDACDesignviewandchange theExecutionTypetoSQLFile,thenreplacetheCommandforIncrementalLoadcommandwithacall totheFastRefreshtaskactioncreatedpreviously,andtheCommandforFullLoadcommandwithacall tothedummyactionyoucreatedatthesametime.

Then,switchtotheTargetTablestabandunchecktheTruncateforFullLoadcheckbox,otherwisethe DACwillautomaticallytruncatethematerializedviewjustafteryouhavecreatedandrefreshedit,and subsequentfastrefresheswillfailwithanORA-32320errorduetothetruncationhavingcountedasa partitionmaintenanceoperation(PMOP).

Finally,togettheDACtocreatethematerializedviewforyouwhenthetaskisfirstrun,addanew PrecedingTaskactiontothetasktoruntheCreateMaterializedViewtaskactionyoucreated previously.BesuretodroptheexistingW_SALES_INVOICE_LINE_AaggregatetableusingSQL*Plus beforeyourerunyourETL,astryingtodropitwhilstreferringtoitasamaterializedviewwillcausean errorandfailtodropthetable.

Delete,andrecreatetheexecutionplanforyoursubjectarea,topickupthechangestothePLP mapping.Onceyouhavedonethis,youarenowreadytorerunyourDACexecutionplan,toassess whatimprovementtoprocessingtimethesechangeshavemade. QuantifyingtheImprovements WhenrunagainsttheauthorsinstallationofOracleBusinessIntelligenceApplications7.9.5,usinga subsetoftheOracleEBusinessSuiteVisiondataset,thefollowingtimingswererecordedusingthese scenarios: 1. BaselinerunofthestandardoutoftheboxETLroutines 2. AdditionoftheCOMPRESSclausetotheW_SALES_INVOICE_LINE_Ftable 3. AddingofpartitioningtotheW_SALES_INVOICE_LINE_Ftable,andkeepingcompression.

4. Alloftheabove,andreplacementoftheW_SALES_INVOICE_LINE_Atablewithafastrefresh materializedview. Theresultsofthesescenariosareshowninthetablebelow. Scenario LoadType Rows Elapsed Loaded Time 478571 904secs 553 499secs 478571 887secs 553 482secs Time Improvemen t Vs.Baseline n/a n/a 2% 3% 7% Fact Table Size 189Mb 189Mb 43MB 43MB 44MB Size improvemen t Vs.Baseline n/a n/a 77% 77% 77%

1Baseline 1Baseline 2With Compression 2With Compression 3With Partitioning & Compression 3With Partitioning & Compression 4With Partitioning, Compression and Materialized View 4With Partitioning, Compression and Materialized View

Full Incremental Full Incremental Full

478571 834secs

Incremental

553

470secs

6%

44MB

77%

Full

478571 437secs

51%

44MB

77%

Incremental

553

334secs

33%

44MB

77%

Overall,usingtablecompressiononthemainfacttablereduceditsstoragerequirementby77%,from 189MBto44MB.Usingafastrefreshablematerializedview,alongwithpartitioningandcompression, reducedtheETLtimeforthemainfacttableandassociatedaggregateby51%forafullloadand33%for anincrementalload. Inaddition,queriesagainstthepartitionedversionofthefacttablethatcanbenefitfrompartition eliminationcanexperiencesignificantlylowerexecutionplancosts.Thefollowingqueryandexecution planwereexecutedagainsttheoriginal,nonpartitionedversionoftheW_SALES_INVOICE_LINE_F table:

Whenthetableissubsequentlypartitionedthough,queriesthatbenefitfrompartitioneliminationshow asignificantdropintheircost.Intheexamplebelow,thetableisbeingpartitionedon COST_CENTER_WID,whereasinrealityitislikelytobepartitionedonadatecolumn,sothatqueries thatonlyrequiredataforaparticularrangeofmonthsoryearscanavoidscanningtheentiretable.

FurtherOpportunitiesforOptimization Aswellastheactionsoutlinedinthispaper,therearefurtheropportunitiesforoptimizingtheETLand queryprocessingcarriedoutbytheOracleBIApplicationswhenworkingwiththeEnterpriseEditionof theOracleDatabase.

Forexample,theDACdoesnotcreateprimarykeyorforeignkeyconstraintsonthetablesthatit creates,whichtogetherwiththedefaultsettingfortheSTAR_TRANSFORMATION_ENABLEDparameter fornewlycreateddatabases,inmostcasesmeansthatstartransformationsarenotusedwhenthe databasehandlesqueriesagainstfacttablesthatinvolvefilteringagainsttwoormoredimensions.You couldthereforeaddadditiontaskactionstoSILandPLPtaskstocreateanddroptheseconstraints, possiblyusingtheRELY NOVALIDATEclausestominimizeunnecessaryredo,setthe STAR_TRANSFORMATION_ENABLEDparameterappropriatelyandtakeadvantageofthiskeyOracledata warehousingfeature. AnotheroptimizationpossibilityistousetheOLAPOptiontoOracleDatabase11gtoreplacethe materializedviewoutlinedinthispaperwithaCubeOrganizedMaterializedView,whichcouldprovide aggregationsforanentirestarschemaatmultiplelevelsofaggregation.YouwouldneedtouseOracle AnalyticWorkspaceManager(afreedownloadfromhttp://otn.oracle.com)tocreatethecube organizedmaterializedview,butonceitiscreateditcouldberefreshedinthesamemannerasthe materializedviewthatthispaperdescribes. Conclusions TheETLandqueryoptimizationtechniquesprovidedoutoftheboxwiththeOracleBIApplications providesareappropriateforgenericdatabases,butcanbeimprovedaponifyoumakeuseofthe specificdatawarehouseoptimizationsavailableonyouractualtargetdatabase.TheEnterpriseEdition oftheOracleDatabaseprovidesmanysuchfeaturesincludingsegmentcompression,materializedviews andpartitioning,andthispapersetsouthowtheycanbeusedinconjunctionwiththenewactions featureavailablewiththeOracleDataWarehouseAdministrationConsole10.1.3.4andhigher. AbouttheAuthor MarkRittmanisanOracleACEDirectorandiscofounderofRittmanMeadConsulting,aspecialist OraclepartnerdeliveringOracledatawarehousing,businessintelligenceandperformancemanagement solutions.MarkiscochairoftheODTUGBI&DWSIG,iseditorofOracleScene,themagazineoftheUK OracleUserGroup,writesregularlyforOracleMagazine,OracleTechnologyNetworkandtheODTUG TechnicalJournal,andrunsablogathttp://www.rittmanmead.com/blog.Markcanbereachedat mark.rittman@rittmanmead.comifyouwouldliketodiscussthecontentsofthiswhitepaper.

Vous aimerez peut-être aussi