Upload
jaghanavi
View
217
Download
0
Embed Size (px)
Citation preview
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.