performance increasing in obiee.docx

Upload: jaghanavi

Post on 10-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/22/2019 Performance Increasing in OBIEE.docx

    1/12

    Performance Increasing In OBIEE

    While working on OBIEE every one need some tips to increase performance, I searched the netbut not found helpful tips. Hence I thought putting some of the points together that will be

    helpful for you.

    Following are the few points which improve the performance of OBIEE.

    . !lias "ables

    #. $sing !ggregate %avigation

    &. $sing 'ache

    (. 'onnection )ool

    *. "urning Off +og +evel

    . $sing -atabase Hints

    . $sing Where 'lause

    1.) Alias Tables

    !n !lias table /!lias0 is a physical table with the type of !lias. It is a reference to a )hysicaltable, and inherits all its column definitions and some properties from the )hysical table. !lias"ables can be an important part of designing a physical layer

    OBIEE doesn1t support the self23oin, so we can use alias table to implement self23oin in OBIEE.

    The following is a list of the main reasons to create an alias table:

    "o reuse an e4isting table more than once in your physical layer /without having to

    import it several times0 "o set up multiple alias tables, each with different keys, names, or 3oins

    "o help you design sophisticated star or snowflake structures in the business model layer.

    "o create !lias table in )hysical +ayer, right click on "able !%ew Ob3ect 25 !lias, selectsource table if re6uired.

  • 7/22/2019 Performance Increasing in OBIEE.docx

    2/12

    "OTE:In previous version we need to synchroni7e the alias table with the source tables but in

    OBIEE !lias will be automatically synchroni7ed with source table, any change to 8ource "able

    will be immediately reflected in !lias "able.

    #.) $sing Aggregate Tables!ll knows that when we create 8ummary 9eport then data from the fact table got roll up to the

    appropriate level : then showed to the customer. Oracle BI server lets you register aggregate/summary0 tables that contain the pre2computed sums, averages and so on for a fact table, which

    it then uses in preference to rolling up the detail2level fact table if this would speed up a 6uery.

    We will be using aggregate tables in physical layer if you re6uired to create the aggregate tables

    then you can use !ggregate )ersistent Wi7ard.

    We will import aggregate ;act : -imension "able into physical layer..

  • 7/22/2019 Performance Increasing in OBIEE.docx

    3/12

    We have the aggregate tables in physical layer< will use physical -iagram to create foreign key

    relationships between the aggregate fact tables, the aggregate dimension tables

    We1re now at the point where we can map these aggregate tables to the e4isting logical tables in

    the business model layer

    We need to identify the e4isting logical tables in the business model that have columns that

    correspond to the incoming data, and then drag the columns you want to match on over from the

    new, physical table.We will create new +ogical "able 8ource to map +ogical 'olumn to )hysical 'olumns /from

    !ggregate table0.

  • 7/22/2019 Performance Increasing in OBIEE.docx

    4/12

    "he final step is to tell the BI 8erver that this new data source for the units measure, is only valid=onth, 8ales 9ep and "ype +evel.

  • 7/22/2019 Performance Increasing in OBIEE.docx

    5/12

    %ow, when a 6uery comes in against the -ollars measure at the product "ype or 'ustomer 8ales

    rep +evel, the BI 8erver will use the ->O9-E9>!?? table instead of ->O9-E9#.

    %.) $sing &ache:

    &ache in OBIEE:

    'ache is component hat improves performance by transparently storing data such that futurere6uests for that data can be served faster. +ike other application cache is not virtual memory in

    OBIEE. In OBIEE cache will be stored as file on Hard -isk in the form of files.

    "o use the cache we need to enable it, to enable cache we need to edit the %@8'onfig.ini as wellas need to make the tables cacheable.

    Following are the parameters from "'(&onfig.ini that will be se* in enabling the cache:

    E"AB+E

    "o enable the cache set the E%!B+E parameter to AE8.

    ,ATA-(TOA/E-PAT0(

    "his parameter specifies one or more directory paths for where the cached 6uery results data is

    stored and are accessed when a cache hit occurs. "he ma4imum capacity in bytes, kilobytes,megabytes or gigabytes. "he ma4imum capacity for each path is ( ?B. ;or optimal performance,the directories specified should be on high performance storage systems.

    Each directory listed needs to be an e4isting, fully26ualified, writable directory pathname, with

    double 6uotes / 0 surrounding the pathname. 8pecify mapped directories only.$%' path names /CDserver.name.edusomefolderC0 and network mapped drives are allowed only

    if the service runs under a 6ualified user account. "o change the account under which the service

    is running, see the corresponding topic in the Oracle Business Intelligence Enterprise Edition

    -eployment ?uide.8pecify multiple directories with a comma separated list.

    A2-O3(-PE-&A&0E-E"T48pecifies the ma4imum number of rows in a 6uery result set to 6ualify for storage in the 6uery

    cache. +imiting the number of rows is a useful way to avoid using up the cache space with

    runaway 6ueries that return large numbers of rows. If the number of rows a 6uery returns isgreater than the value specified in the =!>9OW8>)E9>'!'HE>E%"9A parameter, the

    6uery is not cached. When set to F, there is no limit to the number of rows per cache entry.

    A2-&A&0E-E"T4-(I5E

    8pecifies the ma4imum si7e for a cache entry. )otential entries that e4ceed this si7e are not

    cached. "he default si7e is =B.

    8pecify ?B for gigabytes, GB for kilobytes, =B for megabytes, and no units for bytes.

    A2-&A&0E-E"TIE(8pecifies the ma4imum number of cache entries allowed in the 6uery cache. +imiting the total

    number of cache entries provides another parameter with which to manage your cache storage."he actual limit of cache entries might vary slightly depending on the number of concurrent

    6ueries.

    OP$+ATE-A//E/ATE-O++$P-0IT(

    8pecifies whether to aggregate data from an earlier cached 6uery result set and create a new

  • 7/22/2019 Performance Increasing in OBIEE.docx

    6/12

    entry in the 6uery cache for rollup cache hits.

    (E-A,6A"&E,-0IT-,ETE&TIO"

    When caching is enabled, each 6uery is evaluated to determine whether it 6ualifies for a cache

    hit. ! cache hit means that the server was able to use cache to answer the 6uery and did not go to

    the database at all. "he Oracle BI 8erver can use 6uery cache to answer 6ueries at the same orlater level of aggregation.

    Following are the parameters se* to ma7e Table &acheable:

    "o make table cacheable we need to edit the table properties.

  • 7/22/2019 Performance Increasing in OBIEE.docx

    7/12

    &acheable

    "o include the table in the Oracle BI 8erver 6uery cache, select this check bo4. When you select

    this check bo4, the 'ache persistence time settings become active.

    &ache never e8pires

    When you select this option, cache entries do not e4pire. "his could be useful when a table will

    be important to a large number of 6ueries users might run. ;or e4ample, if most of your 6ueries

    have a reference to an account ob3ect, keeping it cached indefinitely could actually improveperformance rather than compromise it

    &ache persistence time

    How long table entries should persist in the 6uery cache. "he default value is Infinite, meaningthat cache entries do not automatically e4pire. However, this does not mean that an entry will

    always remain in the cache. Other invalidation techni6ues, such as manual purging, +9$ /+east

    9ecently $sed0 replacement, metadata changes, and use of the cache polling table, result inentries being removed from the cache.

    If a 6uery references multiple physical tables with different persistence times, the cache entry for

    the 6uery will e4ist for the shortest persistence time set for any of the tables referenced in the6uery. "his makes sure that no subse6uent 6uery gets a cache hit from an e4pired cache entry.

    9.) &onnection Pool:

  • 7/22/2019 Performance Increasing in OBIEE.docx

    8/12

    =ost of the times not much thought are given to defining connection pools while developing

    9)-. Improperly defined connection pool would affect the OBIEE performance and user

    e4perience. Here are some of the things to consider while defining connection pool.

    'hange the default ma4imum connections. "he default is F. Based on your system usage

    change the value that is more realistic to your system usage 'reate a separate connection pool for e4ecution of session variables 'reate a separate connection pool for the e4ecution of aggregate persistence wi7ard.

    9emember that you need to give the schema user owner credentials for this connection

    pool as the wi7ard creates and drops tables If need be create a separate connection pool for I)s. Aou can control who gets to use

    the connection pool based on the connection pool permissions.

    .) Trning Off +og +evel:

    "hough 6uery logging has immeasurable development value, do not use this for regular

    production users as the runtime logging cost is e4tremely high. Every log item is flushed to the

    disk, which in turn hurts 6uery response. !lso, note that the 6uery log files are not created on peruser or 6uery basis, there is only one 6uery log per OBIEE server and it would have e4clusive

  • 7/22/2019 Performance Increasing in OBIEE.docx

    9/12

    lock on the log file, which kills concurrent performance. "he log file is %@@uery.log which

    resides in OracleBI -irectory.

    +ogging

    +evel

    Information That Is +ogge*

    +evel F %o logging.+evel +ogs the 8@+ statement issued from the client application.

    +ogs elapsed times for 6uery compilation, 6uery e4ecution, 6uery cache processing,

    and back2end database processing.

    +ogs the 6uery status /success, failure, termination, or timeout0. +ogs the user I-,

    session I-, and re6uest I- for each 6uery.

    +evel # +ogs everything logged in +evel .

    !dditionally, for each 6uery, logs the repository name, business model name,

    presentation catalog /called 8ub3ect !rea in !nswers0 name, 8@+ for the 6ueries

    issued against physical databases, 6ueries issued against the cache, number of rowsreturned from each 6uery against a physical database and from 6ueries issued against

    the cache, and the number of rows returned to the client application.

    +evel & +ogs everything logged in +evel #.

    !dditionally, adds a log entry for the logical 6uery plan, when a 6uery that was

    supposed to seed the cache was not inserted into the cache, when e4isting cache

    entries are purged to make room for the current 6uery, and when the attempt to

    update the e4act match hit detector fails.

    -o not select this level without the assistance of "echnical 8upport.

    +evel ( +ogs everything logged in +evel &.

    !dditionally, logs the 6uery e4ecution plan. -o not select this level without theassistance of "echnical 8upport.

    +evel * +ogs everything logged in +evel (.

    !dditionally, logs intermediate row counts at various points in the e4ecution plan.-o not select this level without the assistance of "echnical 8upport.

    +evel

    and

    9eserved for future use.

  • 7/22/2019 Performance Increasing in OBIEE.docx

    10/12

    ;.) $sing ,atabase 0ints

  • 7/22/2019 Performance Increasing in OBIEE.docx

    11/12

    -atabase hints are instructions placed within a 8@+ statement that tell the database 6uery

    optimi7er the most efficient way to e4ecute the statement. Hints override the optimi7er1s

    e4ecution plan, so you can use hints to improve performance by forcing the optimi7er to use amore efficient plan.

    Hints are database specific. "he Oracle BI 8erver supports hints only for Oracle i, Ji, and Fg

    servers.

    These are the following ob

  • 7/22/2019 Performance Increasing in OBIEE.docx

    12/12

    ;ilter applied in WHE9E 'lause will applied on physical table that will be result in restricted or

    re6uired data, other data which is not necessary, will not be fetched each time when there is6uery on that table.