Sei sulla pagina 1di 9

1. How do you do error handling in Informatica ?

Error handling is very primitive.


Log files can be generated which contain error details and code.
The error code can be checked from troubleshooting guide and corrective action
taken.The log file can be increased by giving appropriate tracing level in the
session properties.
lso we can give that one !ession can stop after 1"# or n number of errors.
#. How do you implement configuration management in Informatica?
There are several methods to do this .!ome of them are $%
Taking a back up of the repository as a binary file and treat it as a configurable
item.
Implement &older 'ersioning utility in Informatica.
(. mapping contains
!ource Table !)Time * !tart)+ear" End)+ear ,
Target Table Time)-im * -ate" -ay" .onth" +ear" /uarter ,
!tored procedure transformation $ procedure has two input parameters I)!tart)+ear"
I)End)+ear and output parameter as 0)-ate" -ay " .onth" +ear" /uarter. If this
session is running" how many rows will be available in the target and why ?.
0nly one row the last date of the End)+ear.
ll the subse1uent rows are overriding the previous rows.

2.3hat is the difference between connected lookup and unconnected lookup.
Connected Look Up is part of .apping -ata flow.
It 4ives multiple output values on a condition.
!upport -efault values
Unconnected Look Up is not a part of .apping -ata flow.It is called
form other transformations e.g E5pression Transformation
It has a return port which returns one value generally a flag.
-oes not !upport -efault values
6. 3hat is the difference between lookup cache and lookup inde5.
Look up 7ache contains Inde5 cache and data cache
Inde5 cache$7ontains columns used in condition
-ata cache$ $7ontains other output columns than the condition columns.
8. -iscuss two approaches for updation of target table in informatica and
how they are different.
9pdate strategy transformation$ 3e can write our own code .It is fle5ible.
:ormal insert ; update ;delete *with proper variation of the update option, $
It can be configured in the !ession properties.
ny change in the row will cause an update.Infle5ible.
<. How do you handle performance issues in Informatica.3here can you
monitor the performance ?
There are several aspects to the performance handling .!ome of them are $%
!ource tuning
Target tuning
=epository tuning
!ession performance tuning
Incremental 7hange identification in source side.
!oftware " hardware*9se multiple servers, and network tuning.
>ulk Loading
9se the appropriate transformation.
To monitor this
!et performance detail criteria
Enable performance monitoring
.onitor session at runtime ?; or 7heck the performance monitor file .
@. 3hat is a suggested method for validating fields ; marking them with
errors?.
0ne of the successful methods is to create an e5pression obAect" which contains
variables.B 0ne variable per port that is to be checked.B !et the error CflagD for that field"
then at the bottom of the e5pression trap each of the error fields.B &rom this port you can
choose to set flags based on each individual error which occurred" or feed them out as a
combination of concatenated field names E to be inserted in to the database as an error
row in an error tracking table.
9. 3here is the cache *lookup" inde5, created and how can you see it.
The cache is created in the server.!ome default memory is allocated for it.
0nce that memory is e5ceeded than these files can be seen in the 7ache directory in
the !ever" not before that.
10. 3hen do you use !/L override in Look up Transformation.
9se !/l override when
you have more than one look up table
To use where condition to reduce records in cache.
11. E5plain how Fconstraint based load orderingF works?.
7onstraint based load ordering in Gower.art ; Gower7enter works like this$ it
controls the order in which the target tables are committed to a relational
database. It is of no use when sending information to a flat file. To construct the
proper constraint order$ links between the T=4ET tables in Informatica need to
be constructed. !imply turning on Fconstraint based load orderingF has no effect
on the operation itself. Informatica does :0T read constraints from the database
when this switch is turned on. gain" to take advantage of this switch" you must
construct primary ; foreign key relationships in the T=4ET T>LE! in the
designer of Informatica. 7reating primary ; foreign key relationships is difficult %
you are only allowed to link a single port *field, to a single table as a primary ;
foreign key.
12. 3hat is the difference between Gower mart and Gower 7entre.
Gower 7enter % has all the functionality .
distributed metadata*repository,.
global repository and can register multiple Informatica servers. 0ne can share
metadata across repositories.
7an connect to 'aried sources like Geoplesoft"!G etc.
Has bridges which can transport meta data from opther tools *like Erwin,
7ost around #HHI 9! J.
Gower .art E !ubset of Gower centre.
0ne repository and can register only one Informatica server.
7annot connect to 'aried sources like Geoplesoft"!G etc
7ost around 6HI 9! J.
13. 3hat is the difference between 0racle !e1uence and Informatica !e1uence and
which is better.
0racle se1uence can be used in a Gl;!1l stored procedure" which in turn can be used
with stored procedure transformation of Informatica.
Informatica se1uence is generated through se1uence generator transformation of
Informatica.
It depends upon the user needs but 0racle se1uence provides greater control.
14. How do you e5ecute a set of !1l commands before running as session and after
completion of session in Informatica.E5plain.
!1l commands can be put in stored procedures.
Two 9nconnected !tored procedure Transformations are created pointing to
respective procedures one pre session "other post session.
3hen the !ession is run these two procedures are e5ecuted before the session and
after the session.
15. How can you utiliKe 70. components in Informatica.
>y writing 7L"'>"'7LL code in E5ternal !tored Grocedure Transformation
16. 3hat is an indicator file and how it can be used.
Indicator file is used for Event >ased !cheduling when you donMt know when the !ource
-ata is availaible.
shell command "script or a batch file creates and send this indicator file to the
directory local to the Informatica !erver.
!erver waits for the indicator file to appear before running the session.
17. 3hat persistent cache? 3hen it should be used.
3hen Lookup cache is saved in Look up Transformation It is called persistent cache.
The first time session runs it is saved on the disk and utiliKed in subse1uent running of
the !ession.
It is used when the look up table is !tatic i.e doesMnt change fre1uently
18. 3hat is Incremental ggregation and how it should be used .
If the source changes only incrementally and you can capture changes" you can configure
the session to process only those changes. This allows the Informatica !erver to update
your target incrementally" rather than forcing it to process the entire source and
recalculate the same calculations each time you run the session. Therefore" only use
incremental aggregation if$
+our mapping includes an aggregate function.
The source changes only incrementally.
+ou can capture incremental changes. +ou might do this by filtering source data by
timestamp.
>efore implementing incremental aggregation" consider the following issues$
3hether it is appropriate for the session
3hat to do before enabling incremental aggregation
3hen to reinitialiKe the aggregate caches
19. -iscuss a strategy *.apping, for loading of fact table
!ources containing .easures*.1".#, are !1"!#
-imensions are -1"-#"-("-2
&act &1
Noin the !ources !1"!# through a !ource /ualifier"
7reate a look uo on each dimension table and five production primary key of the
dimension in the lookup condition.
&etch !urrogate key out of it.
.ap these measures .1".# and !urrogate Ieys to the &act table.
Hi All,
As we are conducting several interviews for !"# $ositions, we are as%ing following
&uestions to 'ost of t(e candidates. #ince )ou $eo$le (ave wor%ed in
*nfor'atica, )ou are t(e +est ,udge to tell 'e t(e co'$le-it) level of &uestions. "lease
also go t(ru t(e answers and add to it w(erever a$$lica+le.
.our feed+ac% will (el$ us to redefine t(e &uestions /+ased on co'$le-it) level0 and
t(ere+) i'$rove t(e $rocess.
110 How 'an) 'a$$ings (ave )ou develo$ed in *nfor'atica2
A10 * guess t(e answer s(ould +e at least 10 /ot(erwise $ro+a+l) t(e $erson (as
not wor%ed on $ro,ect0

120 3(at are t(e different transfor'ations in *nfor'atica 4a$$ings2
A20 5(e answer is 6 10 #ource 1ualifier 20 !-$ression 30 #e&uence generator 40
7ilter 50 8outer 60 Aggregator 70 9$date #trateg)
80 :oo%u$s 90 8an% 100 ;or'ali<er 110 =oiner
130 Have )ou used loo%u$s in )our 'a$$ings2 *f )es t(en 3(at is t(e difference
+etween connected loo%u$ and unconnected loo%u$
A30 >onnected loo%u$ is used in t(e flow of t(e 'a$$ing /i.e. ever) record (as to
$ass t(ru it0, w(ereas unconnected loo%u$ is used
in 'a$$ing conditionall) /i.e. unconnected loo%u$ can +e called li%e a
$rocedure +ased on certain conditions0
140 ?etween >onnected loo%u$ and 9nconnected loo%u$ w(ic( one is re@
usea+le2
A40 9nconnected loo%u$
150 3(at is t(e difference +etween filter and router2 /As% t(is &uestion $rovided
t(is transfor'ations (ave +een used +) t(e candidate in (is 'a$$ings0
A50 7ilter transfor'ation is 'eant for s$ecif)ing onl) one set of conditions
w(ereas router is 'eant for s$ecif)ing 'ulti$le set of conditions
/!-. *n filter )ou can give t(e condition as /A'ount A 1000 w(ic( 'eans t(at
t(e record will $ass t(ru t(e filter onl) w(en t(is is true ot(erwise
it will +e re,ected. 3(ereas in router transfor'ation, 'ulti$le conditions
can +e s$ecified li%e >ondition1 6 /A'ount +etween 100 and 2000,
>ondition2 6 /A'ount +etween 200 and 3000 , >ondition3 6 /A'ount A
3000 .... And eac( of t(is condition will route t(e data to a set
of transfor'ations in t(e flow of 'a$$ing0
160 3(at is t(e use of aggregator /again assu'$tion is t(at t(e) (ave used t(is
transfor'ation in t(ere 'a$$ings0. *n case t(e candidate (as
e-tensivel) used aggregator, t(en as% (i'B(er t(at w(at is C#orted *n$utC
o$tion in aggregator. *n case t(e candidate is aware of t(is
o$tion t(en as% (i'B(er w(at is t(e $re@re&uisite for using t(is condition.
A60 Aggregator is used to aggregate t(e data +ased on certain grou$ +)
conditions. #orted *n$ut o$tion is used to i'$rove t(e $erfor'ance of
t(e 'a$$ing. 5(e reason for t(is is t(at w(en t(is o$tion is set, t(e data is
cac(ed onl) for one set of grou$ed values w(ereas if t(is
o$tion is not set t(en t(e data is cac(ed for all set of grou$ed values +efore
starting to do furt(er data $rocessing. 5(e $re@re&uisite for
using t(is o$tion is t(at t(e data s(ould co'e in sorted 'anner to t(e
aggregator /i.e. t(e data s(ould +e sorted in source &ualifier #1:
using Drder ?) clause0
170 3(at are t(e different $ro$erties w(ic( can +e set at *nfor'atica #ession
level2
A70 5(is answer is a +it tric%) +ecause it can (ave 'ulti$le sets of answer.
An)wa)s, one of t(e answers could +e 6
10 #ource Eata+ase connectivit)
20 5arget Eata+ase connectivit)
30 5arget o$tions li%e a0 *nsert +0 5runcate c0 9$date as u$date d0 9$date
else insert e0 delete
40 >o''it interval /default is 100000
50 #ource +ased co''itB5arget +ased co''it
60 5racing level can +e nor'al or ver+ose
70 #$ecif)ing t(e data+ase connectivit) for loo%u$s
80 5reat rows as *nsertB9$dateBEeleteBEata driven
180 3(at is t(e difference +etween source +ased co''it and target +ased
co''it2
A80 3(en t(e o$tion source +ased co''it is set, t(e data is co''ited to target
+ased on t(e s$ecified nu'+er of records (aving +een
selected fro' source, w(ereas target +ased co''it 'eans t(e data is
co''ited to target +ased on t(e s$ecified nu'+er of records
(aving +een reac(ed t(e target.
190 3(en t(e session is ta%ing lot of ti'e, w(at is one of t(e o+vious ste$ )ou
would li%e to ta%e to find out w(et(er t(e $ro+le' is t(ere
in t(e target data+ase or not2
A90 #et t(e target o$tion to flat file and see w(et(er t(e $erfor'ance i'$roves or
not dra'aticall) /* a' writing dra'aticall) +ecause w(en
t(e target o$tion is set to flat file, so'e $erfor'ance i'$rove'ent will alwa)s
+e t(ere0. *f it i'$roves a lot, it 'eans t(at t(e target
data+ase is +ottlenec% for good $erfor'ance, else it is not.
1100 5ell us 2 'ost co'$le- 'a$$ings w(ic( )ou (ad created, e-$lain t(e
c(allenge faced and t(e solution offered2
A100 ?ased on t(e answer given +) t(e candidate we can ,udge w(et(er t(e
$erson (as wor%ed on a $ro,ect or not.
8un F!-$lain "lanG for all #1: state'ents in develo$'ent, testing, and $roduction.
2. 9se 3H!8! clauses wit( Fe-istsG instead of FinG.
3. *f a #1: state'ent contains a function on a colu'n, even if t(at colu'n (as an inde- it
will not +e used.
4. Dracle $arses 3H!8! clauses in +ac%@to@front /reverse0 order.
5. Avoid using F(intsG in d)na'ic or ad (oc #1:.
!ource !ource /ualifier Lookups on -imensions
#H. Informatica !erver and 7lient are in different machines. +ou run a session from
the server manager by specifying the source and target databases. It displays an error.
+ou are confident that everything is correct. Then why it is displaying the error?
5(e connect strings for source and target data+ases are not configured on
t(e 3or%station
conatining t(e server t(oug( t(e) 'a) +e on t(e client 'Bc.
5(e following transfor'ations in *nfor'atica s(ould +e
avoided to t(e 'a-i'u' $ossi+le e-tent 6
10 =oiners 6 =oiners are t)$icall)
20 needed for (eterogeneous sources /sa) flat files and
data+ase ta+les0. *n suc( cases it is
$refera+le to s$lit t(e 'a$$ing in 2
'a$$ings, t(e first one loading data fro'
flat file to inter'ediate ta+le and t(e ne-t
one using t(is inter'ediate ta+le and t(e
original data+ase ta+le. 5o 'a%e
it 'ore efficient, inde-es s(ould +e used.
20 Aggregators 6 9se data+ase grou$ +) function
instead of aggregator .
30 8outers 6 5(is can +e avoided +ased on functionalit) of
'a$$ings.
40 7ilters 6 5(e filter condition can so'eti'es +e transferred to
#ource 1ualifier #1: de$ending u$on
functionalit)
of 'a$$ing.
50 :oo%u$s 6 3(enever onl) one $ort is t(e out$ut
!1
!#
&act
Table
of an) loo%u$ t(en it s(ould +e 'ade
unconnected
loo%u$ and t(en called fro' t(e transfor'ation
/t)$icall) e-$ression0 conditionall). *f suc(
loo%u$s
are of reusa+le nature, t(en t(e sa'e o+,ect
can +e
used in 'an) 'a$$ingsB'a$$lets and t(us t(e
'aintenance of suc( loo%u$s +eco'es 'uc(
easier
/t(is wa) we ac(ieve +etter $erfor'ance $lus
+etter
develo$'ent environ'ent0 .
60 !-$lain "lan 6 !ver) #1: generated in t(e source &ualifier
s(ould go t(roug( t(e e-$lain $lan utilit)
$rovided
+) Dracle to ensure t(e 'ost efficient
e-ecution $lan
/or at least to ensure t(at inde-es are +eing used
w(erever re&uired and in case inde-es donHt
e-ist
t(en t(e sa'e needs to +e created0
70 #ession "ro$erties 6 5(ere are lots of session $ro$erties w(ic(
can +e 'odified to ensure +etter read and write
t(roug($ut.
10 >lusters 6 5(e usage of clusters i'$roves t(e $erfor'ance +ecause t(e
related set of data is %e$t toget(er.
20 "artitioning 6 "artitioning of ta+les is %nown to i'$rove t(e $erfor'ance.
30 "arallelis' 6 "arallel 1uer) o$tion w(en set i'$roves t(e $erfor'ance.
40 E)na'ic 5uning 6 5(e data+ase can +e tuned d)na'icall) fro' ti'e to ti'e
+) t(e E?AHs de$ending u$on t(e data ware(ouse
status as of an) $oint in ti'e.
10 *nde-es 6 *ntroduction of additional inde-es w(erever a$$lica+le can i'$rove
t(e $erfor'ance of re$orts.
20 Aggregate 5a+les 6 At ti'es t(e re$orts are +ased on fact ta+les w(ic(
contains (uge volu'e of data. *f t(e grou$ +)
o$erations
li%e su','a-,avg etc. are co'$uted on t(is set of
records
it would +e ti'e consu'ing. *ntroduction of aggregate
ta+le in t(e data 'odel would +e of i''ense use
+ecause
t(en t(e w(ole co'$utation logic would +e s(ifted to
+ac%@end and t(us t(e re$orts +ased on t(is
aggregate ta+le
would +e faster. *n t(e front end universe, we can
$rovide
t(e drill down facilit) 'oving down fro' aggregate
ta+le to t(e original fact ta+le.
10 7unctionalit) 6 5(e functionalit) of t(e data 'odel can +e c(ec%ed to
ensure t(at it serves t(e w(ole re$orting re&uire'ent
in efficient wa).
20 lo+al Ei'ensions 6 5(e glo+al di'ensions s(ould +e used w(erever
$ossi+le. *n case t(e data co'ing fro' source doesnHt
confor' wit( t(at $resent in t(e glo+al di'ensions
/sa)
for e-a'$le, different codes referring to t(e sa'e
countr)0,
t(en t(ere s(ould +e translation ta+les to ta%e care of it.

Potrebbero piacerti anche