Você está na página 1de 83

Informatica Questionnaire 1. What are the components of Informatica? And what is the purpose of each?

Ans: Informatica Designer, Server Manager & Repository Manager. Designer for Creating Source & Target definitions, Creating Mapplets and Mappings etc. Server Manager for creating sessions & atc!es, Sc!eduling t!e sessions & atc!es, Monitoring t!e triggered sessions and atc!es, giving post and pre session commands, creating data ase connections to various instances etc. Repository Manage for Creating and Adding repositories, Creating & editing folders "it!in a repository, #sta lis!ing users, groups, privileges & folder permissions, Copy, delete, ac$up a repository, %ie"ing t!e !istory of sessions, %ie"ing t!e loc$s on various o &ects and removing t!ose loc$s etc. 2. What is a repository? And how to add it in an informatica client?

Ans: It's a location "!ere all t!e mappings and sessions related information is stored. (asically it's a data ase "!ere t!e metadata resides. )e can add a repository t!roug! t!e Repository manager. 3. Name at least 5 different types of transformations used in mapping design and state the use of each.

Ans: Source *ualifier + Source *ualifier represents all data ,ueries from t!e source, #-pression + #-pression performs simple calculations, .ilter + .ilter serves as a conditional filter, /oo$up + /oo$up loo$s up values and passes to ot!er o &ects, Aggregator 0 Aggregator performs aggregate calculations. 4. ow can a transformation !e made reusa!le?

Ans: In t!e edit properties of any transformation t!ere is a c!ec$ o- to ma$e it reusa le, y c!ec$ing t!at it ecomes reusa le. 1ou can even create reusa le transformations in Transformation developer. 5. ow are the sources and targets definitions imported in informatica designer? definition for flat files? ow to create "arget

Ans: )!en you are in source analy2er t!ere is a option in main menu to Import t!e source from Data ase, .lat .ile, Co ol .ile & 3M/ file, y selecting any one of t!em you can import a source definition. )!en you are in )are!ouse Designer t!ere is an option in main menu to import t!e target from Data ase, 3M/ from .ile and 3M/ from sources you can select any one of t!ese. T!ere is no "ay to import target definition as file in Informatica designer. So "!ile creating t!e target definition for a file in t!e "are!ouse designer it is created considering it as a ta le, and t!en in t!e session properties of t!at mapping it is specified as file. #. $%plain what is s&l o'erride for a source ta!le in a mapping.

Ans: T!e Source *ualifier provides t!e S*/ *uery option to override t!e default ,uery. 1ou can enter any S*/ statement supported y your source data ase. 1ou mig!t enter your o"n S#/#CT statement, or !ave t!e data ase perform aggregate calculations, or call a stored procedure or stored function to read t!e data and perform some tas$s. (. What is loo)up o'erride?

Ans: T!is feature is similar to entering a custom ,uery in a Source *ualifier transformation. )!en entering a /oo$up S*/ 4verride, you can enter t!e entire override, or generate and edit t!e default S*/ statement. T!e loo$up ,uery override can include )5#R# clause. *. What are mapplets? ow is it different from a +eusa!le "ransformation?

Ans: A mapplet is a reusa le o &ect t!at represents a set of transformations. It allo"s you to reuse transformation logic and can contain as many transformations as you need. 1ou create mapplets in t!e Mapplet Designer. Its different t!an a reusa le transformation as it may contain a set of transformations, "!ile a reusa le transformation is a single one. ,. ow to use an oracle se&uence generator in a mapping?

Ans: )e !ave to "rite a stored procedure, "!ic! can ta$e t!e se,uence name as input and dynamically generates a ne-tval from t!at se,uence. T!en in t!e mapping "e can use t!at stored procedure t!roug! a procedure transformation. 1-. What is a session and how to create it? Ans: A session is a set of instructions t!at tells t!e Informatica Server !o" and "!en to move data from sources to targets. 1ou create and maintain sessions in t!e Server Manager. 11. ow to create the source and target data!ase connections in ser'er manager?

Ans: In t!e main menu of server manager t!ere is menu 7Server Configuration8, in t!at t!ere is t!e menu 7Data ase connections8. .rom !ere you can create t!e Source and Target data ase connections. 12. Where are the source flat files )ept !efore running the session? Ans: T!e source flat files can e $ept in some folder on t!e Informatica server or any ot!er mac!ine, "!ic! is in its domain. 13. What are the oracle ./0 commands possi!le through an update strategy? Ans: dd9insert, dd9update, dd9delete & dd9re&ect. 14. ow to update or delete the rows in a target1 which do not ha'e )ey fields?

Ans: To :pdate a ta le t!at does not !ave any ;eys "e can do a S*/ 4verride of t!e Target Transformation y specifying t!e )5#R# conditions e-plicitly. Delete cannot e done t!is "ay. In t!is case you !ave to specifically mention t!e ;ey for Target ta le definition on t!e Target transformation in t!e )are!ouse Designer and delete t!e ro" using t!e :pdate Strategy transformation. 15. What is option !y which we can run all the sessions in a !atch simultaneously? Ans: In t!e atc! edit o- t!ere is an option called concurrent. (y c!ec$ing t!at all t!e sessions in t!at (atc! "ill run concurrently. 1#. Informatica settings are a'aila!le in which file? Ans: Informatica settings are availa le in a file pmdesign.ini in )indo"s folder. 1(. ow can we 2oin the records from two heterogeneous sources in a mapping? Ans: (y using a &oiner. 1*. .ifference !etween 3onnected 4 5nconnected loo)6up. Ans: An unconnected /oo$up transformation e-ists separate from t!e pipeline in t!e mapping. 1ou "rite an e-pression using t!e :/;< reference ,ualifier to call t!e loo$up "it!in anot!er transformation. )!ile t!e connected loo$up forms a part of t!e "!ole flo" of mapping. 1,. .ifference !etween 0oo)up "ransformation 4 5nconnected 7tored 8rocedure "ransformation 9 Which one is faster ? 2-. 3ompare +outer :s ;ilter 4 7ource <ualifier :s =oiner. Ans: A Router transformation !as input ports and output ports. Input ports reside in t!e input group, and output ports reside in t!e output groups. 5ere you can test data ased on one or more group filter conditions. (ut in filter you can filter data ased on one or more conditions efore "riting it to targets. A source ,ualifier can &oin data coming from same source data ase. )!ile a &oiner is used to com ine data from !eterogeneous sources. It can even &oin data from t"o ta les from same data ase. A source ,ualifier can &oin more t!an t"o sources. (ut a &oiner can &oin only t"o sources. 21. ow to =oin 2 ta!les connected to a 7ource <ualifier w>o ha'ing any relationship defined ?

Ans: (y "riting an s,l override. 22. In a mapping there are 2 targets to load header and detail1 how to ensure that header loads first then detail ta!le.

Ans: Constraint (ased /oading >if no relations!ip at oracle level? 4R Target /oad <lan >if only 6 source ,ualifier for ot! ta les? 4R select first t!e !eader target ta le and t!en t!e detail ta le "!ile dragging t!em in mapping. 23. A mapping 2ust ta)e 1- seconds to run1 it ta)es a source file and insert into target1 !ut !efore that there is a 7tored 8rocedure transformation which ta)es around 5 minutes to run and gi'es output ?@A or ?NA. If @ then continue feed or else stop the feed. B intC since 78 transformation ta)es more time compared to the mapping1 it shouldnAt run row wiseD. Ans: T!ere is an option to run t!e stored procedure efore starting to load t!e ro"s. .ata warehousing concepts 1.What is difference !etween 'iew and materialiEed 'iew? %ie"s contains ,uery "!enever e-ecute vie"s it !as read from ase ta le )!ere as M vie"s loading or replicated ta$es place only once, "!ic! gives you etter ,uery performance Refres! m vie"s 6.on commit and =. on demand >Complete, never, fast, force? 2.What is !itmap inde% why itAs used for .W ? A itmap for eac! $ey value replaces a list of ro"ids. (itmap inde- more efficient for data "are!ousing ecause lo" cardinality, lo" updates, very efficient for "!ere class 3.What is star schema? And what is snowfla)e schema? T!e center of t!e star consists of a large fact ta le and t!e points of t!e star are t!e dimension ta les. Sno"fla$e sc!emas normali2ed dimension ta les to eliminate redundancy. T!at is, t!e Dimension data !as een grouped into multiple ta les instead of one large ta le. Star sc!ema contains demorali2ed dimension ta les and fact ta le, eac! primary $ey values in dimension ta le associated "it! foreign $ey of fact ta les. 5ere a fact ta le contains all usiness measures >normally numeric data? and foreign $ey values, and dimension ta les !as details a out t!e su &ect area. Sno"fla$e sc!ema asically a normali2ed dimension ta les to reduce redundancy in t!e dimension ta les 4.Why need staging area data!ase for .W ? Staging area needs to clean operational data efore loading into data "are!ouse. Cleaning in t!e sense your merging data "!ic! comes from different source 5.What are the steps to create a data!ase in manually? create os service and create init file and start data command. #..ifference !etween F0"8 and .W ? 4/T< system is asically application orientation >eg, purc!ase order it is functionality of an application? )!ere as in D)5 concern is su &ect orient >su &ect in t!e sense custorer, product, item, time? F0"8 @ Application 4riented @ :sed to run usiness @ Detailed data @ Current up to date @ Isolated Data @ Repetitive access @ Clerical :ser @ <erformance Sensitive @ .e" Records accessed at a time >tens? @ ReadA:pdate Access @ Bo data redundancy @ Data ase Si2e 6CCM(06CC D( .W @ Su &ect 4riented @ :sed to analy2e usiness @ Summari2ed and refined ase no mount stage t!en give create data ase

@ @ @ @ @ @ @ @ @

Snaps!ot data Integrated Data Ad0!oc access ;no"ledge :ser <erformance rela-ed /arge volumes accessed at a time>millions? Mostly Read >(atc! :pdate? Redundancy present Data ase Si2e 6CC D( 0 fe" tera ytes

(.Why need data warehouse? A single, complete and consistent store of data o tained from a variety of different sources made availa le to end users in a "!at t!ey can understand and use in a usiness conte-t. A process of transforming data into information and ma$ing it availa le to users in a timely enoug! manner to ma$e a difference Information Tec!ni,ue for assem ling and managing data from various sources for t!e purpose of ans"ering usiness ,uestions. T!us ma$ing decisions t!at "ere not previous possi le *.What is difference !etween data mart and data warehouse? A data mart designed for a particular line of usiness, suc! as sales, mar$eting, or finance. )!ere as data "are!ouse is enterprise0"ideAorgani2ational T!e data flo" of data "are!ouse depending on t!e approac! ,.What is the significance of surrogate )ey? Surrogate $ey used in slo"ly c!anging dimension ta le to trac$ old and ne" values and it's derived from primary $ey. 1-.What is slowly changing dimension. What )ind of scd used in your pro2ect? Dimension attri ute values may c!ange constantly over t!e time. >Say for e-ample customer dimension !as customer9id,name, and address? customer address may c!ange over time. 5o" "ill you !andle t!is situationF T!ere are E types, one is "e can over"rite t!e e-isting record, second one is create additional ne" record at t!e time of c!ange "it! t!e ne" attri ute values. T!ird one is create ne" field to $eep ne" values in t!e original dimension ta le. 11.What is difference !etween primary )ey and uni&ue )ey constraints? <rimary $ey maintains uni,ueness and not null values )!ere as uni,ue constrains maintain uni,ue values and null values 12.What are the types of inde%? And is the type of inde% used in your pro2ect? (itmap inde-, (0tree inde-, .unction ased inde-, reverse $ey and composite inde-. )e used (itmap inde- in our pro&ect for etter performance. 13. ow is your .W data modelingB.etails a!out star schemaD?

14.A ta!le ha'e 3 partitions !ut I want to update in 3rd partitions how will you do? Specify partition name in t!e update statement. Say for e-ample :pdate employee partition>name? a, set a.empnoG6C "!ere enameG'As!o$' 15.When you gi'e an update statement how memory flow will happen and how oracles allocate memory for that? 4racle first c!ec$s in S!ared s,l area "!et!er same S,l statement is availa le if it is t!ere it uses. 4t!er"ise allocate memory in s!ared s,l area and t!en create run time memory in <rivate s,l area to create parse tree and e-ecution plan. 4nce it completed stored in t!e s!ared s,l area "!erein previously allocated memory 1#.Write a &uery to find out 5th ma% salary? In Fracle1 .G21 7<0 7er'er

Select >list t!e columns you "ant? from >select salary from employee order y salary? )!ere ro"numIJ 1(.When you gi'e an update statement how undo>roll!ac) segment will wor)>what are the steps? 4racle $eep old values in undo segment and ne" values in redo entries. )!en you say roll ac$ it replace old values from undo segment. )!en you say commit erase t!e undo segment values and $eep ne" vales in permanent. Informatica Administration 1*.What is ."/? ow will you configure it?

DTM transform data received from reader uffer and its moves transformation to transformation on ro" y ro" asis and it uses transformation cac!es "!en necessary. 1,.@ou transfer 1----- rows to target !ut some rows get discard how will you trace them? And where its get loaded? Re&ected records are loaded into ad files. It !as record indicator and column indicator. Record indicator identified y >C0insert,60update,=0delete,E0re&ect? and column indicator identified y >D0valid,40 overflo",B0null,T0truncated?. Bormally data may get re&ected in different reason due to transformation logic 2-.What are the different uses of a repository manager? Repository manager used to create repository "!ic! contains metadata t!e informatica uses to transform data from source to target. And also it use to create informatica user's and folders and copy, ac$up and restore t!e repository 21. ow do you ta)e care of security using a repository manager? :sing repository privileges, folder permission and loc$ing. Repository privileges>Session operator, :se designer, (ro"se repository, Create session and atc!es, Administer repository, administer server, super user? .older permission>o"ner, groups, users? /oc$ing>Read, )rite, #-ecute, .etc!, Save?

22.What is a folder? .older contains repository o &ects suc! as sources, targets, mappings, transformation "!ic! are !elps logically organi2e our data "are!ouse. 23.3an you create a folder within designer? Bot possi le 24.What are shortcuts? Where it can !e used? What are the ad'antages? T!ere are = s!ortcuts>/ocal and glo al? /ocal used in local repository and glo al used in glo al repository. T!e advantage is reuse an o &ect "it!out creating multiple o &ects. Say for e-ample a source definition "ant to use in 6C mappings in 6C different folder "it!out creating 6C multiple source you create 6C s!otcuts. 25. ow do you increase the performance of mappings? :se single pass read>use one source ,ualifier instead of multiple S* for same ta le? Minimi2e data type conversion >Integer to Decimal again ac$ to Integer? 4ptimi2e transformation>"!en you use /oo$up, aggregator, filter, ran$ and &oiner? :se cac!es for loo$up Aggregator use presorted port, increase cac!e si2e, minimi2e inputAout port as muc! as possi le

:se .ilter "!erever possi le to avoid unnecessary data flo" 2#.$%plain Informatica Architecture? Informatica consist of client and server. Client tools suc! as Repository manager, Designer, Server manager. Repository data ase contains metadata it read y informatica server used read data from source, transforming and loading into target. 2(. ow will you do sessions partitions? It's not availa le in po"er part H.K "ransformation 2*.What are the constants used in update strategy? DD9IBS#RT, DD9:<DAT#, DD9D#/#T#, DD9R#L#CT 2,.What is difference !etween connected and unconnected loo)up transformation? Connected loo$up return multiple values to ot!er transformation )!ere as unconnected loo$up return one values If loo$up condition matc!es Connected loo$up return user defined default values )!ere as unconnected loo$up return null values Connected supports dynamic cac!es "!ere as unconnected supports static 3-.What you will do in session le'el for update strategy transformation? In session property s!eet set Treat ro"s as 7Data Driven8 31.What are the port a'aila!le for update strategy 1 se&uence generator1 0oo)up1 stored procedure transformation? Transformations :pdate strategy Se,uence Denerator /oo$up Stored <rocedure <ort Input, 4utput 4utput only Input, 4utput, /oo$up, Return Input, 4utput

32.Why did you used connected stored procedure why donAt use unconnected stored procedure? 33.What is acti'e and passi'e transformations? Active transformation c!ange t!e no. of records "!en passing to targe>e-ample filter? "!ere as passive transformation "ill not c!ange t!e transformation>e-ample e-pression? 34.What are the tracing le'el? Bormal + It contains only session initiali2ation details and transformation details no. records re&ected, applied Terse 0 4nly initiali2ation details "ill e t!ere %er ose Initiali2ation + Bormal setting information plus detailed information a out t!e transformation. %er ose data + %er ose init. Settings and all information a out t!e session 35. ow will you ma)e records in groups? :sing group y port in aggregator 3#.Need to store 'alue li)e 145 into target when you use aggregator1 how will you do that? :se Round>? function 3(. ow will you mo'e mappings from de'elopment to production data!ase? Copy all t!e mapping from development repository and paste production repository "!ile paste it "ill promt "!et!er you "ant replaceArename. If say replace informatica replace all t!e source ta les "it! repository data ase. 3*.What is difference !etween aggregator and e%pression?

Aggregator is active transformation and e-pression is passive transformation Aggregator transformation used to perform aggregate calculation on group of records really )!ere as e-pression used perform calculation "it! single record 3,.3an you use mapping without source &ualifier? Bot possi le, If source RD(MSAD(MSA.lat file use S* or use normali2er if t!e source co ol feed 4-.When do you use a normaliEer? Bormali2ed can e used in Relational to denormili2e data. 41.What are stored procedure transformations. 8urpose of sp transformation. using your pro2ect? ow did you go a!out

Connected and unconnected stored procudure. :nconnected stored procedure used for data ase level activities suc! as pre and post load Connected stored procedure used in informatica level for e-ample passing one parameter as input and capturing return value from t!e stored procedure. Bormal 0 ro" "ise c!ec$ <re0/oad Source 0 >Capture source incremental data for incremental aggregation? <ost0/oad Source 0 >Delete Temporary ta les? <re0/oad Target 0 >C!ec$ dis$ space availa le? <ost0/oad Target + >Drop and recreate inde-? 42.What is loo)up and difference !etween types of loo)up. What e%actly happens when a loo)up is cached. ow does a dynamic loo)up cache wor). /oo$up transformation used for c!ec$ values in t!e source and target ta les>primary $ey values?. T!ere are = type connected and unconnected transformation Connected loo$up returns multiple values if condition true )!ere as unconnected return a single values t!roug! return port. Connected loo$up return default user value if t!e condition does not mac! )!ere as unconnected return null values /oo$up cac!e does: Read t!e sourceAtarget ta le and stored in t!e loo$up cac!e 43.What is a 2oiner transformation? :sed for !eterogeneous sources>A relational source and a flat file? Type of &oins: Assume = ta les !as values>Master 0 6, =, E and Detail 0 6, E, H? Bormal>If t!e condition mac! ot! master and detail ta les t!en t!e records "ill e displaced. Result set 6, E? Master 4uter>It ta$es all t!e ro"s from detail ta le and mac!ing ro"s from master ta le. Result set 6, E, H? Detail 4uter>It ta$es all t!e values from master source and mac!ing values from detail ta le. Result set 6, =, E? .ull 4uter>It ta$es all values from ot! ta les? 44.What is aggregator transformation how will you use in your pro2ect? :sed perform aggregate calculation on group of records and "e can use conditional clause to filter data 45.3an you use one mapping to populate two ta!les in different schemas? 1es "e can use 4#.$%plain loo)up cache1 'arious caches? /oo$up transformation used for c!ec$ values in t!e source and target ta les>primary $ey values?. :arious 3achesC 8ersistent cache >"e can save t!e loo$up cac!e files and reuse t!em t!e ne-t time process t!e loo$up transformation?

+e6cache from data!ase >If t!e persistent cac!e not sync!roni2ed "it! loo$up ta le you can configure t!e loo$up transformation to re uild t!e loo$up cac!e? 7tatic cache >)!en t!e loo$up condition is true, Informatica server return a value from loo$up cac!e and it's does not update t!e cac!e "!ile it processes t!e loo$up transformation? .ynamic cache >Informatica server dynamically inserts ne" ro"s or update e-isting ro"s in t!e cac!e and t!e target. Suppose if "e "ant loo$up a target ta le "e can use dynamic cac!e? 7hared cache >"e can s!are loo$up transformation loo$up in a mapping can s!are single loo$up cac!e? 4(.Which path will the cache !e created? :ser specified directory. If "e say c:N all t!e cac!e files created in t!is directory. 4*.Where do you specify all the parameters for loo)up caches? /oo$up property s!eetAta . 4,. ow do you remo'e the cache files after the transformation? After session complete, DTM remove cac!e memory and deletes cac!es files. In case using persistent cac!e and Incremental aggregation t!en cac!es files "ill e saved. 5-.What is the use of aggregator transformation? To perform Aggregate calculation :se conditional clause to filter data in t!e e-pression Sum>commission, Commission O=CCC? :se non0aggregate function iif >ma->,uantity? O C, Ma->,uantitiy?, C?? 51.What are the contents of inde% and cache files? Inde- cac!es files !old uni,ue group values as determined y group y port in t!e transformation. Data cac!es files !old ro" data until it performs necessary calculation. 52. ow do you call a store procedure within a transformation? In t!e e-pression transformation create ne" out port in t!e e-pression "rite :sp.stored procedure name>arguments? 53.Is there any performance issue in connected 4 unconnected loo)up? If yes1 1es :nconnected loo$up muc! more faster t!an connected loo$up "!y ecause in unconnected not connected to any ot!er transformation "e are calling it from ot!er transformation so it minimi2e loo$up cac!e value )!ere as connected transformation connected to ot!er transformation so it $eeps values in t!e loo$up cac!e. 54.What is dynamic loo)up? )!en "e use target loo$up ta le, Informatica server dynamically insert ne" values or it updates if t!e values e-ist and passes to target ta le. 55. ow Informatica read data if source ha'e one relational and flat file? :se &oiner transformation after source ,ualifier efore ot!er transformation. 5#. ow you will load uni&ue record into target flat file from source flat files has duplicate data? T!ere are = "e can do t!is eit!er "e can use Ran$ transformation or oracle e-ternal ta le In ran$ transformation using group y port >Droup t!e records? and t!en set no. of ran$ 6. Ran$ transformation return one value from t!e group. T!at t!e values "ill e a uni,ue one. ow? et"een multiple transformations in a mapping. =

5(.3an you use flat file for repository? Bo, )e cant 5*.3an you use flat file for loo)up ta!le? Bo, )e cant 5,.Without 7ource <ualifier and 2oiner how will you 2oin ta!les? In session level "e !ave option user defined &oin. )!ere "e can "rite &oin condition. #-.5pdate strategy set ..H5pdate !ut in session le'el ha'e insert. What will happens? Insert ta$e place. (ecause t!is option override t!e mapping level option 7essions and !atches #1.What are the commit inter'als? 7ource !ased commit >(ased on t!e no. of active source records>Source ,ualifier? reads. Commit interval set 6CCCC ro"s and source ,ualifier reads 6CCCC ut due to transformation logic ECCC ro"s get re&ected "!en KCCC reac! target commit "ill fire, so "riter uffer does not ro"s !eld t!e uffer? "arget !ased commit >(ased on t!e ro"s in t!e uffer and commit interval. Target ased commit set 6CCCC ut "riter uffer fills every KJCC, ne-t time uffer fills 6JCCC no" commit statement "ill fire t!en ==JCC li$e go on.? #2.When we use router transformation? )!en "e "ant perform multiple condition to filter out data t!en "e go for router. >Say for e-ample source records JC filter condition mac! 6C records remaining HC records get filter out ut still "e "ant perform fe" more filter condition to filter remaining HC records.? #3. ow did you schedule sessions in your pro2ect? Run once >set = parameter date and time "!en session s!ould start? Run #very >Informatica server run session at regular interval as "e configured, parameter Days, !our, minutes, end on, end after, forever? Customi2ed repeat >Repeat every = days, daily fre,uency !r, min, every "ee$, every mont!? Run only on demand>Manually run? t!is not session sc!eduling. #4. ow do you use the pre6sessions and post6sessions in sessions wiEard1 what for they used? 8ost6session used for email option "!en t!e session successAfailure send email. .or t!at "e s!ould configure Step6. S!ould !ave a informatica startup account and create outloo$ profile for t!at user Step=. Configure Microsoft e-c!ange server in mail o- applet>control panel? StepE. Configure informatica server miscellaneous ta !ave one option called MS e-c!ange profile "!ere "e !ave specify t!e outloo$ profile name. 8re6session used for even sc!eduling >Say for e-ample "e don't $no" "!et!er source file availa le or not in particular directory. .or t!at "e "rite one D4S command to move file directory to destination and set event ased sc!eduling option in session property s!eet Indicator file "ait for?. #5.What are different types of !atches. What are the ad'antages and dis6ad'antages of a concurrent !atch? Se,uential>Run t!e sessions one y one? Concurrent >Run t!e sessions simultaneously? Ad'antage of concurrent !atch: It's ta$es informatica server resource and reduce time it ta$es run session separately. :se t!is feature "!en "e !ave multiple sources t!at process large amount of data in one session. Split sessions and put into one concurrent atc!es to complete ,uic$ly.

.isad'antage Re,uire more s!ared memory ot!er"ise session may get failed ##. ow do you handle a session if some of the records fail. ow do you stop the session in case of errors. 3an it !e achie'ed in mapping le'el or session le'el? It can e ac!ieved in session level only. In session property s!eet, log files ta one option is t!e error !andling Stop on 000000 errors. (ased on t!e error "e set informatica server stop t!e session. #(. ow you do impro'e the performance of session. If "e use Aggregator transformation use sorted port, Increase aggregate cac!e si2e, :se filter aggregation so t!at it minimi2e unnecessary aggregation. /oo$up transformation use loo$up cac!es Increase DTM s!ared memory allocation #liminating transformation errors using lo"er tracing level>Say for e-ample a mapping !as JC transformation "!en transformation error occur informatica server !as to "rite in session log file it affect session performance? #*.$%plain incremental aggregation. Will that increase the performance? ow? efore

Incremental aggregation capture "!atever c!anges made in source used for aggregate calculation in a session, rat!er t!an processing t!e entire source and recalculating t!e same calculation eac! time session run. T!erefore it improve session performance. Fnly use incremental aggregation following situationC Mapping !ave aggregate calculation Source ta le c!anges incrementally .iltering source incremental data y time stamp Gefore Aggregation ha'e to do following stepsC :se filter transformation to remove pre0e-isting records +einitialiEe aggregate cache "!en source ta le completely c!anges for e-ample incremental c!anges !apping daily and complete c!anges !appenings mont!ly once. So "!en t!e source ta le completely c!ange "e !ave reinitiali2e t!e aggregate cac!e and truncate target ta le use ne" source ta le. C!oose Reinitiali2e cac!e in t!e aggregation e!avior in transformation ta #,.3oncurrent !atches ha'e 3 sessions and set each session run if pre'ious complete !ut 2nd fail then what will happen the !atch? (atc! "ill fail Ieneral 8ro2ect (-. ow many mapping1 dimension ta!les1 ;act ta!les and any comple% mapping you did? And what is your data!ase siEe1 how fre&uently loading to .W ? I did == Mapping, H dimension ta le and one fact ta le. 4ne comple- mapping I did for slo"ly c!anging dimension ta le. Data ase si2e is QD(. /oading data every day (1. What are the different transformations used in your pro2ect? Aggregator, #-pression, .ilter, Se,uence generator, :pdate Strategy, /oo$up, Stored <rocedure, Loiner, Ran$, Source *ualifier. (2. ow did you populate the dimensions ta!les?

(3. What are the sources you wor)ed on? 4racle (4. ow many mappings ha'e you de'eloped on your whole dwh pro2ect?

HJ mappings

6C

(5. What is F7 used your pro2ect? )indo"s BT (#. $%plain your pro2ect B;act ta!le1 dimensions1 and data!ase siEeD .act ta le contains all usiness measures >numeric values? and foreign $ey values, Dimension ta le contains details a out su &ect area li$e customer, product ((.What is difference !etween Informatica power mart and power center? :sing po"er center "e can create glo al repository <o"er mart used to create local repository Dlo al repository configure multiple server to alance session load /ocal repository configure only single server (*. a'e you done any comple% mapping? Developed one mapping to !andle slo"ly c!anging dimension ta le. (,.$%plain details a!out ."/? 4nce "e session start, load manager start DTM and it allocate session s!ared memory and contains reader and "riter. Reader "ill read source data from source ,ualifier using S*/ statement and move data to DTM t!en DTM transform data to transformation to transformation and ro" y ro" asis finally move data to "riter t!en "riter "rite data into target using S*/ statement. I6;le% Inter'iew B14th /ay 2--3D *-.What are the )ey you used other than primary )ey and foreign )ey? :sed surrogate $ey to maintain uni,ueness to overcome duplicate value in t!e primary $ey. *1..ata flow of your .ata warehouseBArchitectureD D)5 is a asic arc!itecture >4/T< to Data "are!ouse from D)5 4/A< analytical and report uilding. *2..ifference !etween 8ower part and power center? :sing po"er center "e can create glo al repository <o"er mart used to create local repository Dlo al repository configure multiple server to alance session load /ocal repository configure only single server *3.What are the !atches and itAs details? Se,uential>Run t!e sessions one y one? Concurrent >Run t!e sessions simultaneously? Ad'antage of concurrent !atch: It's ta$es informatica server resource and reduce time it ta$es run session separately. :se t!is feature "!en "e !ave multiple sources t!at process large amount of data in one session. Split sessions and put into one concurrent atc!es to complete ,uic$ly. .isad'antage Re,uire more s!ared memory ot!er"ise session may get failed *4.What is e%ternal ta!le in oracle. ow oracle read the flat file

:sed for read flat file. 4racle internally "rite S*/ loader script "it! control file. *5.What are the inde% you used? Gitmap 2oin inde%?

66

(itmap inde- used in data "are!ouse environment to increase ,uery response time, since D)5 !as lo" cardinality, lo" updates, very efficient for "!ere clause. (itmap &oin inde- used to &oin dimension and fact ta le instead reading = different inde-. *#.What are the partitions in *i>,i? Where you will use hash partition? In oraclePi t!ere are E partition >Range, 5as!, Composite? In 4racleQi /ist partition is additional one +ange >:sed for Dates values for e-ample in D)5 > Date values are *uarter 6, *uarter =, *uarter E, *uaterH? ash >:sed for unpredicta le values say for e-ample "e cant a le predict "!ic! value to allocate "!ic! partition t!en "e go for !as! partition. If "e set partition J for a column oracle allocate values into J partition accordingly?. 0ist >:sed for literal values say for e-ample a country !ave =H states create =H partition for =H states eac!? 3omposite >Com ination of range and !as!? ,1.What is main difference mapplets and mapping? Reuse t!e transformation in several mappings, "!ere as mapping not li$e t!at. If any c!anges made in mapplets it automatically in!erited in all ot!er instance mapplets. ,2. What is difference !etween the source &ualifier filter and filter transformation? Source ,ualifier filter only used for relation source "!ere as .ilter used any $ind of source. Source ,ualifier filter data "!ile reading "!ere as filter efore loading into target. ,3. What is the ma%imum no. of return 'alue when we use unconnected transformation? 4nly one. ,4. What are the en'ironments in which informatica ser'er can run on? Informatica client runs on )indo"s QJ A QP A BT, :ni- Solaris, :ni- AI3>I(M? Informatica Server runs on )indo"s BT A :niMinimum 5ard"are re,uirements Informatica Client 5ard dis$ HCM(, RAM MHM( Informatica Server 5ard Dis$ MCM(, RAM MHM( ,5. 3an unconnected loo)up do e'erything a connected loo)up transformation can do? Bo, )e cant call connected loo$up in ot!er transformation. Rest of t!ings it's possi le ,#. In 5.% can we copy part of mapping and paste it in other mapping? I t!in$ its possi le ,(. What option do you select for a sessions in !atch1 so that the sessions run one after the other? )e !ave select an option called 7Run if previous completed8 ,*. ow do you really )now that paging to dis) is happening while you are using a loo)up transformation? Assume you ha'e access to ser'er? )e !ave collect performance data first t!en see t!e counters parameter loo$up9readtodis$ if it's greater t!an C t!en it's read from dis$ Step6. C!oose t!e option 7Collect <erformance data8 in t!e general ta session property s!eet.

6=

Step=. Monitor server t!en clic$ server0re,uest session performance details StepE. /ocate t!e performance details file named called session9name.perf file in t!e session log file directory StepH. .ind out counter parameter loo)upHreadtodis) if it's greater t!an C t!en informatica read loo$up ta le values from t!e dis$. .ind out !o" many ro"s in t!e cac!e see 0oo)upHrowsincache ,,. 0ist three option a'aila!le in informatica to tune aggregator transformation? :se Sorted Input to sort data efore aggregation :se .ilter transformation efore aggregator Increase Aggregator cac!e si2e 1--.Assume there is te%t file as source ha'ing a !inary field to1 to source &ualifier What nati'e data type informatica will con'ert this !inary field to in source &ualifier? (inary data type for relational source for flat file F 1-1.:aria!le '1 has 'alues set as 5 in designerBdefaultD1 1- in parameter file1 15 in repository. While running session which 'alue informatica will read? Informatica read value 6J from repository 1-2. =oiner transformation is 2oining two ta!les s1 and s2. s1 has 1-1--- rows and s2 has 1--- rows . Which ta!le you will set master for !etter performance of 2oiner transformation? Why? Set ta le S= as Master ta le ecause informatica server !as to $eep master ta le in t!e cac!e so if it is 6CCC in cac!e "ill get performance instead of !aving 6CCCC ro"s in cac!e 1-3. 7ource ta!le has 5 rows. +an) in ran) transformation is set to 1-. transformation will output? J Ran$ 1-4. ow to capture performance statistics of indi'idual transformation in the mapping and e%plain some important statistics that can !e captured? :se tracing level %er ose data 1-5. Ii'e a way in which you can implement a real time scenario where data in a ta!le is changing and you need to loo) up data from it. ow will you configure the loo)up transformation for this purpose? In slo"ly c!anging dimension ta le use type = and model 6 1-#. What is ."/ process? thread in !rief? ow many threads it creates to process data1 e%plain each ow many rows the ran)

DTM receive data from reader and move data to transformation to transformation on ro" y ro" asis. It's create = t!read one is reader and anot!er one is "riter 1-(. 7uppose session is configured with commit inter'al of 1-1--- rows and source has 5-1--- rows e%plain the commit points for source !ased commit 4 target !ased commit. Assume appropriate 'alue where'er re&uired? Target (ased commit >.irst time (uffer si2e full KJCC ne-t time 6JCCC? Commit #very 6JCCC, ==JCC, ECCCC, HCCCC, JCCCC Source (ased commit>Does not affect ro"s !eld in uffer? Commit #very 6CCCC, =CCCC, ECCCC, HCCCC, JCCCC 1-*.What does first column of !ad file Bre2ected rowsD indicates? .irst Column 0 Ro" indicator >C, 6, =, E?

6E

Second Column + Column Indicator >D, 4, B, T? 1-,. What is the formula for calculation ran) data caches? And also Aggregator1 data1 inde% caches? Inde- cac!e si2e G Total no. of ro"s R si2e of t!e column in t!e loo$up condition >JC R H? AggregatorARan$ transformation Data Cac!e si2e G >Total no. of ro"s R si2e of t!e column in t!e loo$up condition? S >Total no. of ro"s R si2e of t!e connected output ports? 11-. 3an unconnected loo)up return more than 1 'alue? Bo IN;F+/A"I3A "+AN7;F+/A"IFN7 Aggregator #-pression #-ternal <rocedure Advanced #-ternal <rocedure .ilter Loiner /oo$up Bormali2er Ran$ Router Se,uence Denerator Stored <rocedure Source *ualifier :pdate Strategy 3M/ source ,ualifier

6H

$%pression "ransformation 1ou can use #T to calculate values in a single ro" efore you "rite to t!e target 1ou can use #T, to perform any non0aggregate calculation To perform calculations involving multiple ro"s, suc! as sums of averages, use t!e Aggregator. :nli$e #T t!e Aggregator Transformation allo" you to group and sort data

3alculation To use t!e #-pression Transformation to calculate values for a single ro", you must include t!e follo"ing ports. Input port for eac! value used in t!e calculation 4utput port for t!e e-pression NF"$ 1ou can enter multiple e-pressions in a single #T. As long as you enter only one e-pression for eac! port, you can create any num er of output ports in t!e #-pression Transformation. In t!is "ay, you can use one e-pression transformation rat!er t!an creating separate transformations for eac! calculation t!at re,uires t!e same set of data. 7e&uence Ienerator "ransformation Create $eys Replace missing values T!is contains t"o output ports t!at you can connect to one or more transformations. T!e server generates a value eac! time a ro" enters a connected transformation, even if t!at value is not used. T!ere are t"o parameters B#3T%A/, C:RR%A/ T!e SDT can e reusa le 1ou can not edit any default ports >B#3T%A/, C:RR%A/?

7I" 8roperties Start value Increment (y #nd value Current value Cycle >If selected, server cycles t!roug! se,uence range. 4t!er"ise, Stops "it! configured end value? Reset Bo of cac!ed values NF"$ Reset is disa led for Reusa le SDT :nli$e ot!er transformations, you cannot override SDT properties at session level. T!is protects t!e integrity of se,uence values generated. Aggregator "ransformation .ifference !etween Aggregator and $%pression "ransformation )e can use Aggregator to perform calculations on groups. )!ere as t!e #-pression transformation permits you to calculations on ro"0 y0ro" asis only. T!e server performs aggregate calculations as it reads and stores necessary data group and ro" data in an aggregator cac!e. )!en Incremental aggregation occurs, t!e server passes ne" source data t!roug! t!e mapping and uses !istorical cac!e data to perform ne" calculation incrementally. 3omponents Aggregate #-pression Droup y port Aggregate cac!e )!en a session is eing run using aggregator transformation, t!e server creates Inde- and data cac!es in memory to process t!e transformation. If t!e server re,uires more space, it stores overflo" values in cac!e files. NF"$ T!e performance of aggregator transformation can e improved y using 7Sorted Input option8. )!en t!is is selected, t!e server assumes all data is sorted y group.

6J

Incremental Aggregation Steps: >6? :sing t!is, you apply captured c!anges in t!e source to aggregate calculation in a session. If t!e source c!anges only incrementally and you can capture c!anges, you can configure t!e session to process only t!ose c!anges T!is allo"s t!e sever to update t!e target incrementally, rat!er t!an forcing it to process t!e entire source and recalculate t!e same calculations eac! time you run t!e session. T!e first time you run a session "it! incremental aggregation ena led, t!e server process t!e entire source. At t!e end of t!e session, t!e server stores aggregate data from t!at session ran in t"o files, t!e indefile and data file. T!e server creates t!e file in local directory. T!e second time you run t!e session, use only c!anges in t!e source as source data for t!e session. T!e server t!en performs t!e follo"ing actions: .or eac! input record, t!e session c!ec$s t!e !istorical information in t!e inde- file for a corresponding group, t!en: If it finds a corresponding group + T!e server performs t!e aggregate operation incrementally, using t!e aggregate data for t!at group, and saves t!e incremental c!anges. #lse Server create a ne" group and saves t!e record data >=? o o o o o )!en "riting to t!e target, t!e server applies t!e c!anges to t!e e-isting target. :pdates modified aggregate groups in t!e target Inserts ne" aggregate data Delete removed aggregate data Ignores unc!anged aggregate data Saves modified aggregate data in Inde-AData files to e used as !istorical data t!e ne-t time you run t!e session.

#ac! Su se,uent time you run t!e session "it! incremental aggregation, you use only t!e incremental source c!anges in t!e session. If t!e source c!anges significantly, and you "ant t!e server to continue saving t!e aggregate data for t!e future incremental c!anges, configure t!e server to over"rite e-isting aggregate data "it! ne" aggregate data.

:se Incremental Aggregator Transformation 4nly I.: Mapping includes an aggregate function Source c!anges only incrementally 1ou can capture incremental c!anges. 1ou mig!t do t!is y filtering source data y timestamp.

$%ternal 8rocedure "ransformation )!en Informatica's transformation does not provide t!e e-act functionality "e need, "e can develop comple- functions "it! in a dynamic lin$ li rary or :ni- s!ared li rary. To o tain t!is $ind of e-tensi ility, "e can use Transformation #-c!ange >T3? dynamic invocation interface uilt into <o"er martA<o"er Center. :sing T3, you can create an #-ternal <rocedure Transformation and ind it to an #-ternal <rocedure t!at you !ave developed. T"o types of #-ternal <rocedures are availa le

C4M #-ternal <rocedure >4nly for )IB BTA=CCC? Informatica #-ternal <rocedure > availa le for )IBBT, Solaris, 5<:3 etc? Components of T3: >a? #-ternal <rocedure

6M

T!is e-ists separately from Informatica Server. It consists of CSS, %( code "ritten y developer. T!e code is compiled and lin$ed to a D// or S!ared memory, "!ic! is loaded y t!e Informatica Server at runtime. > ? #-ternal <rocedure Transformation T!is is created in Designer and it is an o &ect t!at resides in t!e Informatica Repository. T!is serves in many "ays o o T!is contains metadata descri ing #-ternal procedure T!is allo"s an #-ternal procedure to #-ternal <rocedure transformation. e references in a mapping y adding an instance of an

All #-ternal <rocedure Transformations must e defined as reusa le transformations. T!erefore you cannot create #-ternal <rocedure transformation in designer. 1ou can create only "it! in t!e transformation developer of designer and add instances of t!e transformation to mapping. Difference (et"een Advanced #-ternal <rocedure And #-ternal <rocedure Transformation Ad'anced $%ternal 8rocedure "ransformation T!e Input and 4utput functions occur separately T!e output function is a separate call ac$ function provided Advanced #-ternal <rocedure /i rary. y Informatica t!at can e called from

T!e 4utput call ac$ function is used to pass all t!e output port values from t!e Advanced #-ternal <rocedure li rary to t!e informatica Server. Multiple 4utputs >Multiple ro" Input and Multiple ro"s output? Supports Informatica procedure only Active Transformation Connected only

$%ternal 8rocedure "ransformation In t!e #-ternal <rocedure Transformation, an #-ternal <rocedure function does ot! input and output, and it's parameters consists of all t!e ports of t!e transformation. Single return value > 4ne ro" input and one ro" output ? Supports C4M and Informatica <rocedures <assive transformation Connected or :nconnected

(y Default, T!e Advanced #-ternal <rocedure Transformation is an active transformation. 5o"ever, "e can configure t!is to e a passive y clearing 7IS ACTI%#8 option on t!e properties ta 0FFJ58 "ransformation Types: >a? Connected >or? unconnected. > ? Cac!ed >or? uncac!ed . If you cac!e t!e l$p ta le , you can c!oose to use a dynamic or static cac!e . y default ,t!e /;< cac!e remains static and doesn't c!ange during t!e session ."it! dynamic cac!e ,t!e server inserts ro"s into t!e cac!e during t!e session ,information recommends t!at you cac!e t!e target ta le as /oo$up .t!is ena les you to loo$up values in t!e target and insert t!em if t!ey don't e-ist.. 1ou can configure a connected /;< to receive input directly from t!e mapping pipeline .>or? you can configure an unconnected /;< to receive input from t!e result of an e-pression in anot!er transformation. .ifferences Getween 3onnected and 5nconnected 0oo)upC connected )e are using t!is for loo$up data in a related ta le, vie" or synonym 1ou can use multiple loo$up transformations in a mapping T!e server ,ueries t!e /oo$up ta le ased in t!e /oo$up ports in t!e transformation. It compares loo$up port values to loo$up ta le column values, ases on loo$up condition.

6K

o o o o 5nconnected o o o o NF"$7 o o

Receives input values directly from t!e pipeline. uses Dynamic or static cac!e Returns multiple values supports user defined default values.

Recieves input values from t!e result of /;< e-pression in anot!er transformation :se static cac!e only. Returns only one value. Doesn't supports user0defined default values.

Common use of unconnected /;< is to update slo"ly c!anging dimension ta les. /oo$up components are

>a?

/oo$up ta le. (? <orts c? <roperties d? condition.

0oo)up ta!les: T!is can e a single ta le, or you can &oin multiple ta les in t!e same Data ase using a /oo$up ,uery override.1ou can improve /oo$up initiali2ation time y adding an inde- to t!e /oo$up ta le. 0oo)up ports: T!ere are E ports in connected /;< transformation >IA<,4A<,/;<? and H ports unconnected /;<>IA<,4A<,/;< and return ports?. o if you've certain t!at a mapping doesn't use a /oo$up ,port ,you delete it from t!e transformation. T!is reduces t!e amount of memory.

0oo)up 8roperties: you can configure properties suc! as S*/ override .for t!e /oo$up,t!e /oo$up ta le name ,and tracing level for t!e transformation. 0oo)up condition: you can enter t!e conditions ,you "ant t!e server to use to determine "!et!er input data ,ualifies values in t!e /oo$up or cac!e . "!en you configure a /;< condition for t!e transformation, you compare transformation input values "it! values in t!e /oo$up ta le or cac!e ,"!ic! represented y /;< ports ."!en you run session ,t!e server ,ueries t!e /;< ta le or cac!e for all incoming values ased on t!e condition. B4T# 0 If you configure a /;< to use static cac!e ,you can follo"ing operators G,O,I,OG,IG,TG. ut if you use an dynamic cac!e only Gcan e used . 0 "!en you don't configure t!e /;< for cac!ing ,t!e server ,ueries t!e /;< ta le for eac! input ro" .t!e result "ill e same, regardless of using cac!e 5o"ever using a /oo$up cac!e can increase session performance, y /oo$up ta le, "!en t!e source ta le is large. 8erformance tips: Add an inde- to t!e columns used in a /oo$up condition. <lace conditions "it! an e,uality opertor >G? first. Cac!e small /oo$up ta les . Don't use an 4RD#R (1 clause in S*/ override. Call unconnected /oo$ups "it! :/;< reference ,ualifier.

NormaliEer "ransformation Bormali2ation is t!e process of organi2ing data. In data ase terms ,t!is includes creating normali2ed ta les and esta lis!ing relations!ips et"een t!ose ta les. According to rules designed to ot! protect t!e data, and ma$e t!e data ase more fle-i le y eliminating redundancy and inconsistent dependencies. BT normali2es records from C4(4/ and relational sources ,allo"ing you to organi2et t!e data according to you o"n needs. A BT can appear any"!ere is a data flo" "!en you normali2e a relational source.

6P

:se a normali2er transformation, instead of source ,ualifier transformation "!en you normali2e a C4(4/ source. T!e occurs statement is a C4(4/ file nests multiple records of information in a single record. :sing t!e BT ,you rea$out repeated data "it! in a record is to separate record into separate records..or eac! ne" record it creates, t!e BT generates an uni,ue identifier. 1ou can use t!is $ey value to &oin t!e normali2ed records.

6Q

7tored 8rocedure "ransformation D(A creates stored procedures to automate time consuming tas$s t!at are too complicated for standard S*/ statements. A stored procedure is a precompiled collection of transact S*/ statements and optional flo" control statements, similar to an e-ecuta le script. Stored procedures are stored and run "it! in t!e data ase. 1ou can run a stored procedure "it! #3#C:T# S*/ statement in a data ase client tool, &ust as S*/ statements. (ut unli$e standard procedures allo" user defined varia les, conditional statements and programming features.

:sages of Stored <rocedure B4T# T!e Stored <rocedure must e-ist in t!e data ase efore creating a Stored <rocedure Transformation, and t!e Stored procedure can e-ist in a source, target or any data ase "it! a valid connection to t!e server. Drop and recreate inde-es. C!ec$ t!e status of target data ase efore moving records into it. Determine data ase space. <erform a speciali2ed calculation.

T1<#S Connected Stored <rocedure Transformation >Connected directly to t!e mapping? :nconnected Stored <rocedure Transformation >Bot connected directly to t!e flo" of t!e mapping. Can e called from an #-pression Transformation or ot!er transformations?

Running a Stored <rocedure T!e options for running a Stored <rocedure Transformation: Bormal , <re load of t!e source, <ost load of t!e source, <re load of t!e target, <ost load of t!e target

1ou can run several stored procedure transformation in different modes in t!e same mapping. Stored <rocedure Transformations are created as normal type y default, "!ic! means t!at t!ey run during t!e mapping, not efore or after t!e session. T!ey are also not created as reusa le transformations. If you want toC Run a S< eforeAafter t!e session Run a S< once during a session Run a S< for eac! ro" in data flo" <ass parameters to S< and receive a single return value 5se !elow mode :nconnected :nconnected :nconnectedAConnected Connected

A normal connected S< "ill !ave an IA< and 4A< port and return port also an output port, "!ic! is mar$ed as UR'. $rror andling T!is can e configured in server manager >/og & #rror !andling? (y default, t!e server stops t!e session

=C

+an) "ransformation

T!is allo"s you to select only t!e top or smallest numeric value in a port or group.

ottom ran$ of data. 1ou can get returned t!e largest or

1ou can also use Ran$ Transformation to return t!e strings at t!e top or t!e ottom of a session sort order. During t!e session, t!e server cac!es input data until it can perform t!e ran$ calculations. Ran$ Transformation differs from MA3 and MIB functions, "!ere t!ey allo"s to select a group of topA ottom values, not &ust one value. As an acti'e transformation, Ran$ transformation mig!t c!ange t!e num er of ro"s passed t!roug! it.

Ran$ Transformation <roperties

Cac!e directory Top or (ottom ran$ InputA4utput ports t!at contain values used to determine t!e ran$.

Different ports in Ran$ Transformation

I 4 % R

0 0 0 0

Input 4utput %aria le Ran$

Ran$ Inde-

T!e designer automatically creates a RAB;IBD#3 port for eac! ran$ transformation. T!e server uses t!is Indeport to store t!e ran$ing position for eac! ro" in a group.

T!e RAB;IBD#3 is an output port only. 1ou can pass t!e RAB;IBD#3 to anot!er transformation in t!e mapping or directly to a target.

=6

;ilter "ransformation As an active transformation, t!e .ilter Transformation may c!ange t!e no of ro"s passed t!roug! it. A filter condition returns TR:#A.A/S# for eac! ro" t!at passes t!roug! t!e transformation, depending on "!et!er a ro" meets t!e specified condition. 4nly ro"s t!at return TR:# pass t!roug! t!is filter and discarded ro"s do not appear in t!e session logAre&ect files. To ma-imi2e t!e session performance, include t!e .ilter Transformation as close to t!e source in t!e mapping as possi le. T!e filter transformation does not allo" setting output default values. To filter out ro" "it! B:// values, use t!e ISB:// and IS9S<AC#S functions.

=oiner "ransformation Source *ualifier: can &oin data origination from a common source data ase

Loiner Transformation: Loin to" related !eterogeneous sources residing in different locations or .ile systems. To &oin more t!an t"o sources, "e can add additional &oiner transformations.

7$77IFN 0FI7 Information that reside in a session logC Allocation of system s!ared memory #-ecution of <re0session commandsA <ost0session commands Session Initiali2ation Creation of S*/ commands for readerA"riter t!reads StartA#nd timings for target loading #rror encountered during session /oad summary of ReaderA)riterA DTM statistics

Fther Information (y default, t!e server generates log files ased on t!e server code page.

"hread Identifier #-: CMB96CEQ Reader and )riter t!read codes !ave E digit and Transformation codes !ave H digits. T!e num er follo"ing a t!read name indicate t!e follo"ing: >a? > ? >c? >d? Target load order group num er Source pipeline num er <artition num er AggregateA Ran$ oundary num er

0og ;ile 3odes $rror 3odes .escription

(R 0 CMB 0 D(DR 0 #<0 /M 0 TM 0 R#< 0 )RT 0

Related to reader process, including #R<, relational and flat file. Related to data ase, memory allocation Related to de ugger #-ternal <rocedure /oad Manager DTM Repository )riter

==

0oad 7ummary >a? Inserted > ? :pdated >c? Deleted >d? Re&ected 7tatistics details >a? Re,uested ro"s s!o"s t!e no of ro"s t!e "riter actually received for t!e specified operation > ? Applied ro"s s!o"s t!e num er of ro"s t!e "riter successfully applied to t!e target >)it!out #rror? >c? Re&ected ro"s s!o" t!e no of ro"s t!e "riter could not apply to t!e target >d? Affected ro"s s!o"s t!e no of ro"s affected y t!e specified operation .etailed transformation statistics T!e server reports t!e follo"ing details for eac! transformation in t!e mapping >a? Bame of Transformation > ? Bo of IA< ro"s and name of t!e Input source >c? Bo of 4A< ro"s and name of t!e output target >d? Bo of ro"s dropped Tracing /evels Bormal Terse %er ose Init %er ose Data B4T# )!en you enter tracing level in t!e session property s!eet, you override tracing levels configured for transformations in t!e mapping. 0 Initiali2ation and status information, #rrors encountered, Transformation errors, ro"s s$ipped, summari2e session details >Bot at t!e level of individual ro"s? 0 Initiali2ation information as "ell as error messages, and notification of re&ected data 0 Addition to normal tracing, Bames of Inde-, Data files used and detailed transformation statistics. 0 Addition to %er ose Init, #ac! ro" t!at passes in to mapping detailed transformation statistics.

=E

/50"I80$ 7$+:$+7 )it! <o"er Center, "e can register and run multiple servers against a local or glo al repository. 5ence you can distri ute t!e repository session load across availa le servers to improve overall performance. >1ou can use only one <o"er Mart server in a local repository? Issues in Server 4rgani2ation Moving target data ase into t!e appropriate server mac!ine may improve efficiency All SessionsA(atc!es using data from ot!er sessionsA atc!es need to use t!e same server and incorporated into t!e same atc!. Server "it! different speedAsi2es can e used for !andling most complicated sessions. e

SessionA(atc! (e!avior (y default, every sessionA atc! run on its associated Informatica server. T!at is selected in property s!eet. In atc!es, t!at contain sessions "it! various servers, t!e property goes to t!e servers, t!at's of outer most atc!. 7ession ;ailures and +eco'ering 7essions T"o types of errors occurs in t!e server Bon0.atal .atal

>a? Bon0.atal #rrors It is an error t!at does not force t!e session to stop on its first occurrence. #sta lis! t!e error t!res!old in t!e session property s!eet "it! t!e stop on option. )!en you ena le t!is option, t!e server counts Bon0 .atal errors t!at occur in t!e reader, "riter and transformations. Reader errors can include alignment errors "!ile running a session in :nicode mode. )riter errors can include $ey constraint violations, loading B:// into t!e B4T0B:// field and data ase errors. Transformation errors can include conversion errors and any condition set up as an #RR4R,. Suc! as B:// Input. > ? .atal #rrors T!is occurs "!en t!e server can not access t!e source, target or repository. T!is can include loss of connection or target data ase errors, suc! as lac$ of data ase space to load data. If t!e session uses normali2er >or? se,uence generator transformations, t!e server can not update t!e se,uence values in t!e repository, and a fatal error occurs. V 4t!ers :sages of A(4RT function in mapping logic, to a ort a session "!en t!e server encounters a transformation error. Stopping t!e server using pmcmd >or? Server Manager <erforming Recovery )!en t!e server starts a recovery session, it reads t!e 4<(9SR%R9R#C4%#R1 ta le and notes t!e ro"id of t!e last ro" commited to t!e target data ase. T!e server t!en reads all sources again and starts processing from t!e ne-t ro"id. (y default, perform recovery 4<(9SR%R9R#C4%#R1 ta le. is disa led in setup. 5ence it "on't ma$e entries in

T!e recovery session moves t!roug! t!e states of normal session sc!edule, "aiting to run, Initiali2ing, running, completed and failed. If t!e initial recovery fails, you can run recovery as many times. T!e normal re&ect loading process can also e done in session recovery process. T!e performance of recovery mig!t e lo", if o o Mapping contain mapping varia les Commit interval is !ig!

:n recovera le Sessions

=H

:nder certain circumstances, "!en a session does not complete, you need to truncate t!e target and run t!e session from t!e eginning. 3ommit Inter'als A commit interval is t!e interval at "!ic! t!e server commits data to relational targets during a session. >a? Target ased commit Server commits data ased on t!e no of target ro"s and t!e $ey constraints on t!e target ta le. T!e commit point also depends on t!e uffer loc$ si2e and t!e commit pinterval. During a session, t!e server continues to fill t!e "riter uffer, after it reac!es t!e commit interval. )!en t!e uffer loc$ is full, t!e Informatica server issues a commit command. As a result, t!e amount of data committed at t!e commit point generally e-ceeds t!e commit interval. T!e server commits data to eac! target ased on primary +foreign $ey constraints.

> ? Source ased commit Server commits data ased on t!e num er of source ro"s. T!e commit point is t!e commit interval you configure in t!e session properties. During a session, t!e server commits data to t!e target ased on t!e num er of ro"s from an active source in a single pipeline. T!e ro"s are referred to as source ro"s. A pipeline consists of a source ,ualifier and all t!e transformations and targets t!at receive data from source ,ualifier. Alt!oug! t!e .ilter, Router and :pdate Strategy transformations are active transformations, t!e server does not use t!em as active sources in a source ased commit session. )!en a server runs a session, it identifies t!e active source for eac! pipeline in t!e mapping. T!e server generates a commit ro" from t!e active source at every commit interval. )!en eac! target in t!e pipeline receives t!e commit ro"s t!e server performs t!e commit. +e2ect 0oading During a session, t!e server creates a re&ect file for eac! target instance in t!e mapping. If t!e "riter of t!e target re&ects data, t!e server "riters t!e re&ected ro" into t!e re&ect file. 1ou can correct t!ose re&ected data and re0load t!em to relational targets, using t!e re&ect loading utility. >1ou cannot load re&ected data into a flat file target? #ac! time, you run a session, t!e server appends a re&ected data to t!e re&ect file. /ocating t!e (ad.iles

W<M(ad.ileDir .ilename. ad )!en you run a partitioned session, t!e server creates a separate re&ect file for eac! partition. Reading Re&ected data #-: E,D,6,D,D,C,D,6CQHEHJMCQ,D,C,C.CC

To !elp us in finding t!e reason for re&ecting, t!ere are t"o main t!ings. >a? Ro" indicator Ro" indicator tells t!e "riter, "!at to do "it! t!e ro" of "rong data. +ow indicator C 6 = E /eaning Insert :pdate Delete Re&ect +e2ected Gy )riter or target )riter or target )riter or target )riter

If a ro" indicator is E, t!e "riter re&ected t!e ro" ecause an update strategy e-pression mar$ed it for re&ect. > ? Column indicator Column indicator is follo"ed y t!e first column of data, and anot!er column indicator. T!ey appears after every column of data and define t!e type of data preceding it

=J

3olumn Indicator D accepts

/eaning %alid Data

Writer "reats as Dood Data. T!e target it unless a data ase error occurs, suc! as finding duplicate $ey.

4 B T

4verflo" Bull Truncated

(ad Data. (ad Data. (ad Data

B4T# B:// columns appear in t!e re&ect file "it! commas mar$ing t!eir column. 3orrecting +e2ect ;ile :se t!e re&ect file and t!e session log to determine t!e cause for re&ected data. ;eep in mind t!at correcting t!e re&ect file does not necessarily correct t!e source of t!e re&ect. Correct t!e mapping and target data ase to eliminate some of t!e re&ected data "!en you run t!e session again. Trying to correct target re&ected ro"s efore correcting "riter re&ected ro"s is not recommended since t!ey may contain misleading column indicator.

.or e-ample, a series of 7B8 indicator mig!t lead you to elieve t!e target data ase does not accept B:// values, so you decide to c!ange t!ose B:// values to Xero. 5o"ever, if t!ose ro"s also !ad a E in ro" indicator. Column, t!e ro" "as re&ected update strategy e-pression, not ecause of a target data ase restriction. t!e "riter ecause of an

If you try to load t!e corrected file to target, t!e "riter "ill again re&ect t!ose ro"s, and t!ey "ill contain inaccurate C values, in place of B:// values.

)!y "riter can re&ect F Data overflo"ed column constraints An update strategy e-pression

)!y target data ase can Re&ect F Data contains a B:// column Data ase errors, suc! as $ey violations

Steps for loading re&ect file: After correcting t!e re&ected data, rename t!e re&ected file to re&ect9file.in T!e re&loader used t!e data movement mode configured for t!e server. It also used t!e code page of serverA4S. 5ence do not c!ange t!e a ove, in middle of t!e re&ect loading :se t!e re&ect loader utility Pmrejldr pmserver.cfg [folder name] [session name]

=M

4t!er points T!e server does not perform t!e follo"ing option, "!en using re&ect loader >a? > ? >c? >d? >e? Source ase commit Constraint ased loading Truncated target ta le .T< targets #-ternal /oading

Multiple re&ect loaders 1ou can run t!e session several times and correct re&ected data from t!e several session at once. 1ou can correct and load all of t!e re&ect files at once, or "or$ on one or t"o re&ect files, load t!en and "or$ on t!e ot!er at a later time. $%ternal 0oading 1ou can configure a session to use Sy ase I*, Teradata and 4racle e-ternal loaders to load session target files into t!e respective data ases. T!e #-ternal /oader option can increase session performance since t!ese data ases can load information directly from files faster t!an t!ey can t!e S*/ commands to insert t!e same data into t!e data ase. Met!od:

)!en a session used #-ternal loader, t!e session creates a control file and target flat file. T!e control file contains information a out t!e target flat file, suc! as data format and loading instruction for t!e #-ternal /oader. T!e control file !as an e-tension of 7R.ctl 7 and you can vie" t!e file in W<mtarget.ilesDir. .or using an #-ternal /oader: T!e follo"ing must e done: configure an e-ternal loader connection in t!e server manager Configure t!e session to "rite to a target flat file local to t!e server. C!oose an e-ternal loader connection for eac! target file in session property s!eet.

Issues "it! #-ternal /oader: Disa le constraints <erformance issues o o Increase commit intervals Turn off data ase logging

Code page re,uirements T!e server can use multiple #-ternal /oader "it!in one session >#-: you are !aving a session "it! t!e t"o target files. 4ne "it! 4racle #-ternal /oader and anot!er "it! Sy ase #-ternal /oader?

4t!er Information: T!e #-ternal /oader performance depends upon t!e platform of t!e server T!e server loads data at different stages of t!e session T!e serve "rites #-ternal /oader initiali2ation and completing messaging in t!e session log. 5o"ever, details a out #/ performance, it is generated at #/ log, "!ic! is getting stored as same target directory.

=K

If t!e session contains errors, t!e server continues t!e #/ process. If t!e session fails, t!e server loads partial target data using #/. T!e #/ creates a re&ect file for data re&ected y t!e data ase. T!e re&ect file !as an e-tension of 7R.ldr8 re&ect. T!e #/ saves t!e re&ect file in t!e target file directory 1ou can load corrected data from t!e file, using data ase re&ect loader, and not t!roug! Informatica re&ect load utility >.or #/ re&ect file only?

Configuring #/ in session In t!e server manager, open t!e session property s!eet Select .ile target, and t!en clic$ flat file options 3aches server creates inde- and data cac!es in memory for aggregator ,ran$ ,&oiner and /oo$up transformation in a mapping. Server stores $ey values in inde- cac!es and output values in data cac!es : if t!e server re,uires more memory ,it stores overflo" values in cac!e files . )!en t!e session completes, t!e server releases cac!es memory, and in most circumstances, it deletes t!e cac!es files . Cac!es Storage overflo" : releases cac!es memory, and in most circumstances, it deletes t!e cac!es files .

Cac!es Storage overflo" : "ransformation Aggregator inde% cache stores group values As configured in t!e Droup0 y ports. Ran$ stores group values as Configured in t!e Droup0 y Loiner stores inde- values for T!e master source ta le As configured in Loiner condition. /oo$up stores /oo$up condition Information. .etermining cache re&uirements To calculate t!e cac!e si2e, you need to consider column and ro" re,uirements as "ell as processing over!ead. server re,uires processing over!ead to cac!e data and inde- information. Column over!ead includes a null indicator, and ro" over!ead can include ro" to $ey information. Steps: first, add t!e total column si2e in t!e cac!e to t!e ro" over!ead. Multiply t!e result re,uirements . y t!e no of groups >or? ro"s in t!e cac!e t!is gives t!e minimum cac!e stores loo$up data t!at's Bot stored in t!e inde- cac!e. stores ran$ing information ased on Droup0 y ports . stores master source ro"s . data cache stores calculations ased on Droup0 y ports

.or ma-imum re,uirements, multiply min re,uirements y =.

/ocation: 6 y default , t!e server stores t!e inde- and data files in t!e directory W<MCac!eDir. 6t!e server names t!e inde- files <MADDR.id- and data files <MADDR.dat. if t!e si2e e-ceeds =D(,you may find multiple inde- and data files in t!e directory .T!e server appends a num er to t!e end of filename><MADDR.idR6,idR=,etc?. Aggregator 3aches

=P

0 0

"!en server runs a session "it! an aggregator completes t!e aggregation.

transformation, it stores

data in memory until it

"!en you partition a source, t!e server creates one memory cac!e and one dis$ cac!e and one and dis$ cac!e for eac! partition .It routes data from one partition to anot!er ased on group $ey values of t!e transformation. server uses memory to process an aggregator transformation "it! sort ports. It doesn't use cac!e memory .you don't need to configure t!e cac!e memory, t!at use sorted ports.

Inde- cac!e: YDroups >> column si2e? S K? Aggregate data cac!e: YDroups >> column si2e? S K? +an) 3ache "!en t!e server runs a session "it! a Ran$ transformation, it compares an input ro" "it! ro"s "it! ro"s in data cac!e. If t!e input ro" out0ran$s a stored ro",t!e Informatica server replaces t!e stored ro" "it! t!e input ro". If t!e ran$ transformation is configured to ran$ across multiple groups, t!e server ran$s incrementally for eac! group it finds .

Inde- Cac!e : YDroups >> column si2e? S K? Ran$ Data Cac!e: KDroup Z>YRan$s R > column si2e S 6C?? S =C[ =oiner 3acheC )!en server runs a session "it! &oiner transformation, it reads all ro"s from t!e master source and uilds memory cac!es ased on t!e master ro"s. After uilding t!ese cac!es, t!e server reads ro"s from t!e detail source and performs t!e &oins Server creates t!e Inde- cac!e as it reads t!e master source into t!e data cac!e. T!e server uses t!e Inde- cac!e to test t!e &oin condition. )!en it finds a matc!, it retrieves ro"s values from t!e data cac!e. To improve &oiner performance, t!e server aligns all data for &oiner cac!e or an eig!t yte oundary.

Inde- Cac!e : YMaster ro"s Z> column si2e? S 6M? Loiner Data Cac!e: KMaster ro" Z> column si2e? S P[ 0oo)up cacheC )!en server runs a loo$up transformation, t!e server uilds a cac!e in memory, "!en it process t!e first ro" of data in t!e transformation. Server uilds t!e cac!e and ,ueries it for t!e eac! ro" t!at enters t!e transformation. If you partition t!e source pipeline, t!e server allocates t!e configured amount of memory for eac! partition. If t"o loo$up transformations s!are t!e cac!e, t!e server does not allocate additional memory for t!e second loo$up transformation. T!e server creates inde- and data cac!e files in t!e loo$up cac!e drectory and used t!e server code page to create t!e files.

Inde- Cac!e : YRo"s in loo$up ta le Z> column si2e? S 6M? /oo$up Data Cac!e: KRo"s in loo$up ta le Z> column si2e? S P[

=Q

"ransformations A transformation is a repository o &ect t!at generates, modifies or passes data. >a? Active Transformation: a. Can c!ange t!e num er of ro"s, t!at passes t!roug! it >.ilter, Bormali2er, Ran$ ..?

> ? <assive Transformation: a. B4T#: Transformations can e connected to t!e data flo" or t!ey can e unconnected An unconnected transformation is not connected to ot!er transformation in t!e mapping. It is called "it! in anot!er transformation and returns a value to t!at transformation Does not c!ange t!e no of ro"s t!at passes t!roug! it >#-pression, loo$up ..?

+eusa!le "ransformationsC )!en you are using reusa le transformation to a mapping, t!e definition of transformation e-ists outside t!e mapping "!ile an instance appears "it! mapping. All t!e c!anges you are ma$ing in transformation "ill immediately reflect in instances. 1ou can create reusa le transformation y t"o met!ods: >a? Designing in transformation developer > ? <romoting a standard transformation C!ange t!at reflects in mappings are li$e e-pressions. If port name etc. are c!anges t!ey "on't reflect.

andling -

igh68recision .ataC

Server process decimal values as dou les or decimals. )!en you create a session, you c!oose to ena le t!e decimal data type or let t!e server process t!e data as dou le ><recision of 6J?

#-ample: 1ou may !ave a mapping "it! decimal >=C,C? t!at passes t!roug!. T!e value may HCC6=CECECHQJKMMMQCE. e

If you ena le decimal arit!metic, t!e server passes t!e num er as it is. If you do not ena le decimal arit!metic, t!e server passes H.CC6=CECECHQJKK 3 6C6Q. If you "ant to process a decimal value "it! a precision greater t!an =P digits, t!e server automatically treats as a dou le value.

EC

/applets )!en t!e server runs a session using a mapplets, it e-pands t!e mapplets. T!e server t!en runs t!e session as it "ould any ot!er sessions, passing data t!roug! eac! transformations in t!e mapplet. If you use a reusa le transformation in a mapplet, c!anges to t!ese can invalidate t!e mapplet and every mapping using t!e mapplet. 1ou can create a non0reusa le instance of a reusa le transformation. Mapplet 4 &ects: >a? > ? >c? >d? Input transformation Source ,ualifier Transformations, as you need 4utput transformation

Mapplet )on't Support: Loiner Bormali2er <reA<ost session stored procedure Target definitions 3M/ source definitions

Types of Mapplets:

>a? > ?

Active Mapplets <assive Mapplets

0 0

Contains one or more active transformations Contains only passive transformation

Copied mapplets are not an instance of original mapplets. If you ma$e c!anges to t!e original, t!e copy does not in!erit your c!anges 1ou can use a single mapplet, even more t!an once on a mapping. <orts Default value for IA< port 0 B:// #RR4R Does not support default values 7ession 8arameters T!is parameter represent values you mig!t "ant to c!ange et"een sessions, suc! as D( Connection or source file. )e can use session parameter in a session property s!eet, t!en define t!e parameters in a session parameter file. T!e user defined session parameter are: >a? > ? >c? >d? D( Connection Source .ile directory Target file directory Re&ect file directory

Default value for 4A< port 0 Default value for varia les 0

Description: :se session parameter to ma$e sessions more fle-i le. .or e-ample, you !ave t!e same type of transactional data "ritten to t"o different data ases, and you use t!e data ase connections TransD(6 and TransD(= to connect to t!e data ases. 1ou "ant to use t!e same mapping for ot! ta les. Instead of creating t"o sessions for t!e same mapping, you can create a data ase connection parameter, li$e WD(ConnectionSource, and use it as t!e source data ase connection for t!e session. )!en you create a parameter file for t!e session, you set WD(ConnectionSource to TransD(6 and run t!e session. After it completes set t!e value to TransD(= and run t!e session again. B4T#: 1ou can use several parameter toget!er to ma$e session management easier.

E6

Session parameters do not !ave default value, "!en t!e server can not find a value for a session parameter, it fails to initiali2e t!e session. 7ession 8arameter ;ile A parameter file is created y te-t editor. In t!at, "e can specify t!e folder and session name, t!en list t!e parameters and varia les used in t!e session and assign eac! value. Save t!e parameter file in any directory, load to t!e server )e can define follo"ing values in a parameter o o o Mapping parameter Mapping varia les Session parameters

1ou can include parameter and varia le information for more t!an one session in a single parameter file y creating separate sections, for eac! session "it! in t!e parameter file. 1ou can override t!e parameter file for sessions contained in a atc! y using a atc! parameter file. A atc! parameter file !as t!e same format as a session parameter file 0ocale

Informatica server can transform c!aracter data in t"o modes >a? A73II a. . Default one <asses K yte, :S0ASCII c!aracter data

> ? 5NI3F.$ a. . <asses P ytes, multi yte c!aracter data It uses = ytes for eac! c!aracter to move data and performs additional c!ec$s at session level, to ensure data integrity.

Code pages contains t!e encoding to specify c!aracters in a set of one or more languages. )e can select a code page, ased on t!e type of c!aracter data in t!e mappings. Compati ility et"een code pages is essential for accurate data movement. T!e various code page components are

/ocale

4perating system /ocale settings 4perating system code page Informatica server data movement mode Informatica server code page Informatica repository code page

>a? System /ocale > ? :ser locale V Input locale

0 0

System Default setting for date, time, display

/apping 8arameter and :aria!les T!ese represent values in mappingsAmapplets. If "e declare mapping parameters and varia les in a mapping, you can reuse a mapping parameter and varia le values of t!e mappings in t!e session. y altering t!e

T!is can reduce t!e over!ead of creating multiple mappings "!en only certain attri utes of mapping needs to e c!anged. )!en you "ant to use t!e same value for a mapping parameter eac! time you run t!e session.

E=

:nli$e a mapping parameter, a mapping varia le represent a value t!at can c!ange t!roug! t!e session. T!e server saves t!e value of a mapping varia le to t!e repository at t!e end of eac! successful run and used t!at value t!e ne-t time you run t!e session. Mapping o &ects: Source, Target, Transformation, Cu es, Dimension .e!ugger )e can run t!e De ugger in t"o situations >a? > ? (efore Session: After saving mapping, "e can run some initial tests. After Session: real De ugging process

M#adata Reporter: )e ased application t!at allo"s to run reports against repository metadata

Reports including e-ecuted sessions, loo$up ta le dependencies, mappings and sourceAtarget sc!emas. +epository

Types of Repository >a? Dlo al Repository a. T!is is t!e !u of t!e domain use t!e DR to store common o &ects t!at multiple developers can use t!roug! s!ortcuts. T!ese may include operational or application source definitions, reusa le transformations, mapplets and mappings

> ? /ocal Repository a. A /ocal Repository is "it! in a domain t!at is not t!e glo al repository. :seH t!e /ocal Repository for development.

Standard Repository a. A repository t!at functions individually, unrelated and unconnected to ot!er repository

B4T#: 4nce you create a glo al repository, you can not c!ange it to a local repository 5o"ever, you can promote t!e local to glo al repository Gatches <rovide a "ay to group sessions for eit!er serial or parallel e-ecution y server (atc!es o o Se,uential >Runs session one after anot!er? Concurrent >Runs sessions at same time?

Besting (atc!es #ac! atc! can contain any num er of sessionA atc!es. )e can nest atc!es several levels deep, defining atc!es "it!in atc!es Bested atc!es are useful "!en you "ant to control a comple- series of sessions t!at must run se,uentially or concurrently Sc!eduling )!en you place sessions in a atc!, t!e atc! sc!edule override t!at session sc!edule y default. 5o"ever, "e can configure a atc!ed session to run on its o"n sc!edule y selecting t!e 7:se A solute Time Session8 4ption. Server (e!avior Server configured to run a atc! overrides t!e server configuration to run sessions "it!in t!e atc!. If you !ave multiple servers, all sessions "it!in a atc! run on t!e Informatica server t!at runs t!e atc!. T!e server mar$s a atc! as failed if one of its sessions is configured to run if 7<revious completes8 and t!at previous session fails. 7e&uential Gatch

EE

If you !ave sessions "it! dependent sourceAtarget relations!ip, you can place t!em in a se,uential atc!, so t!at Informatica server can run t!em is consecutive order. T!ey are t"o "ays of running sessions, under t!is category >a? Run t!e session, only if t!e previous completes successfully > ? Al"ays run t!e session >t!is is default? 3oncurrent Gatch In t!is mode, t!e server starts all of t!e sessions "it!in t!e atc!, at same time Concurrent atc!es ta$e advantage of t!e resource of t!e Informatica server, reducing t!e time it ta$es to run t!e session separately or in a se,uential atc!. 3oncurrent !atch in a 7e&uential !atch If you !ave concurrent atc!es "it! source0target dependencies t!at enefit from running t!ose atc!es in a particular order, &ust li$e sessions, place t!em into a se,uential atc!.

EH

7er'er 3oncepts T!e Informatica server used t!ree system resources >a? > ? >c? C<: S!ared Memory (uffer Memory

Informatica server uses s!ared memory, uffer memory and cac!e memory for session information and to move data et"een session t!reads. /M S!ared Memory /oad Manager uses ot! process and s!ared memory. T!e /M $eeps t!e information server list of sessions and atc!es, and t!e sc!edule ,ueue in process memory. 4nce a session starts, t!e /M uses s!ared memory to store session details for t!e duration of t!e session run or session sc!edule. T!is s!ared memory appears as t!e configura le parameter >/MS!aredMemory? and t!e server allots =,CCC,CCC ytes as default. T!is allo"s you to sc!edule or run appro-imately 6C sessions at one time. DTM (uffer Memory T!e DTM process allocates uffer memory to t!e session ased on t!e DTM uffer poll si2e settings, in session properties. (y default, it allocates 6=,CCC,CCC ytes of memory to t!e session. DTM divides memory into uffer loc$s as configured in t!e uffer loc$ si2e settings. >Default: MH,CCC ytes per loc$? +unning a 7ession T!e follo"ing tas$s are eing done during a session 6. =. E. H. J. M. K. P. Q. 6C. 66. 6=. 6E. 6H. /M loc$s t!e session and read session properties /M reads parameter file /M e-pands serverAsession varia les and parameters /M verifies permission and privileges /M validates source and target code page /M creates session log file /M creates DTM process DTM process allocates DTM process memory DTM initiali2es t!e session and fetc!es mapping DTM e-ecutes pre0session commands and procedures DTM creates reader, "riter, transformation t!reads for eac! pipeline DTM e-ecutes post0session commands and procedures DTM "rites !istorical incremental aggregationAloo$up to repository /M sends post0session emails

EJ

7topping and a!orting a session If t!e session you "ant to stop is a part of atc!, you must stop t!e atc! If t!e atc! is part of nested atc!, stop t!e outermost atc! )!en you issue t!e stop command, t!e server stops reading data. It continues processing and "riting data and committing data to targets If t!e server cannot finis! processing and committing data, you can issue t!e A(4RT command. It is similar to stop command, e-cept it !as a MC second timeout. If t!e server cannot finis! processing and committing data "it!in MC seconds, it $ills t!e DTM process and terminates t!e session.

Recovery: B4T#: A(4RT command and A(4RT function, ot! are different. When can a 7ession ;ail Server cannot allocate enoug! system resources Session e-ceeds t!e ma-imum no of sessions t!e server can run concurrently Server cannot o tain an e-ecute loc$ for t!e session >t!e session is already loc$ed? Server una le to e-ecute post0session s!ell commands or post0load stored procedures Server encounters data ase errors Server encounter Transformation ro" errors >#-: B:// value in non0null fields? Bet"or$ related errors After a session eing stoppedAa orted, t!e session results can e recovered. )!en t!e recovery is performed, t!e session continues from t!e point at "!ic! it stopped. If you do not recover t!e session, t!e server runs t!e entire session t!e ne-t time. 5ence, after stoppingAa orting, you may need to manually delete targets efore t!e session runs again.

)!en <reA<ost S!ell Commands are useful To delete a re&ect file To arc!ive target files efore session egins 7ession 8erformance Minimum log >Terse? <artitioning source data. <erforming #T/ for eac! partition, in parallel. >.or t!is, multiple C<:s are needed? Adding inde-es. C!anging commit /evel. :sing .ilter trans to remove un"anted data movement. Increasing uffer memory, "!en large volume of data. Multiple loo$ups can reduce t!e performance. %erify t!e largest loo$up ta le and tune t!e e-pressions. In session level, t!e causes are small cac!e si2e, lo" uffer memory and small commit interval. At system level, o o )IB BTA=CCC0: t!e tas$ manager. :BI3: %MSTART, I4START.

5ierarc!y of optimi2ation Target. Source. Mapping Session. System.

EM

4ptimi2ing Target Data ases: Source Mapping Session: System: improve net"or$ speed. :se multiple preservers on separate systems. Reduce paging. concurrent atc!es. <artition sessions. Reduce error tracing. Remove staging area. Tune session parameters. 4ptimi2e data type conversions. #liminate transformation errors. 4ptimi2e transformationsA e-pressions. 4ptimi2e t!e ,uery >using group y, group y?. :se conditional filters. Connect to RD(MS using I<C protocol. Drop inde-es Aconstraints Increase c!ec$point intervals. :se ul$ loading Ae-ternal loading. Turn off recovery. Increase data ase net"or$ pac$et si2e. level

7ession 8rocess

Info server uses ot! process memory and system s!ared memory to perform #T/ process. It runs as a daemon on :BI3 and as a service on )IB BT. T!e follo"ing processes are used to run a session: >a? /4AD manager process: 0 starts a session > ? creates DTM process, "!ic! creates t!e session. 0 0 0 /oad manager processes: manages sessionA atc! sc!eduling. /oc$s session. Reads parameter file. #-pands serverAsession varia les, parameters . %erifies permissionsAprivileges. Creates session log file. creates t!reads to initiali2e t!e session read, "rite and transform data. !andle preApost session opertions.

DTM process:

DTM process: T!e primary purpose of t!e DTM is to create and manage t!reads t!at carry out t!e session tas$s.

EK

T!e DTM allocates process memory for t!e session and divides it into uffers. T!is is $no"n as uffer memory. T!e default memory allocation is 6=,CCC,CCC ytes .it creates t!e main t!read, "!ic! is called master t!read .t!is manages all ot!er t!reads. %arious t!reads Master t!read0 Mapping t!read0 functions !andles stop and a ort re,uests from load manager. one t!read for eac! session. .etc!es session and mapping information. Compiles mapping. Cleans up after e-ecution. Reader t!read0 one t!read for eac! partition. Relational sources uses relational t!reads and .lat files use file t!reads. )riter t!read0 Transformation t!read0 Bote: )!en you run a session, t!e uffers to moveAtransform data. 6. $%plain a!out your pro2ects 0 Arc!itecture 0 Dimension and .act ta les 0 Sources and Targets 0 Transformations used 0 .re,uency of populating data 0 Data ase si2e 2. What is dimension modeling? :nli$e #R model t!e dimensional model is very asymmetric "it! one large central ta le called as fact ta le connected to multiple dimension ta les .It is also called star sc!ema. 3. What are mapplets? Mapplets are reusa le o &ects t!at represents collection of transformations Transformations not to e included in mapplets are Co ol source definitions Loiner transformations Bormali2er Transformations Bon0reusa le se,uence generator transformations <re or post session procedures Target definitions 3M/ Source definitions I(M M* source definitions <o"er mart E.J style /oo$up functions 4. What are the transformations that use cache for performance? Aggregator, /oo$ups, Loiner and Ran$er 5. What the acti'e and passi'e transformations? An active transformation c!anges t!e num er of ro"s t!at pass t!roug! t!e mapping. 6. Source *ualifier =. .ilter transformation E. Router transformation H. Ran$er J. :pdate strategy M. Aggregator K. Advanced #-ternal procedure P. Bormali2er Q. Loiner <assive transformations do not c!ange t!e num er of ro"s t!at pass t!roug! t!reads for a partitioned source e-ecute concurrently. T!e t!reads use one t!read for eac! partition "rites to target. 4ne or more transformation for eac! partition.

EP

t!e mapping. 6. #-pressions =. /oo$up E. Stored procedure H. #-ternal procedure J. Se,uence generator M. 3M/ Source ,ualifier #. What is a loo)up transformation? :sed to loo$ up data in a relational ta le, vie"s, or synonym, T!e informatica server ,ueries t!e loo$up ta le ased on t!e loo$up ports in t!e transformation. It compares loo$up transformation port values to loo$up ta le column values ased on t!e loo$up condition. T!e result is passed to ot!er transformations and t!e target. :sed to : Det related value <erform a calculation :pdate slo"ly c!anging dimension ta les. Diff et"een connected and unconnected loo$ups. )!ic! is etterF Connected : Received input values directly from t!e pipeline Can use Dynamic or static cac!e. Cac!e includes all loo$up columns used in t!e mapping Can return multiple columns from t!e same ro" If t!ere is no matc! , can return default values Default values can e specified. :n connected : Receive input values from t!e result of a /;< e-pression in anot!er transformation. 4nly static cac!e can e used. Cac!e includes all loo$upAoutput ports in t!e loo$up condition and loo$up or return port. Can return only one column from eac! ro". If t!ere is no matc! it returns null. Default values cannot e specified. $%plain 'arious caches C Static: Cac!es t!e loo$up ta le efore e-ecuting t!e transformation. Ro"s are not added dynamically. Dynamic: Cac!es t!e ro"s as and "!en it is passed. :ns!ared: )it!in t!e mapping if t!e loo$up ta le is used in more t!an one transformation t!en t!e cac!e uilt for t!e first loo$up can e used for t!e ot!ers. It cannot e used across mappings. S!ared: If t!e loo$up ta le is used in more t!an one transformationAmapping t!en t!e cac!e uilt for t!e first loo$up can e used for t!e ot!ers. It can e used across mappings. <ersistent : If t!e cac!e generated for a /oo$up needs to e preserved for su se,uent use t!en persistent cac!e is used. It "ill not delete t!e inde- and data files. It is useful only if t!e loo$up ta le remains constant. What are the uses of inde% and data caches? T!e conditions are stored in inde- cac!e and records from t!e loo$up are stored in data cac!e (. $%plain aggregate transformation? T!e aggregate transformation allo"s you to perform aggregate calculations, suc! as averages, sum, ma-, min etc. T!e aggregate transformation is unli$e t!e #-pression transformation, in t!at you can use t!e aggregator transformation to perform calculations in groups. T!e e-pression

EQ

transformation permits you to perform calculations on a ro"0 y0ro" asis only. 8erformance issues ? T!e Informatica server performs calculations as it reads and stores necessary data group and ro" data in an aggregate cac!e. Create Sorted input ports and pass t!e input records to aggregator in sorted forms y groups t!en y port Incremental aggregation? In t!e Session property tag t!ere is an option for performing incremental aggregation. )!en t!e Informatica server performs incremental aggregation , it passes ne" source data t!roug! t!e mapping and uses !istorical cac!e >inde- and data cac!e? data to perform ne" aggregation calculations incrementally. What are the uses of inde% and data cache? T!e group data is stored in inde- files and Ro" data stored in data files. *. $%plain update strategy? :pdate strategy defines t!e sources to e flagged for insert, update, delete, and re&ect at t!e targets. )!at are update strategy constantsF DD9IBS#RT,C DD9:<DAT#,6 DD9D#/#T#,= DD9R#L#CT,E If DD9:<DAT# is defined in update strategy and Treat source ro"s as IBS#RT in Session . )!at !appensF 5ints: If in Session anyt!ing ot!er t!an DATA DRI%#B is mentions t!en :pdate strategy in t!e mapping is ignored. What are the three areas where the rows can !e flagged for particular treatment? In mapping, In Session treat Source Ro"s and In Session Target 4ptions. What is the use of ;orward>+e2ect rows in /apping? ,. $%plain the e%pression transformation ? #-pression transformation is used to calculate values in a single ro" efore "riting to t!e target. )!at are t!e default values for varia lesF 5ints: Straing G Bull, Bum er G C, Date G 6A6A6KJE 1-. .ifference !etween +outer and filter transformation? In filter transformation t!e records are filtered ased on t!e condition and re&ected ro"s are discarded. In Router t!e multiple conditions are placed and t!e re&ected ro"s can e assigned to a port. ow many ways you can filter the records? 6. Source *ualifier =. .ilter transformation E. Router transformation H. Ran$er J. :pdate strategy . 11. ow do you call stored procedure and e%ternal procedure transformation ? #-ternal <rocedure can e called in t!e <re0session and post session tag in t!e Session property s!eet. Store procedures are to e called in t!e mapping designer y t!ree met!ods 6. Select t!e icon and add a Stored procedure transformation =. Select transformation 0 Import Stored <rocedure E. Select Transformation 0 Create and t!en select stored procedure. 12. $%plain =oiner transformation and where it is used? )!ile a Source ,ualifier transformation can &oin data originating from a common source data ase, t!e &oiner transformation &oins t"o related !eterogeneous sources residing in different locations or file systems.

HC

T"o relational ta les e-isting in separate data ases T"o flat files in different file systems. T"o different 4D(C sources In one transformation !o" many sources can e coupledF T"o sources can e couples. If more t!an t"o is to e couples add anot!er Loiner in t!e !ierarc!y. )!at are &oin optionsF Bormal >Default? Master 4uter Detail 4uter .ull 4uter 13. $%plain NormaliEer transformation? T!e normaliser transformation normalises records from C4(4/ and relational sources, allo"ing you to organise t!e data according to your o"n needs. A Bormaliser transformation can appear any"!ere in a data flo" "!en you normali2e a relational source. :se a Bormaliser transformation instead of t!e Source *ualifier transformation "!en you normali2e C4(4/ source. )!en you drag a C4(4/ source into t!e Mapping Designer )or$space, t!e Bormaliser transformation appears, creating input and output ports for every columns in t!e source. 14. What is 7ource &ualifier transformation? )!en you add relational or flat file source definition to a mapping , you need to connect to a source *ualifier transformation. T!e source ,ualifier represents t!e records t!at t!e informatica server reads "!en it runs a session. Loin Data originating from t!e same source data ase. .ilter records "!en t!e Informatica server reads t!e source data. Specify an outer &oin rat!er t!an t!e default inner &oin. Specify sorted ports Select only distinct values from t!e source Create a custom ,uery to issue a special S#/#CT statement for t!e Informatica server to read t!e source data. 15. What is +an)er transformation? .ilters t!e re,uired num er of records from t!e top or from t!e ottom. 6M. )!at is target load optionF It defines t!e order in "!ic! informatica server loads t!e data into t!e targets. T!is is to avoid integrity constraint violations 1(. ow do you identify the !ottlenec)s in /appings? (ottlenec$s can occur in 6. Targets T!e most common performance ottlenec$ occurs "!en t!e informatica server "rites to a target data ase. 1ou can identify target ottlenec$ y configuring t!e session to "rite to a flat file target. If t!e session performance increases significantly "!en you "rite to a flat file, you !ave a target ottlenec$. Solution : Drop or Disa le inde- or constraints <erform ul$ load >Ignores Data ase log? Increase commit interval >Recovery is compromised? Tune t!e data ase for R(S, Dynamic #-tension etc., =. Sources Set a filter transformation after eac! S* and see t!e records are not t!roug!. If t!e time ta$en is same t!en t!ere is a pro lem.1ou can also identify t!e Source pro lem y Read Test Session 0 "!ere "e copy t!e mapping "it! sources, S* and remove all transformations and connect to file target. If t!e performance is same t!en t!ere is a Source ottlenec$. :sing data ase ,uery 0 Copy t!e read ,uery directly from t!e log. #-ecute t!e ,uery against t!e source data ase "it! a ,uery tool. If t!e time it ta$es to e-ecute t!e ,uery and t!e time to fetc! t!e first ro" are significantly different, t!en t!e ,uery can e modified using optimi2er !ints. Solutions: 4ptimi2e *ueries using !ints. :se inde-es "!erever possi le.

H6

E. Mapping If ot! Source and target are 4; t!en pro lem could e in mapping. Add a filter transformation efore target and if t!e time is t!e same t!en t!ere is a pro lem. >4R? /oo$ for t!e performance monitor in t!e Sessions property s!eet and vie" t!e counters. Solutions: If 5ig! error ro"s and ro"s in loo$up cac!e indicate a mapping ottlenec$. 4ptimi2e Single <ass Reading: 4ptimi2e /oo$up transformation : 6. Cac!ing t!e loo$up ta le: )!en cac!ing is ena led t!e Informatica server cac!es t!e loo$up ta le and ,ueries t!e cac!e during t!e session. )!en t!is option is not ena led t!e server ,ueries t!e loo$up ta le on a ro"0 y ro" asis. Static, Dynamic, S!ared, :n0s!ared and <ersistent cac!e =. 4ptimi2ing t!e loo$up condition )!enever multiple conditions are placed, t!e condition "it! e,uality sign s!ould ta$e precedence. E. Inde-ing t!e loo$up ta le T!e cac!ed loo$up ta le s!ould e inde-ed on order y columns. T!e session log contains t!e 4RD#R (1 statemen T!e un0cac!ed loo$up since t!e server issues a S#/#CT statement for eac! ro" passing into loo$up transformation, it is etter to inde- t!e loo$up ta le on t!e columns in t!e condition 4ptimi2e .ilter transformation: 1ou can improve t!e efficiency y filtering early in t!e data flo". Instead of using a filter transformation !alf"ay t!roug! t!e mapping to remove a si2a le amount of data. :se a source ,ualifier filter to remove t!ose same ro"s at t!e source,If not possi le to move t!e filter into S*, move t!e filter transformation as close to t!e source ,ualifier as possi le to remove unnecessary data early in t!e data flo". 4ptimi2e Aggregate transformation: 6. Droup y simpler columns. <refera ly numeric columns. =. :se Sorted input. T!e sorted input decreases t!e use of aggregate cac!es. T!e server assumes all input data are sorted and as it reads it performs aggregate calculations. E. :se incremental aggregation in session property s!eet. 4ptimi2e Se,. Denerator transformation: 6. Try creating a reusa le Se,. Denerator transformation and use it in multiple mappings =. T!e num er of cac!ed value property determines t!e num er of values t!e informatica server cac!es at one time. 4ptimi2e #-pression transformation: 6. .actoring out common logic =. Minimi2e aggregate function calls. E. Replace common su 0e-pressions "it! local varia les. H. :se operators instead of functions. H. Sessions If you do not !ave a source, target, or mapping ottlenec$, you may !ave a session ottlenec$. 1ou can identify a session ottlenec$ y using t!e performance details. T!e informatica server creates performance details "!en you ena le Collect <erformance Data on t!e Deneral Ta of t!e session properties.<erformance details display information a out eac! Source *ualifier, target definitions, and individual transformation. All transformations !ave some asic counters t!at indicate t!e Bum er of input ro"s, output ro"s, and error ro"s. Any value ot!er t!an 2ero in t!e readfromdis$ and "ritetodis$ counters for Aggregate, Loiner, or Ran$ transformations indicate a session ottlenec$. /o" ufferInput9efficiency and (uffer4utput9efficiency counter also indicate a session ottlenec$. Small cac!e si2e, lo" uffer memory, and small commit intervals can cause session ottlenec$s. J. System >Bet"or$s? 6P. 5o" to improve t!e Session performanceF 6 Run concurrent sessions = <artition session ><o"er center? E. Tune <arameter 0 DTM uffer pool, (uffer loc$ si2e, Inde- cac!e si2e,data cac!e si2e, Commit Interval, Tracing level >Bormal, Terse, %er ose Init, %er ose Data? T!e session !as memory to !old PE sources and targets. If it is more, t!en DTM can e increased. T!e informatica server uses t!e inde- and data cac!es for Aggregate, Ran$, /oo$up and Loiner transformation. T!e server stores t!e transformed data from t!e a ove transformation in t!e data cac!e efore returning it to t!e data flo". It stores group information for t!ose transformations in inde- cac!e. If t!e allocated data or inde- cac!e is not large enoug! to store t!e date, t!e server stores t!e data in a temporary dis$ file as it processes t!e session data. #ac! time t!e server pages to t!e dis$ t!e performance slo"s. T!is can e seen from t!e counters . Since generally data cac!e is larger t!an t!e inde- cac!e, it !as to e more t!an t!e inde-. H. Remove Staging area J. Tune off Session recovery M. Reduce error tracing 1,. What are tracing le'els? Bormal0default /ogs initiali2ation and status information, errors encountered, s$ipped ro"s due to transformation errors, summari2es session results ut not at t!e ro" level.

H=

Terse /og initiali2ation, error messages, notification of re&ected data. %er ose Init. In addition to normal tracing levels, it also logs additional initiali2ation information, names of inde- and data files used and detailed transformation statistics. %er ose Data. In addition to %er ose init, It records ro" level logs. 2-. What is 7lowly changing dimensions? Slo"ly c!anging dimensions are dimension ta les t!at !ave slo"ly increasing data as "ell as updates to e-isting data. 21. What are mapping parameters and 'aria!les? A mapping parameter is a user defina le constant t!at ta$es up a value efore running a session. It can e used in S* e-pressions, #-pression transformation etc. Steps: Define t!e parameter in t!e mapping designer 0 parameter & varia les . :se t!e parameter in t!e #-pressions. Define t!e values for t!e parameter in t!e parameter file. A mapping varia le is also defined similar to t!e parameter e-cept t!at t!e value of t!e varia le is su &ected to c!ange. It pic$s up t!e value in t!e follo"ing order. 6. .rom t!e Session parameter file =. As stored in t!e repository o &ect in t!e previous run. E. As defined in t!e initial values in t!e designer. H. Default values

HE

Fracle <. ow many types of 7&l 7tatements are there in Fracle? T!ere are asically M types of s,l statements. T!ey are: a? Data Definition /anguage >DD/? T!e DD/ statements define and maintain o &ects and drop o &ects. ? Data Manipulation /anguage >DM/? T!e DM/ statements manipulate data ase data. c? Transaction Control Statements Manage c!ange y DM/ d? Session Control 0:sed to control t!e properties of current session ena ling and disa ling roles and c!anging. #.g. Alter Statements, Set Role e? System Control Statements0C!ange <roperties of 4racle Instance. #.g. Alter System f? #m edded S,l0 Incorporate DD/, DM/ and TCS in <rogramming /anguage. #.g. :sing t!e S,l Statements in languages suc! as \C\, 4pen, .etc!, e-ecute and close <. What is a =oin? A 2oin is a ,uery t!at com ines ro"s from t"o or more ta les, vie"s, or materiali2ed vie"s >]snaps!ots]?. 4racle performs a &oin "!enever multiple ta les appear in t!e ,ueries .R4M clause. T!e ,uery's select list can select any columns from any of t!ese ta les. If any t"o of t!ese ta les !ave a column name in common, you must ,ualify all references to t!ese columns t!roug!out t!e ,uery "it! ta le names to avoid am iguity. <. What are 2oin conditions? Most &oin ,ueries contain )5#R# clause conditions t!at compare t"o columns, eac! from a different ta le. Suc! a condition is called a 2oin condition. To e-ecute a &oin, 4racle com ines pairs of ro"s, eac! containing one ro" from eac! ta le, for "!ic! t!e &oin condition evaluates to TR:#. T!e columns in t!e &oin conditions need not also appear in t!e select list. <. What is an e&ui2oin? An e&ui2oin is a &oin "it! a &oin condition containing an e,uality operator. An e,ui&oin com ines ro"s t!at !ave e,uivalent values for t!e specified columns. #g: Select ename, &o , dept.deptno, dname .rom emp, dept )!ere emp.deptno L dept.deptno^ <. What are self 2oins? A self 2oin is a &oin of a ta le to itself. T!is ta le appears t"ice in t!e .R4M clause and is follo"ed y ta le aliases t!at ,ualify column names in t!e &oin condition. #g: S#/#CT e.ename __ U "or$s for U __ e=.name 7#mployees and t!eir Managers8 .R4M emp e6, emp e= )5#R# e6.mgr G e=.empno^ $NA/$ G0AJ$ JINI Result: (/A;# "or$s for ;IBD <. What is an Futer =oin? An outer &oin e-tends t!e result of a simple &oin. An outer &oin returns all ro"s t!at satisfy t!e &oin condition and t!ose ro"s from one ta le for "!ic! no ro"s from t!e ot!er satisfy t!e &oin condition. Suc! ro"s are not returned y a simple &oin. To "rite a ,uery t!at performs an outer &oin of ta les A and ( and returns all ro"s from A, apply t!e outer &oin operator >S? to all columns of ( in t!e &oin condition. .or all ro"s in A t!at !ave no matc!ing ro"s in (, 4racle returns null for any select list e-pressions containing columns of (. 4uter &oin ,ueries are su &ect to t!e follo"ing rules and restrictions: T!e >S? operator can appear only in t!e )5#R# clause or, in t!e conte-t of left correlation >t!at is, "!en specifying t!e TA(/# clause? in t!e .R4M clause, and can e applied only to a column of a ta le or vie". If A and ( are &oined y multiple &oin conditions, you must use t!e >S? operator in all of t!ese conditions. If you do not, 4racle "ill return only t!e ro"s resulting from a simple &oin, ut "it!out a "arning or error to advise you t!at you do not !ave t!e results of an outer &oin. T!e >S? operator can e applied only to a column, not to an ar itrary e-pression. 5o"ever, an ar itrary e-pression can contain a column mar$ed "it! t!e >S? operator. $/8NF 12345 #(*,/I+ #(*,2244#

HH

A condition containing t!e >S? operator cannot e com ined "it! anot!er condition using t!e 4R logical operator. A condition cannot use t!e IB comparison operator to compare a column mar$ed "it! t!e >S? operator "it! an e-pression. A condition cannot compare any column mar$ed "it! t!e >S? operator "it! a su ,uery.

If t!e )5#R# clause contains a condition t!at compares a column from ta le ( "it! a constant, t!e >S? operator must e applied to t!e column so t!at 4racle returns t!e ro"s from ta le A for "!ic! it !as generated B://s for t!is column. 4t!er"ise 4racle "ill return only t!e results of a simple &oin. In a ,uery t!at performs outer &oins of more t!an t"o pairs of ta les, a single ta le can e t!e null0generated ta le for only one ot!er ta le. .or t!is reason, you cannot apply t!e >S? operator to columns of ( in t!e &oin condition for A and ( and t!e &oin condition for ( and C. 7et FperatorsC 5NIFN MA00N1 IN"$+7$3"1 /IN57 Set operators com ine t!e results of t"o component ,ueries into a single result. *ueries containing set operators are called compound ,ueries. T!e num er and datatypes of t!e columns selected y eac! component ,uery must e t!e same, ut t!e column lengt!s can e different. If you com ine more t!an t"o ,ueries "it! set operators, 4racle evaluates ad&acent ,ueries from left to rig!t. 1ou can use parent!eses to specify a different order of evaluation. Restrictions: T!ese set operators are not valid on columns of type (/4(, C/4(, (.I/#, varray, or nested ta le. T!e :BI4B, IBT#RS#CT, and MIB:S operators are not valid on /4BD columns. To reference a column, you must use an alias to name t!e column. 1ou cannot also specify t!e for9update9clause "it! t!ese set operators. 1ou cannot specify t!e order9 y9clause in t!e su ,uery of t!ese operators.

All set operators !ave e,ual precedence. If a S*/ statement contains multiple set operators, 4racle evaluates t!em from t!e left to rig!t if no parent!eses e-plicitly specify anot!er order. T!e corresponding e-pressions in t!e select lists of t!e component ,ueries of a compound ,uery must matc! in num er and datatype. If component ,ueries select c!aracter data, t!e datatype of t!e return values are determined as follo"s: If ot! ,ueries select values of datatype C5AR, t!e returned values !ave datatype C5AR. If eit!er or ot! of t!e ,ueries select values of datatype %ARC5AR=, t!e returned values !ave datatype %ARC5AR=. <. What is a 5NIFN? T!e :BI4B operator eliminates duplicate records from t!e selected ro"s. )e must matc! datatype >using t!e T49DAT# and T49B:M(#R functions? "!en columns do not e-ist in one or t!e ot!er ta le. <. What is 5NIFN A00? T!e :BI4B A// operator does not eliminate duplicate selected ro"s. NoteC T!e :BI4B operator returns only distinct ro"s t!at appear in eit!er result, "!ile t!e :BI4B A// operator returns all ro"s. <. What is an IN"$+7$3"? T!e IBT#RS#CT operator returns only t!ose ro"s returned y ot! ,ueries. It s!o"s only t!e distinct values from t!e ro"s returned y ot! ,ueries. <. What is /IN57? T!e MIB:S operator returns only ro"s returned y t!e first ,uery ut not y t!e second. It also eliminates t!e duplicates from t!e first ,uery.

HJ

NoteC .or compound ,ueries >containing set operators :BI4B, IBT#RS#CT, MIB:S, or :BI4B A//?, t!e 4RD#R (1 clause must use positions, rat!er t!an e-plicit e-pressions. Also, t!e 4RD#R (1 clause can appear only in t!e last component ,uery. T!e 4RD#R (1 clause orders all ro"s returned y t!e entire compound ,uery. <D What is a "ransaction in Fracle? A transaction is a /ogical unit of "or$ t!at compromises one or more S*/ Statements e-ecuted y a single :ser. According to ABSI, a transaction egins "it! first e-ecuta le statement and ends "!en it is e-plicitly committed or rolled ac$. A transaction is an atomic unit. <. What are some of the Jey Words 5sed in Fracle? Some of t!e ;ey "ords t!at are used in 4racle are: A? 3ommitting: A transaction is said to e committed "!en t!e transaction ma$es permanent c!anges resulting from t!e S*/ statements. ? +oll!ac): A transaction t!at retracts any of t!e c!anges resulting from S*/ statements in Transaction. c? 7a'e8oint: .or long transactions t!at contain many S*/ statements, intermediate mar$ers or savepoints are declared. Savepoints can e used to divide a transaction into smaller points. )e can declare intermediate mar$ers called savepoints "it!in t!e conte-t of a transaction. Savepoints divide a long transaction into smaller parts. :sing savepoints, "e can ar itrarily mar$ our "or$ at any point "it!in a long transaction. )e t!en !ave t!e option later of rolling ac$ "or$ performed efore t!e current point in t!e transaction ut after a declared savepoint "it!in t!e transaction. .or e-ample, "e can use savepoints t!roug!out a long comple- series of updates so t!at if "e ma$e an error, "e do not need to resu mit every statement. d? +olling ;orward: <rocess of applying redo log during recovery is called rolling for"ard. e? 3ursor: A cursor is a !andle >name or a pointer? for t!e memory associated "it! a specific statement. A cursor is asically an area allocated y 4racle for e-ecuting t!e S,l Statement. 4racle uses an implicit cursor statement for Single ro" ,uery and :ses #-plicit cursor for a multi ro" ,uery. f? 7ystem Ilo!al Area B7IAD: T!e SDA is a s!ared memory region allocated y t!e 4racle t!at contains Data and control information for one 4racle Instance. It consists of Data ase (uffer Cac!e and Redo log (uffer. >;<IT Infotec!, <une? g? 8rogram Ilo!al Area B8IAD: T!e <DA is a memory uffer t!at contains data and control information for server process. g? .ata!ase Guffer 3ache: Data ase (uffer of SDA stores t!e most recently used loc$s of data ase data. T!e set of data ase uffers in an instance is called Data ase (uffer Cac!e. !? +edo log Guffer: Redo log (uffer of SDA stores all t!e redo log entries. i? +edo 0og ;iles: Redo log files are set of files t!at protect altered data ase data in memory t!at !as not een "ritten to Data .iles. T!ey are asically used for ac$up "!en a data ase cras!es. &? 8rocess: A <rocess is a \t!read of control\ or mec!anism in 4perating System t!at e-ecutes series of steps. <. What are 8rocedure1 functions and 8ac)ages? <rocedures and functions consist of set of </AS*/ statements t!at are grouped toget!er as a unit to solve a specific pro lem or perform set of related tas$s. 8rocedures do not return values "!ile .unctions return one %alue. 8ac)ages: <ac$ages provide a met!od of encapsulating and storing related procedures, functions, varia les and ot!er <ac$age Contents <. What are .ata!ase "riggers and 7tored 8rocedures? .ata!ase "riggers: Data ase Triggers are <rocedures t!at are automatically e-ecuted as a result of insert in, update to, or delete from ta le. Data ase triggers !ave t!e values old and ne" to denote t!e old value in t!e ta le efore it is deleted and t!e ne" indicated t!e ne" value t!at "ill e used. DT is useful for implementing compleusiness rules "!ic! cannot e enforced using t!e integrity rules. )e can !ave t!e trigger as (efore trigger or After Trigger and at Statement or Ro" level. e.g:: operations insert, update ,delete E efore ,after ER= A total of M com inations At statement level>once for t!e trigger? or ro" level> for every e-ecution ? M R = A total of 6=. T!us a total of 6= com inations are t!ere and t!e restriction of usage of 6= triggers !as een lifted from 4racle K.E 4n"ards. 7tored 8rocedures: Stored <rocedures are <rocedures t!at are stored in Compiled form in t!e data ase. T!e advantage of using t!e stored procedures is t!at many users can use t!e same procedure in compiled and ready to use format. <. ow many Integrity +ules are there and what are they?

T!ere are T!ree Integrity Rules. T!ey are as follo"s: a? #ntity Integrity Rule: T!e #ntity Integrity Rule enforces t!at t!e <rimary $ey cannot e Bull ? .oreign ;ey Integrity Rule: T!e .;IR denotes t!at t!e relations!ip et"een t!e foreign $ey and t!e primary $ey !as to e enforced. )!en t!ere is data in C!ild Ta les t!e Master ta les cannot e deleted.

HM

c? (usiness Integrity Rules: T!e T!ird Integrity rule is a out t!e comple- usiness processes "!ic! cannot e implemented y t!e a ove = rules. <. What are the :arious /aster and .etail +elationships? T!e various Master and Detail Relations!ip are a? Bo Isolated : T!e Master cannot e deleted "!en a c!ild is e-isting ? Isolated : T!e Master can e deleted "!en t!e c!ild is e-isting c? Cascading : T!e c!ild gets deleted "!en t!e Master is deleted. <. What are the :arious Gloc) 3oordination 8roperties? T!e various (loc$ Coordination <roperties are: a? Immediate 0 Default Setting. T!e Detail records are s!o"n "!en t!e Master Record are s!o"n. ? Deferred "it! Auto *uery0 4racle .orms defer fetc!ing t!e detail records until t!e operator navigates to t!e detail loc$. c? Deferred "it! Bo Auto *uery0 T!e operator must navigate to t!e detail loc$ and e-plicitly e-ecute a ,uery <. What are the .ifferent FptimiEation "echni&ues? T!e %arious 4ptimi2ation tec!ni,ues are: a? #-ecute <lan: "e can see t!e plan of t!e ,uery and c!ange it accordingly ased on t!e inde-es ? 4ptimi2er9!int: set9item9property >\Dept(loc$\,4<TIMIX#R95IBT,\.IRST9R4)S\?^ Select ARS .irst9Ro"s RA Deptno,Dname,/oc,Ro"id from dept "!ere >Deptno O =J? c? 4ptimi2e9S,l: (y setting t!e 4ptimi2e9S,l G Bo, 4racle .orms assigns a single cursor for all S*/ statements. T!is slo" do"ns t!e processing ecause for every time t!e S*/ must e parsed "!enever t!ey are e-ecuted. fHJrun module G my9firstform userid G scottAtiger optimi2e9s,l G Bo d? 4ptimi2e9Tp: (y setting t!e 4ptimi2e9TpG Bo, 4racle .orms assigns seperate cursor only for eac! ,uery S#/#CT statement. All ot!er S*/ statements reuse t!e cursor. fHJrun module G my9firstform userid G scottAtiger optimi2e9Tp G Bo <. ow do u implement the If statement in the 7elect 7tatement? )e can implement t!e if statement in t!e select statement y using t!e Decode statement. e.g select D#C4D# >#M<9CAT,\6\,\.irst\,\=\,\Second', Bull?^ <. ow many types of $%ceptions are there? T!ere are = types of e-ceptions. T!ey are: a? System #-ceptions e.g. )!en no9data9found, )!en too9many9ro"s ? :ser Defined #-ceptions e.g. My9e-ception e-ception )!en My9e-ception t!en <. What are the inline and the precompiler directi'es? T!e inline and precompiler directives detect t!e values directly. <. ow do you use the same lo' for 2 columns? )e can use t!e same lov for = columns y passing t!e return values in glo al values and using t!e glo al values in t!e code. <. ow many minimum groups are re&uired for a matri% report? T!e minimum num er of groups in matri- report is H. <. What is the difference !etween static and dynamic lo'? T!e static lov contains t!e predetermined values "!ile t!e dynamic lov contains values t!at come at run time. <. What are the FF87 concepts in Fracle? 4racle does implement t!e 44<S concepts. T!e est e-ample is t!e <roperty Classes. )e can categori2e t!e properties y setting t!e visual attri utes and t!en attac! t!e property classes for t!e o &ects. 44<S supports t!e concepts of o &ects and classes and "e can consider t!e property classes as classes and t!e items as o &ects <. What is the difference !etween candidate )ey1 uni&ue )ey and primary )ey? Candidate $eys are t!e columns in t!e ta le t!at could e t!e primary $eys and t!e primary $ey is t!e $ey t!at !as een selected to identify t!e ro"s. :ni,ue $ey is also useful for identifying t!e distinct ro"s in t!e ta le. <. What is concurrency?

HK

Concurrency is allo"ing simultaneous access of same data y different users. /oc$s useful for accessing t!e data ase are: a? #-clusive 0 T!e e-clusive loc$ is useful for loc$ing t!e ro" "!en an insert, update or delete is eing done. T!is loc$ s!ould not e applied "!en "e do only select from t!e ro". ? S!are loc$ 0 )e can do t!e ta le as S!are9/oc$ and as many s!are9loc$s can e put on t!e same resource. <. What are 8ri'ileges and Irants? <rivileges are t!e rig!t to e-ecute a particular type of S*/ statements. #.g. Rig!t to Connect, Rig!t to create, Rig!t to resource Drants are given to t!e o &ects so t!at t!e o &ect mig!t e accessed accordingly. T!e grant !as to e given y t!e o"ner of t!e o &ect. <. What are "a!le 7pace1 .ata ;iles1 8arameter ;ile and 3ontrol ;iles? "a!le 7pace: T!e ta le space is useful for storing t!e data in t!e data ase. )!en a data ase is created t"o ta le spaces are created. a? System Ta le space: T!is data file stores all t!e ta les related to t!e system and d a ta les ? :ser Ta le space: T!is data file stores all t!e user related ta les )e s!ould !ave separate ta le spaces for storing t!e ta les and inde-es so t!at t!e access is fast. .ata ;ilesC #very 4racle Data (ase !as one or more p!ysical data files. T!ey store t!e data for t!e data ase. #very data file is associated "it! only one data ase. 4nce t!e Data file is created t!e si2e cannot c!ange. To increase t!e si2e of t!e data ase to store more data "e !ave to add data file. 8arameter ;iles: <arameter file is needed to start an instance.A parameter file contains t!e list of instance configuration parameters. e.g. d 9 loc$9 uffers G JCC d 9name G 4RAK d 9domain G u.s.acme lang 3ontrol ;iles: Control files record t!e p!ysical structure of t!e data files and redo log files T!ey contain t!e D name, name and location of d s, data files, redo log files and time stamp. <. 7ome of the terms related to 8hysical 7torage of the .ata. T!e finest level of granularity of t!e data ase is t!e data loc$s. .ata Gloc) : 4ne Data (loc$ correspond to specific num er of p!ysical data ase space $%tent : #-tent is t!e num er of specific num er of contiguous data loc$s. 7egments : Set of #-tents allocated for #-tents. T!ere are t!ree types of Segments. a? Data Segment: Bon Clustered Ta le !as data segment data of every ta le is stored in cluster data segment ? Inde- Segment: #ac! Inde- !as inde- segment t!at stores data c? Roll (ac$ Segment: Temporarily store \undo\ information <. What are the 8ct ;ree and 8ct 5sed? <ct .ree is used to denote t!e percentage of t!e free space t!at is to e left "!en creating a ta le. Similarly <ct :sed is used to denote t!e percentage of t!e used space t!at is to e used "!en creating a ta le #.g. <ctfree =C, <ctused HC <. What is +ow 3haining? T!e data of a ro" in a ta le may not e a le to fit t!e same data loc$. Data for ro" is stored in a c!ain of data loc$s. <. What is a 2 8hase 3ommit? T"o <!ase commit is used in distri uted data ase systems. T!is is useful to maintain t!e integrity of t!e data ase so t!at all t!e users see t!e same values. It contains DM/ statements or Remote <rocedural calls t!at reference a remote o &ect. T!ere are asically = p!ases in a = p!ase commit. a? <repare <!ase: Dlo al coordinator as$s participants to prepare ? Commit <!ase: Commit all participants to coordinator to <repared, Read only or a ort Reply A t"o0p!ase commit mec!anism guarantees t!at all data ase servers participating in a distri uted transaction eit!er all commit or all roll ac$ t!e statements in t!e transaction. A t"o0p!ase commit mec!anism also protects implicit DM/ operations performed y integrity constraints, remote procedure calls, and triggers. <. What is the difference !etween deleting and truncating of ta!les? Deleting a ta le "ill not remove t!e ro"s from t!e ta le ut entry is t!ere in t!e data ase dictionary and it can e retrieved (ut truncating a ta le deletes it completely and it cannot e retrieved. <. What are mutating ta!les?

HP

)!en a ta le is in state of transition it is said to e mutating. #.g. If a ro" !as een deleted t!en t!e ta le is said to e mutating and no operations can e done on t!e ta le e-cept select. <. What are 3odd +ules? Codd Rules descri e t!e ideal nature of a RD(MS. Bo RD(MS satisfies all t!e 6= codd rules and 4racle Satisfies 66 of t!e 6= rules and is t!e only RD(MS to satisfy t!e ma-imum num er of rules. <. What is NormaliEation? Bormali2ation is t!e process of organi2ing t!e ta les to remove t!e redundancy. T!ere are mainly J Bormali2ation rules. 6 Bormal .orm 0 A ta le is said to e in 6st Bormal .orm "!en t!e attri utes are atomic = Bormal .orm 0 A ta le is said to e in =nd Bormal .orm "!en all t!e candidate $eys are dependant on t!e primary $ey Erd Bormal .orm 0 A ta le is said to e t!ird Bormal form "!en it is not dependant transitively <. What is the .ifference !etween a post &uery and a pre &uery? A post ,uery "ill fire for every ro" t!at is fetc!ed ut t!e pre ,uery "ill fire only once. <. ow can we delete the duplicate rows in the ta!le? )e can delete t!e duplicate ro"s in t!e ta le y using t!e Ro"id. Delete emp "!ere ro"idG>select ma->ro"id? from emp group y empno? Delete emp a "!ere ro"numG>select ma->ro"num? from emp g "!ere a.empnoG .empno? <. 3an 5 disa!le data!ase trigger? ow? 1es. )it! respect to ta le A/T#R TA(/# TA(/# Z DISA(/# all9trigger [

<. What are pseudocolumns? Name them? A pseudocolumn e!aves li$e a ta le column, ut is not actually stored in t!e ta le. 1ou can select from pseudocolumns, ut you cannot insert, update, or delete t!eir values. T!is section descri es t!ese pseudocolumns: R C:RR%A/ R B#3T%A/ R /#%#/ R R4)ID R R4)B:M <. ow many columns can ta!le ha'e? T!e num er of columns in a ta le can range from 6 to =JH.

<. Is space ac&uired in !loc)s or e%tents? In e-tents. <. What is clustered inde%? In an inde-ed cluster, ro"s are stored toget!er ased on t!eir cluster $ey values. Can not e applied for 5AS5. <. What are the datatypes supported Gy oracle BIN"$+NA0D? varc!ar=, Bum er, C!ar, M/S/A(#/. <. What are attri!utes of cursor? `.4:BD , `B4T.4:BD , `IS4<#B,`R4)C4:BT <. 3an you use select in ;+F/ clause of 7<0 select ? 1es. <. .escri!e the difference !etween a procedure1 function and anonymous pl>s&l !loc). Candidate s!ould mention use of D#C/AR# statement, a function must return a value "!ile a procedure doesn't !ave to. <. What is a mutating ta!le error and how can you get around it? T!is !appens "it! triggers. It occurs ecause t!e trigger is trying to modify a ro" it is currently using. T!e usual fiinvolves eit!er use of vie"s or temporary ta les so t!e data ase is selecting from one "!ile updating t!e ot!er. <. .escri!e the use of O+FW"@8$ and O"@8$ in 80>7<0. `R4)T1<# allo"s you to associate a varia le "it! an entire ta le ro". T!e `T1<# associates a varia le "it! a single column type.

<. What pac)ages Bif anyD has Fracle pro'ided for use !y de'elopers? 4racle provides t!e D(MS9 series of pac$ages. T!ere are many "!ic! developers s!ould e a"are of suc! as D(MS9S*/, D(MS9<I<#, D(MS9TRABSACTI4B, D(MS9/4C;, D(MS9A/#RT, D(MS94:T<:T, D(MS9L4(,

HQ

D(MS9:TI/IT1, D(MS9DD/, :T/9.I/#. If t!ey can mention a fe" of t!ese and descri e !o" t!ey used t!em, even etter. If t!ey include t!e S*/ routines provided y 4racle, great, ut not really "!at "as as$ed. <. .escri!e the use of 80>7<0 ta!les. </AS*/ ta les are scalar arrays t!at can e referenced y a inary integer. T!ey can e used to !old values for use in later ,ueries or calculations. In 4racle P t!ey "ill e a le to e of t!e `R4)T1<# designation, or R#C4RD. <. When is a declare statement needed? T!e D#C/AR# statement is used in </AS*/ anonymous loc$s suc! as "it! stand alone, non0stored </AS*/ procedures. It must come first in a </AS*/ standalone file if it is used. <. In what order should a open>fetch>loop set of commands in a 80>7<0 !loc) !e implemented if you use the ONF";F5N. cursor 'aria!le in the e%it when statement? Why? 4<#B t!en .#TC5 t!en /44< follo"ed y t!e e-it "!en. If not specified in t!is order "ill result in t!e final return eing done t"ice ecause of t!e "ay t!e `B4T.4:BD is !andled y </AS*/. <. What are 7<03F.$ and 7<0$++/ and why are they important for 80>7<0 de'elopers? S*/C4D# returns t!e value of t!e error num er for t!e last error encountered. T!e S*/#RRM returns t!e actual error message for t!e last error encountered. T!ey can e used in e-ception !andling to report, or, store in an error log ta le, t!e error t!at occurred in t!e code. T!ese are especially useful for t!e )5#B 4T5#RS e-ception. <. ow can you find within a 80>7<0 !loc)1 if a cursor is open? :se t!e `IS4<#B cursor status varia le. <. ow can you generate de!ugging output from 80>7<0? :se t!e D(MS94:T<:T pac$age. Anot!er possi le met!od is to &ust use t!e S54) #RR4R command, ut t!is only s!o"s errors. T!e D(MS94:T<:T pac$age can e used to s!o" intermediate results from loops and t!e status of varia les as t!e procedure is e-ecuted. T!e ne" pac$age :T/9.I/# can also e used. <. What are the types of triggers? T!ere are 6= types of triggers in </AS*/ t!at consist of com inations of t!e (#.4R#, A.T#R, R4), TA(/#, IBS#RT, :<DAT#, D#/#T# and A// $ey "ords: (#.4R# A// R4) IBS#RT A.T#R A// R4) IBS#RT (#.4R# IBS#RT A.T#R IBS#RT <. ow can 'aria!les !e passed to a 7<0 routine? (y use of t!e & or dou le && sym ol. .or passing in varia les num ers can e used >&6, &=,...,&P? to pass t!e values after t!e command into t!e S*/</:S session. To e prompted for a specific varia le, place t!e ampersanded varia le in t!e code itself: 7select R from d a9ta les "!ere o"nerG&o"ner9name^8 . :se of dou le ampersands tells S*/</:S to resu stitute t!e value for eac! su se,uent use of t!e varia le, a single ampersand "ill cause a reprompt for t!e value unless an ACC#<T statement is used to get t!e value from t!e user. <. @ou want to include a carriage return>linefeed in your output from a 7<0 script1 how can you do this? T!e est met!od is to use t!e C5R>? function >C5R>6C? is a returnAlinefeed? and t!e concatenation function 7__8. Anot!er met!od, alt!oug! it is !ard to document and isn't al"ays porta le is to use t!e returnAlinefeed as a part of a ,uoted string. <. ow can you call a 80>7<0 procedure from 7<0? (y use of t!e #3#C:T# >s!ort form #3#C? command. 1ou can also "rap t!e call in a (#DIB #BD loc$ and treat it as an anonymous </AS*/ loc$. <. ow do you e%ecute a host operating system command from within 7<0? (y use of t!e e-clamation point 7T8 >in :BI3 and some ot!er 4S? or t!e 54ST >54? command. <. @ou want to use 7<0 to !uild 7<01 what is this called and gi'e an e%ample? T!is is called dynamic S*/. An e-ample "ould e: set lines QC pages C termout off feed ac$ off verify off spool drop9all.s,l

JC

select Udrop user U__username__' cascade^' from d a9users "!ere username not in >7S1S','S1ST#M'?^ spool off #ssentially you are loo$ing to see t!at t!ey $no" to include a command >in t!is case DR4< :S#R...CASCAD#^? and t!at you need to concatenate using t!e U__' t!e values selected from t!e data ase. <. What 7<08lus command is used to format output from a select? T!is is est done "it! t!e C4/:MB command. <. @ou want to group the following set of select returns1 what can you group on? /a%BsumHofHcostD1 minBsumHofHcostD1 countBitemHnoD1 itemHno T!e only column t!at can e grouped on is t!e 7item9no8 column, t!e rest !ave aggregate functions associated "it! t!em. <. What special Fracle feature allows you to specify how the cost !ased system treats a 7<0 statement? T!e C4ST ased system allo"s t!e use of 5IBTs to control t!e optimi2er pat! selection. If t!ey can give some e-ample !ints suc! as .IRST R4)S, A// R4)S, :SIBD IBD#3, STAR, even etter. <. @ou want to determine the location of identical rows in a ta!le !efore attempting to place a uni&ue inde% on the ta!le1 how can this !e done? 4racle ta les al"ays !ave one guaranteed uni,ue column, t!e ro"id column. If you use a minAma- function against your ro"id and t!en select against t!e proposed primary $ey you can s,uee2e out t!e ro"ids of t!e duplicate ro"s pretty ,uic$. .or e-ample: select ro"id from emp e "!ere e.ro"id O >select min>-.ro"id? from emp - "!ere -.emp9no G e.emp9no?^ In t!e situation "!ere multiple columns ma$e up t!e proposed $ey, t!ey must all e used in t!e "!ere clause. <. What is a 3artesian product? A Cartesian product is t!e result of an unrestricted &oin of t"o or more ta les. T!e result set of a t!ree ta le Cartesian product "ill !ave - R y R 2 num er of ro"s "!ere -, y, 2 correspond to t!e num er of ro"s in eac! ta le involved in t!e &oin. T!is occurs if t!ere are not at least n06 &oins "!ere n is t!e num er of ta les in a S#/#CT. <. @ou are 2oining a local and a remote ta!le1 the networ) manager complains a!out the traffic in'ol'ed1 how can you reduce the networ) traffic? <us! t!e processing of t!e remote data to t!e remote instance y using a vie" to pre0select t!e information for t!e &oin. T!is "ill result in only t!e data re,uired for t!e &oin eing sent across. <. What is the default ordering of an F+.$+ G@ clause in a 7$0$3" statement? Ascending <. What is t)prof and how is it used? T!e t$prof tool is a tuning tool used to determine cpu and e-ecution times for S*/ statements. 1ou use it y first setting timed9statistics to true in t!e initiali2ation file and t!en turning on tracing for eit!er t!e entire data ase via t!e s,l9trace parameter or for t!e session using t!e A/T#R S#SSI4B command. 4nce t!e trace file is generated you run t!e t$prof tool against t!e trace file and t!en loo$ at t!e output from t!e t$prof tool. T!is can also e used to generate e-plain plan output. <. What is e%plain plan and how is it used? T!e #3</AIB </AB command is a tool to tune S*/ statements. To use it you must !ave an e-plain9ta le generated in t!e user you are running t!e e-plain plan for. T!is is created using t!e utl-plan.s,l script. 4nce t!e e-plain plan ta le e-ists you run t!e e-plain plan command giving as its argument t!e S*/ statement to e e-plained. T!e e-plain9plan ta le is t!en ,ueried to see t!e e-ecution plan of t!e statement. #-plain plans can also e run using t$prof. <. ow do you set the num!er of lines on a page of output? "he width? T!e S#T command in S*/</:S is used to control t!e num er of lines generated per page and t!e "idt! of t!ose lines, for e-ample S#T <AD#SIX# MC /IB#SIX# PC "ill generate reports t!at are MC lines long "it! a line "idt! of PC c!aracters. T!e <AD#SIX# and /IB#SIX# options can e s!ortened to <AD#S and /IB#S. <. ow do you pre'ent output from coming to the screen?

J6

T!e S#T option T#RM4:T controls output to t!e screen. Setting T#RM4:T 4.. turns off screen output. T!is option can e s!ortened to T#RM. <. ow do you pre'ent Fracle from gi'ing you informational messages during and after a 7<0 statement e%ecution? T!e S#T options .##D(AC; and %#RI.1 can e set to 4... <. ow do you generate file output from 7<0? (y use of t!e S<44/ command. .ata /odelerC <. .escri!e third normal form? #-pected ans"er: Somet!ing li$e: In t!ird normal form all attri utes in an entity are related to t!e primary $ey and only to t!e primary $ey <. Is the following statement true or false? )!y or "!y notF PAll relational data!ases must !e in third normal formQ .alse. )!ile EB. is good for logical design most data ases, if t!ey !ave more t!an &ust a fe" ta les, "ill not perform "ell using full EB.. :sually some entities "ill e denormali2ed in t!e logical to p!ysical transfer process. <. What is an $+.? An #RD is an #ntity0Relations!ip0Diagram. It is used to s!o" t!e entities and relations!ips for a data ase logical model. <. Why are recursi'e relationships !ad? ow do you resol'e them? A recursive relations!ip >one "!ere a ta le relates to itself? is ad "!en it is a !ard relations!ip >i.e. neit!er side is a 7may8 ot! are 7must8? as t!is can result in it not eing possi le to put in a top or per!aps a ottom of t!e ta le >for e-ample in t!e #M</41## ta le you couldn't put in t!e <R#SID#BT of t!e company ecause !e !as no oss, or t!e &unior &anitor ecause !e !as no su ordinates?. T!ese type of relations!ips are usually resolved y adding a small intersection entity. <. What does a hard one6to6one relationship mean Bone where the relationship on !oth ends is PmustQD? T!is means t!e t"o entities s!ould pro a ly e made into one entity. <. ow should a many6to6many relationship !e handled? (y adding an intersection entity ta le <. What is an artificial Bderi'edD primary )ey? When should an artificial Bor deri'edD primary )ey !e used? A derived $ey comes from a se,uence. :sually it is used "!en a concatenated $ey ecomes too cum ersome to use as a foreign $ey. <. When should you consider denormaliEation? )!enever performance analysis indicates it "ould e eneficial to do so "it!out compromising data integrity. <. What is a 7chema? Associated "it! eac! data ase user is a sc!ema. A sc!ema is a collection of sc!ema o &ects. Sc!ema o &ects include ta les, vie"s, se,uences, synonyms, inde-es, clusters, data ase lin$s, snaps!ots, procedures, functions, and pac$ages. <. What do you mean !y ta!le? Ta les are t!e asic unit of data storage in an 4racle data ase. Data is stored in ro"s and columns. A ro" is a collection of column information corresponding to a single record. <. Is there an alternati'e of dropping a column from a ta!le? If yes1 what? Dropping a column in a large ta le ta$es a considera le amount of time. A ,uic$er alternative is to mar$ a column as unused "it! t!e S#T :B:S#D clause of t!e A/T#R TA(/# statement. T!is ma$es t!e column data unavaila le, alt!oug! t!e data remains in eac! ro" of t!e ta le. After mar$ing a column as unused, you can add anot!er column t!at !as t!e same name to t!e ta le. T!e unused column can t!en e dropped at a later time "!en you "ant to reclaim t!e space occupied y t!e column data. <. What is a rowid? T!e ro"id identifies eac! ro" piece y its location or address. 4nce assigned, a given ro" piece retains its ro"id until t!e corresponding ro" is deleted, or e-ported and imported using t!e #-port and Import utilities. <. What is a 'iew? BJ8I" Infotech1 8uneD

J=

A vie" is a tailored presentation of t!e data contained in one or more ta les or ot!er vie"s. A vie" ta$es t!e output of a ,uery and treats it as a ta le. T!erefore, a vie" can e t!oug!t of as a stored ,uery or a virtual ta le. :nli$e a ta le, a vie" is not allocated any storage space, nor does a vie" actually contain data. Rat!er, a vie" is defined y a ,uery t!at e-tracts or derives data from t!e ta les t!at t!e vie" references. T!ese ta les are called ase ta les. (ase ta les can in turn e actual ta les or can e vie"s t!emselves >including snaps!ots?. (ecause a vie" is ased on ot!er o &ects, a vie" re,uires no storage ot!er t!an storage for t!e definition of t!e vie" >t!e stored ,uery? in t!e data dictionary. <. What are the ad'antages of ha'ing a 'iew? T!e advantages of !aving a vie" are: To provide an additional level of ta le security y restricting access to a predetermined set of ro"s or columns of a ta le To !ide data comple-ity To simplify statements for t!e user To present t!e data in a different perspective from t!at of t!e ase ta le To isolate applications from c!anges in definitions of ase ta les To save comple- ,ueries .or e-ample, a ,uery can perform e-tensive calculations "it! ta le information. (y saving t!is ,uery as a vie", you can perform t!e calculations eac! time t!e vie" is ,ueried. <. What is a /aterialiEed :iew? B oneywell1 J8I" Infotech1 8uneD Materiali2ed vie"s, also called snaps!ots, are sc!ema o &ects t!at can e used to summari2e, precompute, replicate, and distri ute data. T!ey are suita le in various computing environments especially for data "are!ousing. .rom a p!ysical design point of vie", Materiali2ed %ie"s resem les ta les or partitioned ta les and e!ave li$e inde-es. <. What is the significance of /aterialiEed :iews in data warehousing? In data "are!ouses, materiali2ed vie"s are used to precompute and store aggregated data suc! as sums and averages. Materiali2ed vie"s in t!ese environments are typically referred to as summaries ecause t!ey store summari2ed data. T!ey can also e used to precompute &oins "it! or "it!out aggregations. Cost0 ased optimi2ation can use materiali2ed vie"s to improve ,uery performance y automatically recogni2ing "!en a materiali2ed vie" can and s!ould e used to satisfy a re,uest. T!e optimi2er transparently re"rites t!e re,uest to use t!e materiali2ed vie". *ueries are t!en directed to t!e materiali2ed vie" and not to t!e underlying detail ta les or vie"s. <. .ifferentiate !etween :iews and /aterialiEed :iews? >;<IT Infotec!, <une? <. What is the ma2or difference !etween an inde% and /aterialiEed 'iew? :nli$e inde-es, materiali2ed vie"s can e accessed directly using a S#/#CT statement. <. What are the procedures for refreshing /aterialiEed 'iews? 4racle maintains t!e data in materiali2ed vie"s y refres!ing t!em after c!anges are made to t!eir master ta les. T!e refres! met!od can e: a? incremental >fast refres!? or ? complete .or materiali2ed vie"s t!at use t!e fast refres! met!od, a materiali2ed vie" log or direct loader log $eeps a record of c!anges to t!e master ta les. Materiali2ed vie"s can e refres!ed eit!er on demand or at regular time intervals. Alternatively, materiali2ed vie"s in t!e same data ase as t!eir master ta les can e refres!ed "!enever a transaction commits its c!anges to t!e master ta les. <. What are materialiEed 'iew logs? A materiali2ed vie" log is a sc!ema o &ect t!at records c!anges to a master ta le's data so t!at a materiali2ed vie" defined on t!e master ta le can e refres!ed incrementally. Anot!er name for materiali2ed vie" log is snaps!ot log. #ac! materiali2ed vie" log is associated "it! a single master ta le. T!e materiali2ed vie" log resides in t!e same data ase and sc!ema as its master ta le. <. What is a synonym? A synonym is an alias for any ta le, vie", snaps!ot, se,uence, procedure, function, or pac$age. (ecause a synonym is simply an alias, it re,uires no storage ot!er t!an its definition in t!e data dictionary. <. What are the ad'antages of ha'ing synonyms? Synonyms are often used for security and convenience. .or e-ample, t!ey can do t!e follo"ing: 6. Mas$ t!e name and o"ner of an o &ect =. <rovide location transparency for remote o &ects of a distri uted data ase

JE

E.

Simplify S*/ statements for data ase users

<. What are the ad'antages of ha'ing an inde%? Fr What is an inde%? T!e purpose of an inde- is to provide pointers to t!e ro"s in a ta le t!at contain a given $ey value. In a regular inde-, t!is is ac!ieved y storing a list of ro"ids for eac! $ey corresponding to t!e ro"s "it! t!at $ey value. 4racle stores eac! $ey value repeatedly "it! eac! stored ro"id. <. What are the different types of inde%es supported !y Fracle? T!e different types of inde-es are: a. (0tree inde-es . (0tree cluster inde-es c. 5as! cluster inde-es d. Reverse $ey inde-es e. (itmap inde-es <. 3an we ha'e function !ased inde%es? 1es, "e can create inde-es on functions and e-pressions t!at involve one or more columns in t!e ta le eing inde-ed. A function0 ased inde- precomputes t!e value of t!e function or e-pression and stores it in t!e inde-. 1ou can create a function0 ased inde- as eit!er a (0tree or a itmap inde-. <. What are the restrictions on function !ased inde%es? T!e function used for uilding t!e inde- can e an arit!metic e-pression or an e-pression t!at contains a </AS*/ function, pac$age function, C callout, or S*/ function. T!e e-pression cannot contain any aggregate functions, and it must e D#T#RMIBISTIC. .or uilding an inde- on a column containing an o &ect type, t!e function can e a met!od of t!at o &ect, suc! as a map met!od. 5o"ever, you cannot uild a function0 ased inde- on a /4( column, R#., or nested ta le column, nor can you uild a function0 ased inde- if t!e o &ect type contains a /4(, R#., or nested ta le. <. What are the ad'antages of ha'ing a G6tree inde%? T!e ma&or advantages of !aving a (0tree inde- are: 6. (0trees provide e-cellent retrieval performance for a "ide range of ,ueries, including e-act matc! and range searc!es. =. Inserts, updates, and deletes are efficient, maintaining $ey order for fast retrieval. E. (0tree performance is good for ot! small and large ta les, and does not degrade as t!e si2e of a ta le gro"s. <. What is a !itmap inde%? >;<IT Infotec!, <une? T!e purpose of an inde- is to provide pointers to t!e ro"s in a ta le t!at contain a given $ey value. In a regular inde-, t!is is ac!ieved y storing a list of ro"ids for eac! $ey corresponding to t!e ro"s "it! t!at $ey value. 4racle stores eac! $ey value repeatedly "it! eac! stored ro"id. In a itmap inde-, a itmap for eac! $ey value is used instead of a list of ro"ids. #ac! it in t!e itmap corresponds to a possi le ro"id. If t!e it is set, t!en it means t!at t!e ro" "it! t!e corresponding ro"id contains t!e $ey value. A mapping function converts t!e it position to an actual ro"id, so t!e itmap inde- provides t!e same functionality as a regular inde- even t!oug! it uses a different representation internally. If t!e num er of different $ey values is small, t!en itmap inde-es are very space efficient. (itmap inde-ing efficiently merges inde-es t!at correspond to several conditions in a )5#R# clause. Ro"s t!at satisfy some, ut not all, conditions are filtered out efore t!e ta le itself is accessed. T!is improves response time, often dramatically. <. What are the ad'antages of ha'ing !itmap inde% for data warehousing applications? >;<IT Infotec!, <une? (itmap inde-ing enefits data "are!ousing applications "!ic! !ave large amounts of data and ad !oc ,ueries ut a lo" level of concurrent transactions. .or suc! applications, itmap inde-ing provides: 6. Reduced response time for large classes of ad !oc ,ueries =. A su stantial reduction of space usage compared to ot!er inde-ing tec!ni,ues E. Dramatic performance gains even on very lo" end !ard"are H. %ery efficient parallel DM/ and loads <. What is the ad'antage of !itmap inde% o'er G6tree inde%? .ully inde-ing a large ta le "it! a traditional (0tree inde- can e pro!i itively e-pensive in terms of space since t!e inde- can e several times larger t!an t!e data in t!e ta le. (itmap inde-es are typically only a fraction of t!e si2e of t!e inde-ed data in t!e ta le. <. What is the limitation>draw!ac) of a !itmap inde%? (itmap inde-es are not suita le for 4/T< applications "it! large num ers of concurrent transactions modifying t!e data. T!ese inde-es are primarily intended for decision support in data "are!ousing applications "!ere users typically ,uery t!e data rat!er t!an update it. (itmap inde-es are not suita le for !ig!0cardinality data. <. ow do you choose !etween G6tree inde% and !itmap inde%?

JH

T!e advantages of using itmap inde-es are greatest for lo" cardinality columns: t!at is, columns in "!ic! t!e num er of distinct values is small compared to t!e num er of ro"s in t!e ta le. If t!e values in a column are repeated more t!an a !undred times, t!en t!e column is a candidate for a itmap inde-. #ven columns "it! a lo"er num er of repetitions and t!us !ig!er cardinality, can e candidates if t!ey tend to e involved in comple- conditions in t!e )5#R# clauses of ,ueries. .or e-ample, on a ta le "it! one million ro"s, a column "it! 6C,CCC distinct values is a candidate for a itmap inde-. A itmap inde- on t!is column can out0perform a (0tree inde-, particularly "!en t!is column is often ,ueried in con&unction "it! ot!er columns. (0tree inde-es are most effective for !ig!0cardinality data: t!at is, data "it! many possi le values, suc! as C:ST4M#R9BAM# or <54B#9B:M(#R. A regular (tree inde- can e several times larger t!an t!e inde-ed data. :sed appropriately, itmap inde-es can e significantly smaller t!an a corresponding (0tree inde-. <. What are clusters? Clusters are an optional met!od of storing ta le data. A cluster is a group of ta les t!at s!are t!e same data loc$s ecause t!ey s!are common columns and are often used toget!er. .or e-ample, t!e #M< and D#<T ta le s!are t!e D#<TB4 column. )!en you cluster t!e #M< and D#<T ta les, 4racle p!ysically stores all ro"s for eac! department from ot! t!e #M< and D#<T ta les in t!e same data loc$s. <. What is partitioning? >;<IT Infotec!, <une? <artitioning addresses t!e $ey pro lem of supporting very large ta les and inde-es y allo"ing you to decompose t!em into smaller and more managea le pieces called partitions. 4nce partitions are defined, S*/ statements can access and manipulate t!e partitions rat!er t!an entire ta les or inde-es. <artitions are especially useful in data "are!ouse applications, "!ic! commonly store and analy2e large amounts of !istorical data. <. What are the different partitioning methods? T"o primary met!ods of partitioning are availa le: 6. range partitioning, "!ic! partitions t!e data in a ta le or inde- according to a range of values, and =. !as! partitioning, "!ic! partitions t!e data according to a !as! function. Anot!er met!od, composite partitioning, partitions t!e data y range and furt!er su divides t!e data into su partitions using a !as! function. <. What is the necessity to ha'e ta!le partitions? T!e need to partition large ta les is driven y: Data )are!ouse and (usiness Intelligence demands for ad !oc analysis on great ,uantities of !istorical data C!eaper dis$ storage Application performance failure due to use of traditional tec!ni,ues <. What are the ad'antages of storing each partition in a separate ta!lespace? T!e ma&or advantages are: 6. 1ou can contain t!e impact of data corruption. =. 1ou can ac$ up and recover eac! partition or su partition independently. E. 1ou can map partitions or su partitions to dis$ drives to alance t!e IA4 load. <. What are the ad'antages of partitioning? <artitioning is useful for: 6. %ery /arge Data ases >%/D(s? =. Reducing Do"ntime for Sc!eduled Maintenance E. Reducing Do"ntime Due to Data .ailures H. DSS <erformance J. IA4 <erformance M. Dis$ Striping: <erformance versus Availa ility K. <artition Transparency <. What is +ange 8artitioning? >;<IT Infotec!, <une? Range partitioning maps ro"s to partitions ased on ranges of column values. Range partitioning is defined y t!e partitioning specification for a ta le or inde-: <ARTITI4B (1 RABD# > column9list ? and y t!e partitioning specifications for eac! individual partition: %A/:#S /#SS T5AB > value9list ? <. What is ash 8artitioning? 5as! partitioning uses a !as! function on t!e partitioning columns to stripe data into partitions. 5as! partitioning allo"s data t!at does not lend itself to range partitioning to e easily partitioned for performance reasons suc! as parallel DM/, partition pruning, and partition0"ise &oins. <. What are the ad'antages of ash partitioning o'er +ange 8artitioning? 5as! partitioning is a etter c!oice t!an range partitioning "!en:

JJ

a? ? c?

1ou do not $no" efore!and !o" muc! data "ill map into a given range Si2es of range partitions "ould differ ,uite su stantially <artition pruning and partition0"ise &oins on a partitioning $ey are important

<. What are the rules for partitioning a ta!le? A ta le can e partitioned if: + It is not part of a cluster + It does not contain /4BD or /4BD RA) datatypes <. What is a glo!al partitioned inde%? In a glo al partitioned inde-, t!e $eys in a particular inde- partition may refer to ro"s stored in more t!an one underlying ta le partition or su partition. A glo al inde- can only e range0partitioned, ut it can e defined on any type of partitioned ta le. <. What is a local inde%? In a local inde-, all $eys in a particular inde- partition refer only to ro"s stored in a single underlying ta le partition. A local inde- is created y specifying t!e /4CA/ attri ute. <. What are 30FG and N30FG datatypes? >Mascot? T!e C/4( and BC/4( datatypes store up to four giga ytes of c!aracter data in t!e data ase. C/4(s store single0 yte c!aracter set data and BC/4(s store fi-ed0"idt! and varying0"idt! multi yte national c!aracter set data >BC5AR data?. <. What is 80>7<0? </AS*/ is 4racle's procedural language e-tension to S*/. </AS*/ ena les you to mi- S*/ statements "it! procedural constructs. )it! </AS*/, you can define and e-ecute </AS*/ program units suc! as procedures, functions, and pac$ages. </AS*/ program units generally are categori2ed as anonymous loc$s and stored procedures. <. What is an anonymous !loc)? An anonymous loc$ is a </AS*/ loc$ t!at appears "it!in your application and it is not named or stored in t!e data ase. <. What is a 7tored 8rocedure? A stored procedure is a </AS*/ loc$ t!at 4racle stores in t!e data ase and can e called y name from an application. )!en you create a stored procedure, 4racle parses t!e procedure and stores its parsed representation in t!e data ase. <. What is a distri!uted transaction? A distri uted transaction is a transaction t!at includes one or more statements t!at update data on t"o or more distinct nodes of a distri uted data ase. <. What are pac)ages? >;<IT Infotec!, <une? A pac$age is a group of related procedures and functions, toget!er "it! t!e cursors and varia les t!ey use, stored toget!er in t!e data ase for continued use as a unit. )!ile pac$ages allo" t!e administrator or application developer t!e a ility to organi2e suc! routines, t!ey also offer increased functionality >for e-ample, glo al pac$age varia les can e declared and used y any procedure in t!e pac$age? and performance >for e-ample, all o &ects of t!e pac$age are parsed, compiled, and loaded into memory once?. <. What are procedures and functions? >;<IT Infotec!, <une? A procedure or function is a sc!ema o &ect t!at consists of a set of S*/ statements and ot!er </AS*/ constructs, grouped toget!er, stored in t!e data ase, and e-ecuted as a unit to solve a specific pro lem or perform a set of related tas$s. <rocedures and functions permit t!e caller to provide parameters t!at can e input only, output only, or input and output values. <. What is the difference !etween 8rocedure and ;unction? <rocedures and functions are identical e-cept t!at functions al"ays return a single value to t!e caller, "!ile procedures do not return values to t!e caller. <. What is a ./0 and what do they do? Data manipulation language >DM/? statements ,uery or manipulate data in e-isting sc!ema o &ects. T!ey ena le you to: 6. Retrieve data from one or more ta les or vie"s >S#/#CT? =. Add ne" ro"s of data into a ta le or vie" >IBS#RT? E. C!ange column values in e-isting ro"s of a ta le or vie" >:<DAT#? H. Remove ro"s from ta les or vie"s >D#/#T#? J. See t!e e-ecution plan for a S*/ statement >#3</AIB </AB?

JM

M.

/oc$ a ta le or vie", temporarily limiting ot!er users' access >/4C; TA(/#?

<. What is a ..0 and what do they do? Data definition language >DD/? statements define, alter t!e structure of, and drop sc!ema o &ects. DD/ statements ena le you to: 6. Create, alter, and drop sc!ema o &ects and ot!er data ase structures, including t!e data ase itself and data ase users >CR#AT#, A/T#R, DR4<? =. C!ange t!e names of sc!ema o &ects >R#BAM#? E. Delete all t!e data in sc!ema o &ects "it!out removing t!e o &ects' structure >TR:BCAT#? H. Dat!er statistics a out sc!ema o &ects, validate o &ect structure, and list c!ained ro"s "it!in o &ects >ABA/1X#? J. Drant and revo$e privileges and roles >DRABT, R#%4;#? M. Turn auditing options on and off >A:DIT, B4A:DIT? K. Add a comment to t!e data dictionary >C4MM#BT? <. What are shared s&lAs? 4racle automatically notices "!en applications send identical S*/ statements to t!e data ase. T!e S*/ area used to process t!e first occurrence of t!e statement is s!aredat!at is, used for processing su se,uent occurrences of t!at same statement. T!erefore, only one s!ared S*/ area e-ists for a uni,ue statement. Since s!ared S*/ areas are s!ared memory areas, any 4racle process can use a s!ared S*/ area. T!e s!aring of S*/ areas reduces memory usage on t!e data ase server, t!ere y increasing system t!roug!put. <. What are triggers? 4racle allo"s to define procedures called triggers t!at e-ecute implicitly "!en an IBS#RT, :<DAT#, or D#/#T# statement is issued against t!e associated ta le or, in some cases, against a vie", or "!en data ase system actions occur. T!ese procedures can e "ritten in </AS*/ or Lava and stored in t!e data ase, or t!ey can e "ritten as C callouts. <. What is 3ost6!ased FptimiEation? :sing t!e cost0 ased approac!, t!e optimi2er determines "!ic! e-ecution plan is most efficient y considering availa le access pat!s and factoring in information ased on statistics for t!e sc!ema o &ects >ta les or inde-es? accessed y t!e S*/ statement. <. What is +ule6Gased FptimiEation? :sing t!e rule0 ased approac!, t!e optimi2er c!ooses an e-ecution plan ased on t!e access pat!s availa le and t!e ran$s of t!ese access pat!s. <. What is meant !y degree of parallelism? T!e num er of parallel e-ecution servers associated "it! a single operation is $no"n as t!e degree of parallelism. <. What is meant !y data consistency? Data consistency means t!at eac! user sees a consistent vie" of t!e data, including visi le c!anges made y t!e user's o"n transactions and transactions of ot!er users. <. What are 0oc)s? /oc$s are mec!anisms t!at prevent destructive interaction et"een transactions accessing t!e same resourcea eit!er user o &ects suc! as ta les and ro"s or system o &ects not visi le to users, suc! as s!ared data structures in memory and data dictionary ro"s. <. What are the loc)ing modes used in Fracle? 4racle uses t"o modes of loc$ing in a multiuser data ase: #-clusive loc$ mode: <revents t!e associates resource from eing s!ared. T!is loc$ mode is o tained to modify data. T!e first transaction to loc$ a resource e-clusively is t!e only transaction t!at can alter t!e resource until t!e e-clusive loc$ is released. S!are loc$ mode: Allo"s t!e associated resource to e s!ared, depending on t!e operations involved. Multiple users reading data can s!are t!e data, !olding s!are loc$s to prevent concurrent access y a "riter >"!o needs an e-clusive loc$?. Several transactions can ac,uire s!are loc$s on t!e same resource. <. What is a deadloc)? A deadloc$ can occur "!en t"o or more users are "aiting for data loc$ed y eac! ot!er. <. ow can you a'oid deadloc)s? Multita le deadloc$s can usually e avoided if transactions accessing t!e same ta les loc$ t!ose ta les in t!e same order, eit!er t!roug! implicit or e-plicit loc$s. .or e-ample, all application developers mig!t follo" t!e rule t!at "!en ot! a master and detail ta le are updated, t!e master ta le is loc$ed first and t!en t!e detail ta le. If suc! rules are properly designed and t!en follo"ed in all applications, deadloc$s are very unli$ely to occur. <. What is redo log? T!e redo log, present for every 4racle data ase, records all c!anges made in an 4racle data ase. T!e redo log of a data ase consists of at least t"o redo log files t!at are separate from t!e datafiles >"!ic! actually store a data ase's data?. As part of data ase recovery from an instance or media failure, 4racle applies t!e appropriate c!anges in t!e data ase's redo log to t!e datafiles, "!ic! updates data ase data to t!e instant t!at t!e failure occurred.

JK

A data ase's redo log can consist of t"o parts: t!e online redo log and t!e arc!ived redo log. <. What are +oll!ac) 7egments? Roll ac$ segments are used for a num er of functions in t!e operation of an 4racle data ase. In general, t!e roll ac$ segments of a data ase store t!e old values of data c!anged y ongoing transactions for uncommitted transactions. Among ot!er t!ings, t!e information in a roll ac$ segment is used during data ase recovery to undo any uncommitted c!anges applied from t!e redo log to t!e datafiles. T!erefore, if data ase recovery is necessary, t!en t!e data is in a consistent state after t!e roll ac$ segments are used to remove all uncommitted data from t!e datafiles. <. What is 7IA? T!e System Dlo al Area >SDA? is a s!ared memory region t!at contains data and control information for one 4racle instance. An SDA and t!e 4racle ac$ground processes constitute an 4racle instance. 4racle allocates t!e system glo al area "!en an instance starts and deallocates it "!en t!e instance s!uts do"n. #ac! instance !as its o"n system glo al area. :sers currently connected to an 4racle server s!are t!e data in t!e system glo al area. .or optimal performance, t!e entire system glo al area s!ould e as large as possi le >"!ile still fitting in real memory? to store as muc! data in memory as possi le and minimi2e dis$ IA4. T!e information stored "it!in t!e system glo al area is divided into several types of memory structures, including t!e data ase uffers, redo log uffer, and t!e s!ared pool. T!ese areas !ave fi-ed si2es and are created during instance startup. <. What is 83";+$$? T!e <CT.R## parameter sets t!e minimum percentage of a data loc$ to e reserved as free space for possi le updates to ro"s t!at already e-ist in t!at loc$. <. What is 83"57$.? T!e <CT:S#D parameter sets t!e minimum percentage of a loc$ t!at can e used for ro" data plus over!ead efore ne" ro"s "ill e added to t!e loc$. After a data loc$ is filled to t!e limit determined y <CT.R##, 4racle considers t!e loc$ unavaila le for t!e insertion of ne" ro"s until t!e percentage of t!at loc$ falls elo" t!e parameter <CT:S#D. :ntil t!is value is ac!ieved, 4racle uses t!e free space of t!e data loc$ only for updates to ro"s already contained in t!e data loc$. NotesC Bulls are stored in t!e data ase if t!ey fall et"een columns "it! data values. In t!ese cases t!ey re,uire one yte to store t!e lengt! of t!e column >2ero?. Trailing nulls in a ro" re,uire no storage ecause a ne" ro" !eader signals t!at t!e remaining columns in t!e previous ro" are null. .or e-ample, if t!e last t!ree columns of a ta le are null, no information is stored for t!ose columns. In ta les "it! many columns, t!e columns more li$ely to contain nulls s!ould e defined last to conserve dis$ space. T"o ro"s can ot! contain all nulls "it!out violating a uni,ue inde-. B:// values in inde-es are considered to e distinct e-cept "!en all t!e non0B:// values in t"o or more ro"s of an inde- are identical, in "!ic! case t!e ro"s are considered to e identical. T!erefore, :BI*:# inde-es prevent ro"s containing B:// values from eing treated as identical. (itmap inde-es include ro"s t!at !ave B:// values, unli$e most ot!er types of inde-es. Inde-ing of nulls can e useful for some types of S*/ statements, suc! as ,ueries "it! t!e aggregate function C4:BT. (itmap inde-es on partitioned ta les must e local inde-es. PL/SQL is 4racle's procedural language e-tension to S*/. </AS*/ com ines t!e ease and fle-i ility of S*/ "it! t!e procedural functionality of a structured programming language, suc! as I. ... T5#B, )5I/#, and /44<. )!en designing a data ase application, a developer s!ould consider t!e advantages of using stored </AS*/: (ecause b </AS*/ code can e stored centrally in a data ase, net"or$ traffic et"een applications and t!e data ase is reduced, so application and system performance increases. Data b access can e controlled y stored </AS*/ code. In t!is case, t!e users of </AS*/ can access data only as intended y t!e application developer >unless anot!er access route is granted?. </AS*/ b loc$s can e sent y an application to a data ase, e-ecuting compleoperations "it!out e-cessive net"or$ traffic. #ven "!en </AS*/ is not stored in t!e data ase, applications can send loc$s of

JP

</AS*/ to t!e data ase rat!er t!an individual S*/ statements, t!ere y again reducing net"or$ traffic. T!e follo"ing sections descri e t!e different program units t!at can e defined and stored centrally in a data ase. 3ommitting and +olling Gac) "ransactions T!e c!anges made y t!e S*/ statements t!at constitute a transaction can e eit!er committed or rolled ac$. After a transaction is committed or rolled ac$, t!e ne-t transaction egins "it! t!e ne-t S*/ statement. Committing a transaction ma$es permanent t!e c!anges resulting from all S*/ statements in t!e transaction. T!e c!anges made y t!e S*/ statements of a transaction ecome visi le to ot!er user sessions' transactions t!at start only after t!e transaction is committed. Rolling back a transaction retracts any of t!e c!anges resulting from t!e S*/ statements in t!e transaction. After a transaction is rolled ac$, t!e affected data is left unc!anged as if t!e S*/ statements in t!e transaction "ere never e-ecuted. Introduction to the .ata .ictionary 4ne of t!e most important parts of an 4racle data ase is its data dictionary, "!ic! is a read6only set of ta les t!at provides information a out its associated data ase. A data dictionary contains: T!e b definitions of all sc!ema o &ects in t!e data ase >ta les, vie"s, inde-es, clusters, synonyms, se,uences, procedures, functions, pac$ages, triggers, and so on? 5o" b muc! space !as een allocated for, and is currently used y, t!e sc!ema o &ects Default b values for columns Integrity b constraint information T!e b names of 4racle users <rivileges b and roles eac! user !as een granted Auditing b information, suc! as "!o !as accessed or updated various sc!ema o &ects 4t!er b general data ase information T!e data dictionary is structured in ta les and vie"s, &ust li$e ot!er data ase data. All t!e data dictionary ta les and vie"s for a given data ase are stored in t!at data ase's S1ST#M ta lespace. Bot only is t!e data dictionary central to every 4racle data ase, it is an important tool for all users, from end users to application designers and data ase administrators. To access t!e data dictionary, you use S*/ statements. (ecause t!e data dictionary is read0only, you can issue only ,ueries >S#/#CT statements? against t!e ta les and vie"s of t!e data dictionary. <. What is the function of .5//@ ta!le? T!e ta le named D:A/ is a small ta le in t!e data dictionary t!at 4racle and user "ritten programs can reference to guarantee a $no"n result. T!is ta le !as one column called D:MM1 and one ro" containing t!e value ]3]. Data ases, ta lespaces, and datafiels are closely related, ut t!ey !ave important differences: Data ases and ta lespaces: An 4racle data ase consists of one or more logical storage units called ta lespaces, "!ic! collectively store all of t!e data ase's data. Ta lespaces and datafiles: #ac! ta le in an 4racle data ase consists of one or more files called datafiles, "!ic! are p!ysical structures t!at conform "it! t!e operating system in "!ic! 4racle is running. data ases and datafiles: A data ase's data is collectively stored in t!e datafiles t!at constitute eac! ta lespace of t!e data ase. .or e-ample, t!e simplest 4racle data ase "ould !ave one ta lespace and one datafile. Anot!er data ase mig!t !ave t!ree ta lespaces, eac! consisting of t"o datafiles >for a total of si- datafiles?. Nulls A n ll is t!e a sence of a value in a column of a ro". Bulls indicate missing, un$no"n, or inapplica le data. A null s!ould not e used to imply any ot!er value, suc! as 2ero. A column allo"s nulls unless a B4T B:// or <RIMAR1 ;#1 integrity constraint !as een defined for t!e column, in "!ic! case no ro" can e inserted "it!out a value for t!at column. Bulls are stored in t!e data ase if t!ey fall et"een columns "it! data values. In

JQ

t!ese cases t!ey re,uire one yte to store t!e lengt! of t!e column >2ero?. Trailing nulls in a ro" re,uire no storage ecause a ne" ro" !eader signals t!at t!e remaining columns in t!e previous ro" are null. .or e-ample, if t!e last t!ree columns of a ta le are null, no information is stored for t!ose columns. In ta les "it! many columns, t!e columns more li$ely to contain nulls s!ould e defined last to conserve dis$ space. Most comparisons et"een nulls and ot!er values are y definition neit!er true nor false, ut un$no"n. To identify nulls in S*/, use t!e IS B:// predicate. :se t!e S*/ function B%/ to convert nulls to non0null values. Bulls are not inde-ed, e-cept "!en t!e cluster $ey column value is null or t!e indeis a itmap inde-. )!at are different types of loc$sF <. /aster ta!le and 3hild ta!le performances and comparisons in Fracle? <. What are the different types of 3ursors? $%plain. >5oney"ell? <. What are the different types of .eletes? <. 3an a :iew !e updated? Inter'iew <uestions from 6. =. E. H. J. M. oneywell )!at is pragmaF Can you "rite commit in triggersF Can you call user defined functions in select statements Can you call insertAupdateAdelete in select statements. If yes !o"F If no "!at is t!e ot!er "ayF After update !o" do you $no", !o" many records got updated Select statement does not retrieve any records. )!at e-ception is raisedF

Inter'iew <uestions from 7hreesoft 6. 5o" many columns can a </S*/ ta le !ave Inter'iew <uestions from mascot 1. What is 0oad !alancing 4 what u ha'e used to do this? B7<0 0oader D 2. What r +outers? </AS*/ 6. =. E. H. J. M. K. )!at are different types of &oinsF Difference et"een <ac$ages and <rocedures Difference et"een .unction and <rocedures 5o" many types of triggers are t!ereF )!en do you use Triggers Can you "rite DD/ statements in TriggersF >Bo? )!at is 5intF 5o" do you tune a S*/ ,ueryF

Intervie" *uestions from ;<IT Infotec!, <une 6. =. E. <ac$age ody )!at is molar ,ueryF )!at is ro" level security

Deneral: )!y 4RAC/# is t!e est data ase for Data"are!ousing .or data loading in 4racle, "!at are conventional loading and direct0pat! loading F K. If you use oracle S*/R/oader, !o" do you transform data "it! it during loading F #-ample. T!ree "ays S*/R/oader could doad data, "!at are t!ose t!ree types F )!at are t!e contents of ] ad files] and ]discard files] "!en using S*/R/oader F 5o" do you use commit fre,uencies F !o" does it affect loading performance F )!at are t!e ot!er factors of t!e data ase on "!ic! t!e loading performance depend F R )5AT IS <ARA//#/ISM F R )5AT IS A <ARA//#/ *:#R1 F R )5AT AR# DI..#R#BT )A1S 4. /4ADIBD DATA T4 DATA)AR#54:S# :SIBD 4RAC/#F R )5AT IS TA(/# <ARTITI4BIBDF 54) IT IS :S#.:/ T4 )AR#54:S# DATA(AS#F R )5AT AR# DI..#R#BT T1<#S 4. <ARTITI4BIBD IB 4RAC/#F R )5AT IS A MAT#RIA/IX#D %I#)F 54) IT IS DI..#R#BT .R4M B4RMA/ ABD IB/IB# %I#)SF R )5AT IS IBD#3IBDF )5AT AR# DI..#R#BT T1<#S 4. IBD#3#S S:<<4RT#D (1 4RAC/#F R )5AT AR# DI..#R#BT ST4RAD# 4<TI4BS S:<<4RT#D (1 4RAC/#F

MC

R )5AT IS *:#R1 4<TIMIX#RF )5AT AR# DI..#R#BT T1<#S 4. 4<TIMIX#RS S:<<4RT#D (1 4RAC/#F R #3</AIB R4//:<,C:(#,RAB; ABD D#BS#9RAB; .:BCTI4BS 4. 4RAC/# Pi. T!e advantages of using itmap inde-es are greatest for lo" cardinality columns: t!at is, columns in "!ic! t!e num er of distinct values is small compared to t!e num er of ro"s in t!e ta le. A gender column, "!ic! only !as t"o distinct values >male and female?, is ideal for a itmap inde-. 5o"ever, data "are!ouse administrators "ill also c!oose to uild itmap inde-es on columns "it! muc! !ig!er cardinalities. /ocal vs glo al: A (0tree inde- on a partitioned ta le can e local or glo al. Dlo al inde-es must e fully re uilt after a direct load, "!ic! can e very costly "!en loading a relatively small num er of ro"s into a large ta le. .or t!is reason, it is strongly recommended t!at inde-es on partitioned ta les s!ould e defined as local inde-es unless t!ere is a "ell0&ustified performance re,uirement for a glo al inde-. (itmap inde-es on partitioned ta les are al"ays local. Why 3onstraints are 5seful in a .ata Warehouse Constraints provide a mec!anism for ensuring t!at data conforms to guidelines specified y t!e data ase administrator. T!e most common types of constraints include uni,ue constraints >ensuring t!at a given column is uni,ue?, not0null constraints, and foreign0$ey constraints >"!ic! ensure t!at t"o $eys s!are a primary $ey0foreign $ey relations!ip?. /aterialiEed :iews for .ata Warehouses In data "are!ouses, materiali2ed vie"s can e used to precompute and store aggregated data suc! as t!e sum of sales. Materiali2ed vie"s in t!ese environments are typically referred to as summaries, ecause t!ey store summari2ed data. T!ey can also e used to precompute &oins "it! or "it!out aggregations. A materiali2ed vie" eliminates t!e over!ead associated "it! e-pensive &oins or aggregations for a large or important class of ,ueries. "he Need for /aterialiEed :iews Materiali2ed vie"s are used in data "are!ouses to increase t!e speed of ,ueries on very large data ases. *ueries to large data ases often involve &oins et"een ta les or aggregations suc! as S:M, or ot!. T!ese operations are very e-pensive in terms of time and processing po"er. 5o" does M%'s "or$F T!e ,uery optimi2er can use materiali2ed vie"s y automatically recogni2ing "!en an e-isting materiali2ed vie" can and s!ould e used to satisfy a re,uest. It t!en transparently re"rites t!e re,uest to use t!e materiali2ed vie". *ueries are t!en directed to t!e materiali2ed vie" and not to t!e underlying detail ta les. In general, re"riting ,ueries to use materiali2ed vie"s rat!er t!an detail ta les results in a significant performance gain. If a materiali2ed vie" is to e used y ,uery re"rite, it must e stored in t!e same data ase as its fact or detail ta les. A materiali2ed vie" can e partitioned, and you can define a materiali2ed vie" on a partitioned ta le and one or more inde-es on t!e materiali2ed vie". T!e types of materiali2ed vie"s are: Materiali2ed b %ie"s "it! Loins and Aggregates Single0Ta b le Aggregate Materiali2ed %ie"s Materiali2ed b %ie"s Containing 4nly Loins Some :seful system ta les: user9ta 9partitions user9ta 9columns .oc3 +epository related <uestions <. What is the difference !etween 8ower3enter and 8ower/art? )it! <o"erCenter, you receive all product functionality, including t!e a ility to register multiple servers, s!are metadata across repositories, and partition data.

M6

A <o"erCenter license lets you create a single repository t!at you can configure as a glo al repository, t!e core component of a data "are!ouse. <o"erMart includes all features e-cept distri uted metadata, multiple registered servers, and data partitioning. Also, t!e various options availa le "it! <o"erCenter >suc! as <o"erCenter Integration Server for (), <o"erConnect for I(M D(=, <o"erConnect for I(M M*Series, <o"erConnect for SA< RAE, <o"erConnect for Sie el, and <o"erConnect for <eopleSoft? are not availa le "it! <o"erMart. <. What are the new features and enhancements in 8ower3enter 5.1? T!e ma&or features and en!ancements to <o"erCenter J.6 are: a? <erformance #n!ancements

igh precision decimal arithmetic. T!e Informatica Server optimi2es data t!roug!put to increase performance of sessions using t!e #na le Decimal Arit!metic option. "oH.ecimal and Aggregate functions. T!e Informatica Server uses improved algorit!ms to increase performance of To9Decimal and all aggregate functions suc! as percentile, median, and average. 3ache management. T!e Informatica Server uses etter cac!e management to increase performance of Aggregator, Loiner, /oo$up, and Ran$ transformations. 8artition sessions with sorted aggregation. 1ou can partition sessions "it! Aggregator transformation t!at use sorted input. T!is improves memory usage and increases performance of sessions t!at !ave sorted data. ? Rela-ed Data Code <age %alidation )!en ena led, t!e Informatica Client and Informatica Server lift code page selection and validation restrictions. 1ou can select any supported code page for source, target, loo$up, and stored procedure data.

c? Designer .eatures and #n!ancements

.e!ug mapplets. 1ou can de ug a mapplet "it!in a mapping in t!e Mapping Designer. 1ou can set rea$points in transformations in t!e mapplet. 7upport for slash character B>D in ta!le and field names. 1ou can use t!e Designer to import source and target definitions "it! ta le and field names containing t!e slas! c!aracter >A?. T!is allo"s you to import SA< () source definitions y connecting directly to t!e underlying data ase ta les.

d? Server Manager .eatures and #n!ancements

3ontinuous sessions. 1ou can sc!edule a session to run continuously. A continuous session starts automatically "!en t!e /oad Manager starts. )!en t!e session stops, it restarts immediately "it!out resc!eduling. :se continuous sessions "!en reading real time sources, suc! as I(M M*Series. 8artition sessions with sorted aggregators. 1ou can partition sessions "it! sorted aggregators in a mapping. +egister multiple ser'ers against a local repository. 1ou can register multiple <o"erCenter Servers against a local repository.

<. What is a repository? T!e Informatica repository is a relational data ase t!at stores information, or metadata, used y t!e Informatica Server and Client tools. T!e repository also stores administrative information suc! as usernames and pass"ords, permissions and privileges, and product version. )e create and maintain t!e repository "it! t!e Repository Manager client tool. )it! t!e Repository Manager, "e can also create folders to organi2e metadata and groups to organi2e users. <. What are different )inds of repository o!2ects? And what it will contain? Repository o &ects displayed in t!e Bavigator can include sources, targets, transformations, mappings, mapplets, s!ortcuts, sessions, atc!es, and session logs. <. What is a metadata? Designing a data mart involves "riting and storing a comple- set of instructions. 1ou need to $no" "!ere to get data >sources?, !o" to c!ange it, and "!ere to "rite t!e information >targets?. <o"erMart and <o"erCenter call t!is set of

M=

instructions metadata. #ac! piece of metadata >for e-ample, t!e description of a source ta le in an operational data ase? can contain comments a out it. In summary, Metadata can include information suc! as mappings descri ing !o" to transform source data, sessions indicating "!en you "ant t!e Informatica Server to perform t!e transformations, and connect strings for sources and targets. <. What are folders? .olders let you organi2e your "or$ in t!e repository, providing a "ay to separate different types of metadata or different pro&ects into easily identifia le areas. <. What is a 7hared ;older? A s!ared folder is one, "!ose contents are availa le to all ot!er folders in t!e same repository. If "e plan on using t!e same piece of metadata in several pro&ects >for e-ample, a description of t!e C:ST4M#RS ta le t!at provides data for a variety of purposes?, you mig!t put t!at metadata in t!e s!ared folder. <. What are mappings? A mapping specifies !o" to move and transform data from sources to targets. Mappings include source and target definitions and transformations. Transformations descri e !o" t!e Informatica Server transforms data. Mappings can also include s!ortcuts, reusa le transformations, and mapplets. :se t!e Mapping Designer tool in t!e Designer to create mappings. <. What are mapplets? 1ou can design a mapplet to contain sets of transformation logic to e reused in multiple mappings "it!in a folder, a repository, or a domain. Rat!er t!an recreate t!e same set of transformations eac! time, you can create a mapplet containing t!e transformations, t!en add instances of t!e mapplet to individual mappings. :se t!e Mapplet Designer tool in t!e Designer to create mapplets. <. What are "ransformations? A transformation generates, modifies, or passes data t!roug! ports t!at you connect in a mapping or mapplet. )!en you uild a mapping, you add transformations and configure t!em to !andle data according to your usiness purpose. :se t!e Transformation Developer tool in t!e Designer to create transformations. <. What are +eusa!le transformations? 1ou can design a transformation to e reused in multiple mappings "it!in a folder, a repository, or a domain. Rat!er t!an recreate t!e same transformation eac! time, you can ma$e t!e transformation reusa le, t!en add instances of t!e transformation to individual mappings. :se t!e Transformation Developer tool in t!e Designer to create reusa le transformations. <. What are 7essions and Gatches? Sessions and atc!es store information a out !o" and "!en t!e Informatica Server moves data t!roug! mappings. 1ou create a session for eac! mapping you "ant to run. 1ou can group several sessions toget!er in a atc!. :se t!e Server Manager to create sessions and atc!es. <. What are 7hortcuts? )e can create s!ortcuts to o &ects in s!ared folders. S!ortcuts provide t!e easiest "ay to reuse o &ects. )e use a s!ortcut as if it "ere t!e actual o &ect, and "!en "e ma$e a c!ange to t!e original o &ect, all s!ortcuts in!erit t!e c!ange. S!ortcuts to folders in t!e same repository are $no"n as local s!ortcuts. S!ortcuts to t!e glo al repository are called glo al s!ortcuts. )e use t!e Designer to create s!ortcuts. <. What are 7ource definitions? Detailed descriptions of data ase o &ects >ta les, vie"s, synonyms?, flat files, 3M/ files, or Co ol files t!at provide source data. .or e-ample, a source definition mig!t e t!e complete structure of t!e #M</41##S ta le, including

ME

t!e ta le name, column names and datatypes, and any constraints applied to t!ese columns, suc! as B4T B:// or <RIMAR1 ;#1. :se t!e Source Analy2er tool in t!e Designer to import and create source definitions. <. What are "arget definitions? Detailed descriptions for data ase o &ects, flat files, Co ol files, or 3M/ files to receive transformed data. During a session, t!e Informatica Server "rites t!e resulting data to session targets. :se t!e )are!ouse Designer tool in t!e Designer to import or create target definitions. <. What is .ynamic .ata 7tore? T!e need to s!are data is &ust as pressing as t!e need to s!are metadata. 4ften, several data marts in t!e same organi2ation need t!e same information. .or e-ample, several data marts may need to read t!e same product data from operational sources, perform t!e same profita ility calculations, and format t!is information to ma$e it easy to revie". If eac! data mart reads, transforms, and "rites t!is product data separately, t!e t!roug!put for t!e entire organi2ation is lo"er t!an it could e. A more efficient approac! "ould e to read, transform, and "rite t!e data to one central data store s!ared y all data marts. Transformation is a processing0intensive tas$, so performing t!e profita ility calculations once saves time. T!erefore, t!is $ind of dynamic data store >DDS? improves t!roug!put at t!e level of t!e entire organi2ation, including all data marts. To improve performance furt!er, you mig!t "ant to capture incremental c!anges to sources. .or e-ample, rat!er t!an reading all t!e product data eac! time you update t!e DDS, you can improve performance y capturing only t!e inserts, deletes, and updates t!at !ave occurred in t!e <R4D:CTS ta le since t!e last time you updated t!e DDS. T!e DDS !as one additional advantage eyond performance: "!en you move data into t!e DDS, you can format it in a standard fas!ion. .or e-ample, you can prune sensitive employee data t!at s!ould not e stored in any data mart. 4r you can display date and time values in a standard format. 1ou can perform t!ese and ot!er data cleansing tas$s "!en you move data into t!e DDS instead of performing t!em repeatedly in separate data marts. <. When should you create the dynamic data store? .o you need a ..7 at all? To decide "!et!er you s!ould create a dynamic data store >DDS?, consider t!e follo"ing issues:

ow much data do you need to store in the ..7? T!e one principal advantage of data marts is t!e selectivity of information included in it. Instead of a copy of everyt!ing potentially relevant from t!e 4/T< data ase and flat files, data marts contain only t!e information needed to ans"er specific ,uestions for a specific audience >for e-ample, sales performance data used y t!e sales division?. A dynamic data store is a !y rid of t!e galactic "are!ouse and t!e individual data mart, since it includes all t!e data needed for all t!e data marts it supplies. If t!e dynamic data store contains nearly as muc! information as t!e 4/T< source, you mig!t not need t!e intermediate step of t!e dynamic data store. 5o"ever, if t!e dynamic data store includes su stantially less t!an all t!e data in t!e source data ases and flat files, you s!ould consider creating a DDS staging area. What )ind of standards do you need to enforce in your data marts? Creating a DDS is an important tec!ni,ue in enforcing standards. If data marts depend on t!e DDS for information, you can provide t!at data in t!e range and format you "ant everyone to use. .or e-ample, if you "ant all data marts to include t!e same information on customers, you can put all t!e data needed for t!is standard customer profile in t!e DDS. Any data mart t!at reads customer data from t!e DDS s!ould include all t!e information in t!is profile. ow often do you update the contents of the ..7? If you plan to fre,uently update data in data marts, you need to update t!e contents of t!e DDS at least as often as you update t!e individual data marts t!at t!e DDS feeds. 1ou may find it easier to read data directly from source data ases and flat file systems if it ecomes urdensome to update t!e DDS fast enoug! to $eep up "it! t!e needs of individual data marts. 4r, if particular data marts need updates significantly faster t!an ot!ers, you can ypass t!e DDS for t!ese fast update data marts. Is the data in the ..7 simply a copy of data from source systems1 or do you plan to reformat this information !efore storing it in the ..7? 4ne advantage of t!e dynamic data store is t!at, if you plan on reformatting information in t!e same fas!ion for several data marts, you only need to format it once for t!e dynamic data store. <art of t!is ,uestion is "!et!er you $eep t!e data normali2ed "!en you copy it to t!e DDS. ow often do you need to 2oin data from different systems? 4n occasion, you may need to &oin records ,ueried from different data ases or read from different flat file systems. T!e more fre,uently you need to perform t!is type of !eterogeneous &oin, t!e more advantageous it "ould e to perform all suc! &oins "it!in t!e DDS, t!en ma$e t!e results availa le to all data marts t!at use t!e DDS as a source.

MH

<. What is a Ilo!al repository? T!e centrali2ed repository in a domain, a group of connected repositories. #ac! domain can contain one glo al repository. T!e glo al repository can contain common o &ects to e s!ared t!roug!out t!e domain t!roug! glo al s!ortcuts. 4nce created, you cannot c!ange a glo al repository to a local repository. 1ou can promote an e-isting local repository to a glo al repository. <. What is 0ocal +epository? #ac! local repository in t!e domain can connect to t!e glo al repository and use o &ects in its s!ared folders. A folder in a local repository can e copied to ot!er local repositories "!ile $eeping all local and glo al s!ortcuts intact. <. What are the different types of loc)s? T!ere are five $inds of loc$s on repository o &ects:

+ead loc). Created "!en you open a repository o &ect in a folder for "!ic! you do not !ave "rite permission. Also created "!en you open an o &ect "it! an e-isting "rite loc$. Write loc). Created "!en you create or edit a repository o &ect in a folder for "!ic! you !ave "rite permission. $%ecute loc). Created "!en you start a session or atc!, or "!en t!e Informatica Server starts a sc!eduled session or atc!. ;etch loc). Created "!en t!e repository reads information a out repository o &ects from t!e data ase. 7a'e loc). Created "!en you save information to t!e repository.

<. After creating users and user groups1 and granting different sets of pri'ileges1 I find that none of the repository users can perform certain tas)s1 e'en the Administrator. Repository privileges are limited y t!e data ase privileges granted to t!e data ase user "!o created t!e repository. If t!e data ase user >one of t!e default users created in t!e Administrators group? does not !ave full data ase privileges in t!e repository data ase, you need to edit t!e data ase user to allo" all privileges in t!e data ase. <. I created a new group and remo'ed the Growse +epository pri'ilege from the group. Why does e'ery user in the group still ha'e that pri'ilege? <rivileges granted to individual users ta$e precedence over any group restrictions. (ro"se Repository is a default privilege granted to all ne" users and groups. T!erefore, to remove t!e privilege from users in a group, you must remove t!e privilege from t!e group, and every user in t!e group. <. I do not want a user group to create or edit sessions and !atches1 !ut I need them to access the 7er'er /anager to stop the Informatica 7er'er. To permit a user to access t!e Server Manager to stop t!e Informatica Server, you must grant t!em ot! t!e Create Sessions and (atc!es, and Administer Server privileges. To restrict t!e user from creating or editing sessions and atc!es, you must restrict t!e user\s "rite permissions on a folder level. Alternatively, t!e user can use pmcmd to stop t!e Informatica Server "it! t!e Administer Server privilege alone. <. ow does read permission affect the use of the command line program1 pmcmd?

To use pmcmd, you do not need to vie" a folder efore starting a session or atc! "it!in t!e folder. T!erefore, you do not need read permission to start sessions or atc!es "it! pmcmd. 1ou must, !o"ever, $no" t!e e-act name of t!e session or atc! and t!e folder in "!ic! it e-ists. )it! pmcmd, you can start any session or atc! in t!e repository if you !ave t!e Session 4perator privilege or e-ecute permission on t!e folder. <. /y pri'ileges indicate I should !e a!le to edit o!2ects in the repository1 !ut I cannot edit any metadata. 1ou may e "or$ing in a folder "it! restrictive permissions. C!ec$ t!e folder permissions to see if you elong to a group "!ose privileges are restricted y t!e folder o"ner.

MJ

<. I ha'e the Administer +epository 8ri'ilege1 !ut I cannot access a repository using the +epository /anager. To perform administration tas$s in t!e Repository Manager "it! t!e Administer Repository privilege, you must also !ave t!e default privilege (ro"se Repository. 1ou can assign (ro"se Repository directly to a user login, or you can in!erit (ro"se Repository from a group. <uestions related to 7er'er /anager <. What is $'ent6Gased 7cheduling? )!en you use event0 ased sc!eduling, t!e Informatica Server starts a session "!en it locates t!e specified indicator file. To use event0 ased sc!eduling, you need a s!ell command, script, or atc! file to create an indicator file "!en all sources are availa le. T!e file must e created or sent to a directory local to t!e Informatica Server. T!e file can e of any format recogni2ed y t!e Informatica Server operating system. T!e Informatica Server deletes t!e indicator file once t!e session starts. :se t!e follo"ing synta- to ping t!e Informatica Server on a :BI3 system: pmcmd ping Zcuser9name _ `user9env9vard cpass"ord _ `pass"ord9env9vard[ Z!ostname:[portno :se t!e follo"ing synta- to start a session or atc! on a :BI3 system: pmcmd start cuser9name _ `user9env9vard cpass"ord _ `pass"ord9env9vard Z!ostname:[portno Zfolder9name:[ csession9name _ atc!9named Z:pfGparam9file[ session9flag "ait9flag :se t!e follo"ing synta- to stop a session or atc! on a :BI3 system: pmcmd stop cuser9name _ `user9env9vard cpass"ord _ `pass"ord9env9vard Z!ostname:[portnoZfolder9name:[ csession9name _ atc!9named session9flag :se t!e follo"ing synta- to stop t!e Informatica Server on a :BI3 system: pmcmd stopserver cuser9name _ `user9env9vard cpass"ord _ `pass"ord9env9vard Z!ostname:[portno <. What are the different types of 3ommit inter'als? T!e different commit intervals are:

"arget6!ased commit. T!e Informatica Server commits data ased on t!e num er of target ro"s and t!e $ey constraints on t!e target ta le. T!e commit point also depends on t!e uffer loc$ si2e and t!e commit interval. 7ource6!ased commit. T!e Informatica Server commits data ased on t!e num er of source ro"s. T!e commit point is t!e commit interval you configure in t!e session properties.

.esigner <uestions <. What are the tools pro'ided !y .esigner? T!e Designer provides t!e follo"ing tools:

7ource AnalyEer. :se to import or create source definitions for flat file, 3M/, Co ol, #R<, and relational sources. Warehouse .esigner. :se to import or create target definitions. "ransformation .e'eloper. :se to create reusa le transformations. /applet .esigner. :se to create mapplets. /apping .esigner. :se to create mappings.

<. What is a transformation?

MM

A transformation is a repository o &ect t!at generates, modifies, or passes data. 1ou configure logic in a transformation t!at t!e Informatica Server uses to transform data. T!e Designer provides a set of transformations t!at perform specific functions. .or e-ample, an Aggregator transformation performs calculations on groups of data. #ac! transformation !as rules for configuring and connecting in a mapping. .or more information a out "or$ing "it! a specific transformation, refer to t!e c!apter in t!is oo$ t!at discusses t!at particular transformation. 1ou can create transformations to use once in a mapping, or you can create reusa le transformations to use in multiple mappings. <. What are the different types of "ransformations? >Mascot? a? Aggregator transformationC T!e Aggregator transformation allo"s you to perform aggregate calculations, suc! as averages and sums. T!e Aggregator transformation is unli$e t!e #-pression transformation, in t!at you can use t!e Aggregator transformation to perform calculations on groups. T!e #-pression transformation permits you to perform calculations on a ro"0 y0ro" asis only. >Mascot? D $%pression transformationC 1ou can use t!e #-pression transformations to calculate values in a single ro" efore you "rite to t!e target. .or e-ample, you mig!t need to ad&ust employee salaries, concatenate first and last names, or convert strings to num ers. 1ou can use t!e #-pression transformation to perform any non0aggregate calculations. 1ou can also use t!e #-pression transformation to test conditional statements efore you output t!e results to target ta les or ot!er transformations. c? ;ilter transformationC T!e .ilter transformation provides t!e means for filtering ro"s in a mapping. 1ou pass all t!e ro"s from a source transformation t!roug! t!e .ilter transformation, and t!en enter a filter condition for t!e transformation. All ports in a .ilter transformation are inputAoutput, and only ro"s t!at meet t!e condition pass t!roug! t!e .ilter transformation. d? =oiner transformationC )!ile a Source *ualifier transformation can &oin data originating from a common source data ase, t!e Loiner transformation &oins t"o related !eterogeneous sources residing in different locations or file systems. e? 0oo)up transformationC :se a /oo$up transformation in your mapping to loo$ up data in a relational ta le, vie", or synonym. Import a loo$up definition from any relational data ase to "!ic! ot! t!e Informatica Client and Server can connect. 1ou can use multiple /oo$up transformations in a mapping. T!e Informatica Server ,ueries t!e loo$up ta le ased on t!e loo$up ports in t!e transformation. It compares /oo$up transformation port values to loo$up ta le column values ased on t!e loo$up condition. :se t!e result of t!e loo$up to pass to ot!er transformations and t!e target. <. What is the difference !etween Aggregate and $%pression "ransformation? >Mascot? <. What is 5pdate 7trategy? )!en "e design our data "are!ouse, "e need to decide "!at type of information to store in targets. As part of our target ta le design, "e need to determine "!et!er to maintain all t!e !istoric data or &ust t!e most recent c!anges. T!e model "e c!oose constitutes our pdate strategy, !o" to !andle c!anges to e-isting records. :pdate strategy flags a record for update, insert, delete, or re&ect. )e use t!is transformation "!en "e "ant to e-ert fine control over updates to a target, ased on some condition "e apply. .or e-ample, "e mig!t use t!e :pdate Strategy transformation to flag all customer records for update "!en t!e mailing address !as c!anged, or flag all employee records for re&ect for people no longer "or$ing for t!e company. <. Where do you define update strategy? )e can set t!e :pdate strategy at t"o different levels:

Within a session. )!en you configure a session, you can instruct t!e Informatica Server to eit!er treat all records in t!e same "ay >for e-ample, treat all records as inserts?, or use instructions coded into t!e session mapping to flag records for different data ase operations. Within a mapping. )it!in a mapping, you use t!e :pdate Strategy transformation to flag records for insert, delete, update, or re&ect.

<. What are the ad'antages of ha'ing the 5pdate strategy at 7ession 0e'el? <. What is a loo)up ta!le? BJ8I" Infotech1 8uneD

MK

T!e loo$up ta le can e a single ta le, or "e can &oin multiple ta les in t!e same data ase using a loo$up ,uery override. T!e Informatica Server ,ueries t!e loo$up ta le or an in0memory cac!e of t!e ta le for all incoming ro"s into t!e /oo$up transformation. If your mapping includes !eterogeneous &oins, "e can use any of t!e mapping sources or mapping targets as t!e loo$up ta le. <. What is a 0oo)up transformation and what are its uses? )e use a /oo$up transformation in our mapping to loo$ up data in a relational ta le, vie" or synonym. )e can use t!e /oo$up transformation for t!e follo"ing purposes: Det a related value. .or e-ample, if our source ta le includes employee ID, ut "e "ant to include t!e employee name in our target ta le to ma$e our summary data easier to read. <erform a calculation. Many normali2ed ta les include values used in a calculation, suc! as gross sales per invoice or sales ta-, ut not t!e calculated value >suc! as net sales?. :pdate slo"ly c!anging dimension ta les. )e can use a /oo$up transformation to determine "!et!er records already e-ist in t!e target.

<. What are connected and unconnected 0oo)up transformations? )e can configure a connected /oo$up transformation to receive input directly from t!e mapping pipeline, or "e can configure an unconnected /oo$up transformation to receive input from t!e result of an e-pression in anot!er transformation. An unconnected /oo$up transformation e-ists separate from t!e pipeline in t!e mapping. )e "rite an e-pression using t!e :/;< reference ,ualifier to call t!e loo$up "it!in anot!er transformation. A common use for unconnected /oo$up transformations is to update slo"ly c!anging dimension ta les. <. What is the difference !etween connected loo)up and unconnected loo)up? Differences et"een Connected and :nconnected /oo$ups: 3onnected 0oo)up Receives input values directly from t!e pipeline. )e can use a dynamic or static cac!e Supports user0defined default values 5nconnected 0oo)up Receives input values from t!e result of a :/;< e-pression in anot!er transformation. )e can use a static cac!e Does not support user0defined default values

<. What is 7e&uence Ienerator "ransformation? B/ascotD T!e Se,uence Denerator transformation generates numeric values. )e can use t!e Se,uence Denerator to create uni,ue primary $ey values, replace missing primary $eys, or cycle t!roug! a se,uential range of num ers. T!e Se,uence Deneration transformation is a connected transformation. It contains t"o output ports t!at "e can connect to one or more transformations. <. What are the uses of a 7e&uence Ienerator transformation? )e can perform t!e follo"ing tas$s "it! a Se,uence Denerator transformation: o Create $eys o Replace missing values o Cycle t!roug! a se,uential range of num ers <. What are the ad'antages of 7e&uence generator? Is it necessary1 if so why? )e can ma$e a Se,uence Denerator reusa le, and use it in multiple mappings. )e mig!t reuse a Se,uence Denerator "!en "e perform multiple loads to a single target. .or e-ample, if "e !ave a large input file t!at "e separate into t!ree sessions running in parallel, "e can use a Se,uence Denerator to generate primary $ey values. If "e use different Se,uence Denerators, t!e Informatica Server mig!t accidentally generate duplicate $ey values. Instead, "e can use t!e same reusa le Se,uence Denerator for all t!ree sessions to provide a uni,ue value for eac! target ro". <. ow is the 7e&uence Ienerator transformation different from other transformations?

MP

T!e Se,uence Denerator is uni,ue among all transformations ecause "e cannot add, edit, or delete its default ports >B#3T%A/ and C:RR%A/?. :nli$e ot!er transformations "e cannot override t!e Se,uence Denerator transformation properties at t!e session level. T!is protec-ts t!e integrity of t!e se,uence values generated. *. )!at does Informatica doF 5o" it is usefulF *. )!at is t!e difference et"een Informatica version 6.K.= and 6.K.EF *. )!at are t!e comple- filters used till no" in your applicationsF *. .eartures of Informatica *. 5ave you used InformaticaF "!ic! versionF *. 5o" do you set up a sc!edule for data loading from scratc!F descri e step0 y0step. *. 5o" do you use mappletF *. )!at are t!e different data source types you !ave used "it! InformaticaF *. Is it possi le to run one loading session "it! one particular target and multiple types of data sourcesF T!is section descri es ne" features and en!ancements to <o"erCenter M.C and <o"erMart M.C. .esigner

3ompare o!2ects. T!e Designer allo"s you to compare t"o repository o &ects of t!e same type to identify differences et"een t!em. 1ou can compare sources, targets, transformations, mapplets, mappings, instances, or mappingAmapplet dependencies in detail. 1ou can compare o &ects across open folders and repositories. Copying o &ects. In eac! Designer tool, you can use t!e copy and paste functions to copy o &ects from one "or$space to anot!er. .or e-ample, you can select a group of transformations in a mapping and copy t!em to a ne" mapping. 3ustom tools. T!e Designer allo"s you to add custom tools to t!e Tools menu. T!is allo"s you to start programs you use fre,uently from "it!in t!e Designer. ;lat file targets. 1ou can create flat file target definitions in t!e Designer to output data to flat files. 1ou can create ot! fi-ed0"idt! and delimited flat file target definitions. eterogeneous targets. 1ou can create a mapping t!at outputs data to multiple data ase types and target types. )!en you run a session "it! !eterogeneous targets, you can specify a data ase connection for eac! relational target. 1ou can also specify a file name for eac! flat file or 3M/ target. /in$ pat!s. )!en "or$ing "it! mappings and mapplets, you can vie" lin$ pat!s. /in$ pat!s display t!e flo" of data from a column in a source, t!roug! ports in transformations, to a column in t!e target. /in$ing ports. 1ou can no" specify a prefi- or suffi- "!en automatically lin$ing ports et"een transformations ased on port names. 0oo)up cache. 1ou can use a dynamic loo$up cac!e in a /oo$up transformation to insert and update data in t!e cac!e and target "!en you run a session. /apping parameter and 'aria!le support in loo)up 7<0 o'erride. 1ou can use mapping parameters and varia les "!en you enter a loo$up S*/ override. /applet enhancements. Several mapplet restrictions are removed. 1ou can no" include multiple Source *ualifier transformations in a mapplet, as "ell as Loiner transformations and Application Source *ualifier transformations for I(M M*Series. 1ou can also include ot! source definitions and Input transformations in one mapplet. )!en you "or$ "it! a mapplet in a mapping, you can e-pand t!e mapplet to vie" all transformations in t!e mapplet. /etadata e%tensions. 1ou can e-tend t!e metadata stored in t!e repository y creating metadata e-tensions for repository o &ects. T!e Designer allo"s you to create metadata e-tensions for source definitions, target definitions, transformations, mappings, and mapplets. Numeric and datetime formats. 1ou can define formats for numeric and datetime values in flat file sources and targets. )!en you define a format for a numeric or datetime value, t!e Informatica Server uses t!e format to read from t!e file source or to "rite to t!e file target. <re0 and post0session S*/. 1ou can specify pre0 and post0session S*/ in a Source *ualifier transformation and in a mapping target instance "!en you create a mapping in t!e Designer. T!e Informatica Server issues pre0S*/ commands to t!e data ase once efore it runs t!e session. :se pre0 session S*/ to issue commands to t!e data ase suc! as dropping inde-es efore e-tracting data. T!e Informatica Server issues post0session S*/ commands to t!e data ase once after it runs t!e session. :se post0session S*/ to issue commands to a data ase suc! as re0creating inde-es. Renaming ports. If you rename a port in a connected transformation, t!e Designer propagates t!e name c!ange to e-pressions in t!e transformation. 7orter transformation. T!e Sorter transformation is an active transformation t!at allo"s you to sort data from relational or file sources in ascending or descending order according to a sort $ey. 1ou can increase session performance "!en you use t!e Sorter transformation to pass data to an Aggregator transformation configured for sorted input in a mapping.

MQ

Tips. )!en you start t!e Designer, it displays a tip of t!e day. T!ese tips !elp you use t!e Designer more efficiently. 1ou can display or !ide t!e tips y c!oosing 5elp0Tip of t!e Day. Tool tips for port names. Tool tips no" display for port names. To vie" t!e full contents of t!e column, position t!e mouse over t!e cell until t!e tool tip appears. %ie" dependencies. In eac! Designer tool, you can vie" a list of o &ects t!at depend on a source, source ,ualifier, transformation, or target. Rig!t0clic$ an o &ect and select t!e %ie" Dependencies option. )or$ing "it! multiple ports or columns. In eac! Designer tool, you can move multiple ports or columns at t!e same time.

Informatica 7er'er

Add timestamp to wor)flow logs. 1ou can configure t!e Informatica Server to add a timestamp to messages "ritten to t!e "or$flo" log. #-panded pmcmd capa ility. 1ou can use pmcmd to issue a num er of commands to t!e Informatica Server. 1ou can use pmcmd in eit!er an interactive or command line mode. T!e interactive mode prompts you to enter information "!en you omit parameters or enter invalid commands. In ot! modes, you can enter a command follo"ed y its command options in any order. In addition to commands for starting and stopping "or$flo"s and tas$s, pmcmd no" !as ne" commands for "or$ing in t!e interactive mode and getting details on servers, sessions, and "or$flo"s. $rror handling. T!e Informatica Server !andles t!e a ort command li$e t!e stop command, e-cept it !as a timeout period. 1ou can specify "!en and !o" you "ant t!e Informatica Server to stop or a ort a "or$flo" y using t!e Control tas$ in t!e "or$flo". After you start a "or$flo", you can stop or a ort it t!roug! t!e )or$flo" Monitor or pmcmd. $%port session log to e%ternal li!rary. 1ou can configure t!e Informatica Server to "rite t!e session log to an e-ternal li rary. ;lat files. 1ou can specify t!e precision and field lengt! for columns "!en t!e Informatica Server "rites to a flat file ased on a flat file target definition, and "!en it reads from a flat file source. 1ou can also specify t!e format for datetime columns t!at t!e Informatica Server reads from flat file sources and "rites to flat file targets. Write Informatica Windows 7er'er log to a file. 1ou can no" configure t!e Informatica Server on )indo"s to "rite t!e Informatica Server log to a file.

/etadata +eporter 0ist reports for 2o!s1 sessions1 wor)flows1 and wor)lets. 1ou can run a list report t!at lists all &o s, sessions, "or$flo"s, or "or$lets in a selected repository. .etails reports for sessions1 wor)flows1 and wor)lets. @ou can run a details report to vie" details a out eac! session, "or$flo", or "or$let in a selected repository. 3ompleted session1 wor)flow1 or wor)let detail reports. 1ou can run a completion details report, "!ic! displays details a out !o" and "!en a session, "or$flo", or "or$let ran, and "!et!er it ran successfully. Installation on We!0ogic. 1ou can no" install t!e Metadata Reporter on )e /ogic and run it as a "e application.

+epository /anager /etadata e%tensions. 1ou can e-tend t!e metadata stored in t!e repository y creating metadata e-tensions for repository o &ects. T!e Repository Manager allo"s you to create metadata e-tensions for source definitions, target definitions, transformations, mappings, mapplets, sessions, "or$flo"s, and "or$lets. pmrep security commands. 1ou can use pmrep to create or delete repository users and groups. 1ou can also use pmrep to modify repository privileges assigned to users and groups. Tips. )!en you start t!e Repository Manager, it displays a tip of t!e day. T!ese tips !elp you use t!e Repository Manager more efficiently. 1ou can display or !ide t!e tips y c!oosing 5elp0Tip of t!e Day.

+epository 7er'er T!e Informatica Client tools and t!e Informatica Server no" connect to t!e repository data ase over t!e net"or$ t!roug! t!e Repository Server.

+epository 7er'er. T!e Repository Server manages t!e metadata in t!e repository data ase. It accepts and manages all repository client connections and ensures repository consistency y employing o &ect loc$ing. T!e Repository Server can manage multiple repositories on different mac!ines on t!e net"or$. +epository connecti'ity changes. )!en you connect to t!e repository, you must specify t!e !ost name of t!e mac!ine !osting t!e Repository Server and t!e port num er t!e Repository Server uses to listen for connections. 1ou no longer !ave to create an 4D(C data source to connect a repository client application to t!e repository.

KC

"ransformation 0anguage

New functions. T!e transformation language includes t"o ne" functions, ReplaceC!r and ReplaceStr. 1ou can use t!ese functions to replace or remove c!aracters or strings in te-t data. 7$":A+IAG0$. T!e S#T%ARIA(/# function no" e-ecutes for ro"s mar$ed as insert or update.

Wor)flow /anager T!e )or$flo" Manager and )or$flo" Monitor replace t!e Server Manager. Instead of creating a session, you no" create a process called a "or$flo" in t!e )or$flo" Manager. A "or$flo" is a set of instructions on !o" to e-ecute tas$s suc! as sessions, emails, and s!ell commands. A session is no" one of t!e many tas$s you can e-ecute in t!e )or$flo" Manager. T!e )or$flo" Manager provides ot!er tas$s suc! as Assignment, Decision, and #vent0)ait tas$s. 1ou can also create ranc!es "it! conditional lin$s. In addition, you can atc! "or$flo"s y creating "or$lets in t!e )or$flo" Manager.

.G2 e%ternal loader. 1ou can use t!e D(= ## e-ternal loader to load data to a D(= ## data ase. 1ou can use t!e D(= ### e-ternal loader to load data to a D(= ### data ase. T!e D(= e-ternal loaders can insert data, replace data, restart load operations, or terminate load operations. $n'ironment 7<0. .or relational data ases, you may need to e-ecute some S*/ commands in t!e data ase environment "!en you connect to t!e data ase. .or e-ample, you mig!t "ant to set isolation levels on t!e source and target systems to avoid deadloc$s. 1ou configure environment S*/ in t!e data ase connection. 1ou can use environment S*/ for source, target, loo$up, and stored procedure connections. $mail. 1ou can create email tas$s in t!e )or$flo" Manager to send emails "!en you run a "or$flo". 1ou can configure a "or$flo" to send an email any"!ere in t!e "or$flo" logic, including after a session completes or after a session fails. 1ou can also configure a "or$flo" to send an email "!en t!e "or$flo" suspends on error. ;lat file targets. In t!e )or$flo" Manager, you can output data to a flat file from eit!er a flat file target definition or a relational target definition. eterogeneous targets. 1ou can output data to different data ase types and target types in t!e same session. )!en you run a session "it! !eterogeneous targets, you can specify a data ase connection for eac! relational target. 1ou can also specify a file name for eac! flat file or 3M/ target. /etadata e%tensions. 1ou can e-tend t!e metadata stored in t!e repository y creating metadata e-tensions for repository o &ects. T!e )or$flo" Manager allo"s you to create metadata e-tensions for sessions, "or$flo"s, and "or$lets. Fracle * direct path load support. 1ou can load data directly to 4racle Pi in ul$ mode "it!out using an e-ternal loader. 1ou can load data directly to an 4racle client data ase version P.6.K.= or !ig!er. 8artitioning enhancements. To improve session performance, you can set partition points at multiple transformations in a pipeline. 1ou can also specify different partition types at eac! partition point. 7er'er 'aria!les. 1ou can use ne" server varia les to define t!e "or$flo" log directory and "or$flo" log count. Teradata T<ump e-ternal loader. 1ou can use t!e Teradata T<ump e-ternal loader to load data to a Teradata data ase. 1ou can use T<ump in sessions t!at contain multiple partitions. Tips. )!en you start t!e )or$flo" Manager, it displays a tip of t!e day. T!ese tips !elp you use t!e )or$flo" Manager more efficiently. 1ou can display or !ide t!e tips y c!oosing 5elp0Tip of t!e Day. Wor)flow log. In addition to session logs, you can configure t!e Informatica Server to create a "or$flo" log to record details a out "or$flo" runs. Wor)flow /onitor. 1ou use a tool called t!e )or$flo" Monitor to monitor "or$flo"s, "or$lets, and tas$s. T!e )or$flo" Monitor displays information a out "or$flo" runs in t"o vie"s: Dantt C!art vie" or Tas$ vie". 1ou can run, stop, a ort, and resume "or$flo"s from t!e )or$flo" Monitor.

Q: How do I connect job streams/sessions or batches across folders? (30 October 2000 .or ,uite a "!ile t!ere\s een a deceptive pro lem "it! sessions in t!e Informatica repository. .or management and maintenance reasons, "e\ve al"ays "anted to separate mappings, sources, targets, in to su &ect areas or functional areas of t!e usiness. T!is ma$es sense until "e try to run t!e entire Informatica &o stream. :nderstanding of course t!at only t!e folder in "!ic! t!e map !as een defined can !ouse t!e session. T!is ma$es it difficult to run &o s A sessions across folders 0 particularly "!en t!ere are necessary &o dependancies "!ic! must e defined. T!e purpose of t!is article is to introduce an alternative solution to t!is pro lem. It re,uires t!e use of s!ortcuts. T!e asics are li$e t!is: ;eep t!e map creations, sources, and targets su &ect oriented. T!is allo"s maintenance to e easier > y su ect area?. T!en once t!e maps are done, c!ange t!e folders to allo" s!ortcuts >done from t!e repository manager?. Create a folder called: ]M19L4(S] or somet!ing li$e t!at. Do in to designer, open ]M19L4(S], e-pand t!e source folders, and create s!ortcuts to t!e mappings in t!e source folders.

K6

Do to t!e session manager, and create sessions for eac! of t!e s!ort0cut mappings in M19L4(S. T!en atc! t!em as you see fit. T!is "ill allo" a single folder for running &o s and sessions !oused any"!ere in any folder across your repository. Q: How do I !et ma"imum speed out of m# database connection? ($2 %eptember 2000 In Sy ase or MS0S*/ Server, go to t!e Data ase Connection in t!e Server Manager. Increase t!e pac$et si2e. Recommended si2ing depends on distance traveled from <MServer to Data ase 0 =C$ Is usually accepta le on t!e same su net. Also, !ave t!e D(A increase t!e ]ma-imum allo"ed] pac$et si2e setting on t!e Data ase itself. .ollo"ing t!is c!ange, t!e D(A "ill need to restart t!e D(MS. C!anging t!e <ac$et Si2e doesn\t mean all connections "ill connect at t!is si2e, it &ust means t!at anyone specifying a larger pac$et si2e for t!eir connection may e a le to use it. It s!ould increase speed, and decrease net"or$ traffic. Default I< <ac$ets are et"een 6=CC ytes and 6JCC ytes. In 4racle: t!ere are t"o met!ods. .or connection to a local data ase, setup t!e protocol as I<C > et"een <MServer and a D(MS Server t!at are !osted on t!e same mac!ine?. I<C is not a protocol t!at can e utili2ed across net"or$s >apparently?. I<C stands for Inter <rocess Communication, and utili2es memory piping >RAM? instead of client conte-t, t!roug! t!e I< listner. .or remote connections t!ere is a etter "ay: /istner.4RA and TBSBames.4RA need to e modified to include SD: and TD: settings. SD: G Service /ayer Data (uffer, and TD: G Transport /ayer Data (uffer. (ot! of "!ic! specify pac$et si2ing in 4racle connections over I<. Default for 4racle is 6JCC ytes. Also note: t!ese settings can e used in I<C connections as "ell, to control t!e I<C (uffer si2es passed et"een t"o local programs ><MServer and 4racle Server? (ot! t!e Server and t!e Client need to e modified. T!e server "ill allo" pac$ets up to t!e masi2e set 0 ut unless t!e client specifies a larger pac$et si2e, t!e server "ill default to t!e smallest setting >6JCC ytes?. (ot! SD: and TD: s!ould e set t!e same. See t!e e-ample elo": TBSBAM#S.4RA /4CG>D#SCRI<TI4BG >SD: G =CHPC? >TD:G=CHPC? /IST#B#R.4RA /IST#B#RG....>SID9D#SCG >SD: G =CHPC? >TD:G=CHPC? >SID9BAM# G e,local)

....

Q: How do I !et a %e&uence 'enerator to (pic) up( where another (left off(? (* +une 2000

To perform t!is mig!ty tric$, one can use an unconnected loo$up on t!e Se,uence ID of t!e target ta le. Set t!e properties to ]/AST %A/:#], input port is an ID. t!e condition is: 7$<HI. RL inputHI.. T!en in an e-pression set up a varia le port: connect a B#) self0resetting se,uence generator to a ne" input port in t!e e-pression. T!e varia le port\s e-pression s!ould read: II;B 'Hse& L - F+ I7N500B'Hse&D L true1 C0J8.l)pHse&uenceB1D1 'Hse&D. T!en, set up an output port. C!ange t!e output port\s e-pression to read: 'Hse& S inputHse& >from t!e resetting se,uence generator?. T!us you !ave &ust completed an ]append] "it!out a rea$ in se,uence num ers.

Q: How do I &uer# the repositor# to see which sessions are set in ,-%, .O/-? (* +une 2000

Runt!efollo"ing select: select T from op!HloadHsession where !itHoption L 13U It\s actually (IT Y = in t!is it9option setting, so if you !ave a mas$, or a it0level function you can t!en ABD it "it! a mas$ of =, if t!is is greater t!an 2ero, it\s een set for test load.

Q: How do I (0alidate( all m# mappin!s at once? (3$ .arch 2000

Issue t!e follo"ing command )IT5 CAR#. :<DAT# 4<(9MA<<IBD S#T IS9%A/ID G 6^ T!en disconnect from t!e data ase, and re0connect. In session manager, and designer as "ell. Q: How do I 0alidate m# entire repositor#? ($2 %eptember 2000

To add t!e menu option, c!ange t!is registry entry on your client. Add

5;#19C:RR#BT9:S#RASoft"areAInformaticaA<o"erMart Client ToolsAH.KARepository Manager 4ptions . t!e follo"ing string Bame: #na leC!ec$Reposit Data.

K=

%alidate Repository forces Informatica to run t!roug! t!e repository, and c!ec$ t!e repo for errors <C How

do I work around a bug in 4.7? I can't change the execution order of my stored procedures that I've imported? ( ! "arch #$$$%
Issue t!e follo"ing statements )IT5 CAR#: select "idget9id from 4<(9)IDD#T "!ere )IDD#T9BAM# G I"idget nameO >"rite do"n t!e )IDD#T ID? select R from 4<(9)IDD#T9ATTR "!ere )IDD#T9ID G I"idget9idO update 4<(9)IDD#T9ATTR set attr9value G Ie-ecution orderO "!ere )IDD#T9ID G I"idget9idO and attr9id G J C4MMIT^ T!e Ie-ecution orderO is t!e num er of t!e order in "!ic! you "ant t!e stored proc to e-ecute. Again, disconnect from ot! designer and session manager repositories, and re0connect to ]re0 read] t!e local cac!e. <C How do I )eep the session mana!er from (Quittin!( when I tr# to open a session? (23 .arch 2000

Informatica Tec! Support !as said: if you are using a flat file as a source, and your ]file name] in t!e ]Source 4ptions] dialog is longer t!an PC c!aracters, it "ill ]$ill] t!e Session Manager tool "!en you try to re0open it. 1ou can fi- t!e session y: logging in to t!e repository via S*/</:S, or IS*/, and finding t!e ta le called: 4<(9/4AD9S#SSI4B, find t!e Session ID associated "it! t!e session name 0 "rite it do"n. T!en select 123.- from O4567O3/61I7-% where %ession6I/ 8 9session6id:. C!ange A update F8GH0FA.H;I0$7 set ;NA/$L Vnew file nameR column, c!ange t!e lengt! ac$ to less t!an PC c!aracters, and commit t!e c!anges. Bo" t!e session !as een repaired. Try to $eep t!e directory to t!at source file in t!e DIR#CT4R1 entry o- a ove t!e file name o-. Try to $eep all t!e source files toget!er in t!e same source directory if possi le.

<C How do I repair a (dama!ed( repositor#? ($; .arch 2000

T!ere really isn\t a good repair tool, nor is t!ere a ]great] met!od for repairing t!e repository. 5o"ever, I !ave some suggestions "!ic! mig!t !elp. If you\re running in to a session "!ic! causes t!e session manager to ],uit] on you "!en you try to open it, or you !ave a map t!at appears to !ave ] ad sources], t!ere may e somet!ing you can do. T!ere are varying degrees of damage to t!e repository 0 mostly caused ecause t!e se,uence generator t!at <MA<C relies on is uried in a ta le in t!e repository 0 and t!ey generate t!eir o"n se,uence num ers. If t!is ta le ecomes ]corrupted] or generates t!e "rong se,uences, you can get repository errors all over t!e place. It can spread ,uic$ly. Try t!e follo"ing steps to repair a repository: >:S# AT 14:R 4)B RIS;? T!e recommended pat! is to ac$up t!e repository, send it to Tec!nical Support 0 and tell t!em it\s damaged. Delete t!e session, disconnect, re0connect, t!en re0create t!e session, t!en attempt to edit t!e ne" session again. If t!e ne" session "on\t open up >srvr mgr ,uits?, t!en t!ere are more pro lems 0 <MA<C is not successfully attac!ing sources and targets to t!e session >S##: 4<(9/4AD9S#SSI4B ta le >SRC9ID, TARD#T9ID? columns 0 t!ey "ill e 2ero, "!en t!ey s!ould contain an ID. Delete t!e session, t!en open t!e map. Delete t!e source and targets from t!e MA<. Save t!e map and invalidate it 0 forcing an update to t!e repository and it\s lin$s. Drag t!e sources and targets ac$ in to t!e map and re0connect t!em. %alidate and Save. T!en try re0 uilding t!e session > ac$ to step one?. If t!ere is still a failure, t!en t!ere are more pro lems. Delete t!e session and t!e map entirely. Save t!e repository c!anges 0 t!us re,uesting a delete in t!e repository. )!ile t!e ]delete] may occur 0 some of t!e ta les in t!e repository may not e ]cleansed]. T!ere may still e some sources, targets, and transformation o &ects >reusa le? left in t!e repository. Re uild t!e map from scratc! 0 t!en save it again... T!is "ill create a ne" MA< ID in t!e 4<(9MA<<IBD ta le, and force <MA<C to create ne" ID lin$s to e-isting Source and Target o &ects >as "ell as all t!e ot!er o &ects in t!e map?. If t!at didn\t "or$ 0 you may !ave to delete t!e sources, reusa le o &ects, and targets, as "ell as t!e session and t!e map. T!en save t!e repository 0 again, trying to ]remove] t!e o &ects from t!e repository itself. T!en re0create t!em. T!is forces <MA<C to assign ne" ID\s to A// t!e o &ects in t!e map, t!e map, and t!e session 0 !opefully creating a ]good] picture of all t!at "as re uilt. 4r try t!is met!od: Create a B#) repository 0O call it R#<49A >for reference only?.

6.

=.

E.

H.

6.

KE

=. E. H. J. M.

Copy any of t!e MA<<IBDS t!at don\t !ave ]pro lems] opening in t!eir respective sessions, and copy t!e mappings >using designer? from t!e old repository >R#<49(? to t!e ne" repository >R#<49A?. T!is "ill create B#) ID\s for all t!e mappings, CA:TI4B: 1ou "ill lose your sessions. D#/#T# t!e old repository >R#<49(?. Create a ne" repository in t!e 4/D Repository Space >R#<49(?.. Copy t!e maps ac$ in to t!e original repository >Recreated Repository? .rom R#<49A to R#<49(. Re uild t!e sessions, t!en re0create all of t!e o &ects you originally !ad trou le "it!. 1ou can apply t!is to .4/D#R level and Repository Manager Copying, ut you need to ma$e sure t!at none of t!e o &ects "it!in a folder !ave any pro lems. )!at t!is does: creates ne" ID\s, resets t!e se,uence generator, re0esta lis!es all t!e lin$s to t!e o &ects in t!e ta les, and drop\s out > y process of elimination? any o &ects you\ve got pro lems "it!. (ottom line: <MA<C client tools !ave trou le "!en t!e lin$s et"een ID\s get ro$en. It\s fairly rare t!at t!is occurs, ut "!en it does 0 it can cause !eart urn.

<C How do I clear the loc)s that are left in the repositor#? (3 .arch 2000 Clearing loc$s is typically a tas$ for t!e repository manager. Denerally it\s done from "it!in t!e Repository Manager: #dit Menu 0O S!o" /oc$s. Select t!e loc$s, t!en press ]remove]. Typically loc$s are left on o &ects "!en a client is re ooted "it!out properly e-iting Informatica. T!ese loc$s can $eep ot!ers from editing t!e o &ects. T!ey can also $eep sc!eduled e-ecutions from occurring. It\s not uncommon to "ant to clear t!e loc$s automatically 0 on a presc!eduled time ta le, or at a specified time. T!is can e done safely only if no0one !as an o &ect out for editing at t!e time of deletion of t!e loc$. T!e suggested met!od is to log in to t!e data ase from an automated script, and issue a ]delete from 4<(94(L#CT9/4C;S] ta le. <C How do I turn on the option for <hec) =epositor#? (3 .arch 2000 According to Tec!nical Support, it\s only availa le y ad&usting t!e registry entries on t!e client. <MA<C need to e told it\s in Admin mode to "or$. (elo" are t!e steps to turn on t!e Administration Mode on t!e client. (e a"are 0 t!is may e a security ris$, anyone using t!at terminal "ill !ave access to t!ese features. 6?start repository manager =? repository menu go to c!ec$ repository E? if t!e option is not t!ere you need to edit your registry using regedit go to: 5;#19C:RR#BT9:S#ROOS4.T)AR#OOIB.4RMATICAOO<o"erMart Client ToolsOORepository Manager 4ptions go to your specific version H.J or H.M and t!en go to Repository Manager. In t!ere add t"o strings: 6? #na leAdminMode 6 =? #na leC!ec$Reposit 6

ot! s!ould e spelled as s!o"n t!e value for ot! is 6

<C How do I !enerate an 3udit ,rail for m# repositor# (O=3<7- / %#base ? Do"nload one of t"o R:S# AT 14:R 4)B RIS;R 2ip files. T!e first is availa le no" for <o"erMart H.M.- and <o"erCenter 6.M-. It\s a K$ 2ip file: Informatica Audit Trail vC.6a T!e ot!er file >for H.J.- is coming...?. <lease note: t!is is .R## software that plugs in to F+A30$ (%1 and F+A30$ *%1 and Fracle *i. It !as B4T een uilt for Sy ase, Informi-, or D(=. If someone "ould care to adapt it, and send it ac$ to me, I\ll e !appy to post t!ese also. It !as limited support 0 !as not een fully tested in a multi6user en'ironment, any feed ac$ "ould e appreciated. NF"$C 7@GA7$ :$+7IFN I7 FN I"W7 WA@. <C How do I (tune( a repositor#? .# repositor# is slowin! down after a lot of use> how can I ma)e it faster? In 4racle: Sc!edule a nig!tly &o to ABA/1X# TA(/# for A// IBD#3#S, creating !istograms for t!e ta les 0 $eep t!e cost ased optimi2er up to date "it! t!e statistics. In S1(AS#: sc!edule a nig!tly &o to :<DAT# STATISTICS against t!e ta les and inde-es. In Informi-, D(=, and RD(, see your o"ners manuals a out maintaining S*/ ,uery optimi2er statistics. <C How do I achie0e (best performance( from the Informatica tool set? (y alancing "!at Informatica is good at "it! "!at t!e data ases are uilt for. T!ere are reasons for placing some code at t!e data ase level 0 particularly vie"s, and staging ta les for data. Informatica is e-tremely good at readingA"riting and manipulating data at very !ig! rates of t!roug!put. 5o"ever 0 to ac!ieve optimum performance

KH

>in t!e Diga yte to Tera yte range? t!ere needs to e a alance of Tuning in 4racle, utili2ing staging ta les, vie"s for &oining source to target data, and t!roug!put of manipulation in Informatica. .or instance: Informatica "ill never ac!ieve t!e speeds of ]append] or straig!t inserts t!at 4racle S*/R/oader, or Sy ase (C< ac!ieve. T!is is ecause t!ese t"o tools are "ritten internally 0 specifically for t!e purposes of loading data >direct to ta les A dis$ structures?. T!e A<I t!at 4racle A Sy ase provide Informatica "it! is not nearly as e,uipped to allo" t!is $ind of direct access >to eliminate rea$age "!en 4racleASy ase upgrade internally?. T!e asics of Informatica are: 6? ;eep maps as simple as possi le =? rea$ comple-ity up in to multiple maps if possi le E? rule of t!um : one MA< per TARD#T ta le H? :se staging ta les for /ARD# sets of data J? utili2e S*/ for it\s po"er of sorts, aggregations, parallel ,ueries, temp spaces, etc... >setup vie"s in t!e data ase, tune inde-es on staging ta les? M? Tune t!e data ase 0 partition ta les, move t!em to p!ysical dis$ areas, etc... separate t!e logic. <C How do I !et an Oracle %e&uence 'enerator to operate faster? T!e first item is: use a function to call it, not a stored procedure. T!en, ma$e sure t!e se,uence generator and t!e function are local to t!e S4:RC# or TARD#T data ase, D4 B4T use synonyms to place eit!er t!e se,uence or function in a remote instance >synonyms to a separate sc!emaAdata ase on t!e same instance may e only a slig!t performance !it?. T!is s!ould !elp 0 possi ly dou le t!e t!roug!put of generating se,uences in your map. T!e ot!er item is: see slide presentations on performance tuning for your sessions A maps for a ] est] "ay to utili2e an 4racle se,uence generator. (elieve it or not 0 t!e "rite t!roug!put s!o"n in t!e session manager per target ta le is directly affected y calling an e-ternal functionAprocedure "!ic! is generating se,uence num ers. It does B4T appear to affect t!e read t!roug!put num ers. T!is is a difficult pro lem to solve "!en you !ave lo" ]"rite t!roug!put] on any or all of your targets. Start "it! t!e se,uence num er generator >if you can?, and try to optimi2e t!e map for t!is. Q: I ha0e a mappin! that runs for hours> but it?s not doin! that much@ It ta)es A input tables> uses 3 joiner transformations> a few loo)ups> a couple e"pressions and a filter before writin! to the tar!et@ Be?re runnin! 4ower.art C@; on an 2, C bo"@ Bhat tunin! options do I ha0e? )it!out $no"ing t!e complete environment, it\s difficult to say "!at t!e pro lem is, ut !ere\s a fe" solutions "it! "!ic! you can e-periment. If t!e BT o- is not dedicated to <o"erMart ><M? during its operation, identify "!at it contends "it! and try resc!eduling t!ings suc! t!at <M runs alone. <M needs all t!e resources it can get. If it\s a dedicated o-, it\s a "ell $no"n fact t!at <M consumes resources at a rapid clip, so if you !ave room for more memory, get it, particularly since you mentioned use of t!e &oiner transformation. Also toy "it! t!e cac!ing parameters, ut remem er t!at eac! &oiner gra s t!e full complement of memory t!at you allocate. So if you give it JCM , t!e E &oiners "ill really "ant 6JCM . 1ou can also try rea$ing up t!e session into parallel sessions and put t!em into a atc!, ut again, you\ll !ave to manage memory carefully ecause of t!e &oiners. <arallel sessions is a good option if you !ave a multiple0processor C<:, so if you !ave vacant C<: slots, consider adding more C<:\s. If a loo$up ta le is relatively ig >more t!an a fe" t!ousand ro"s?, try turning t!e cac!e flag off in t!e session and see "!at !appens. So if you\re trying to loo$ up a ]transaction ID] or somet!ing similar out of a fe" million ro"s, don\t load t!e ta le into memory. Lust loo$ it up, ut e sure t!e ta le !as appropriate inde-es. And last, if t!e sources live on a pretty po"erful o-, consider creating a vie" on t!e source system t!at essentially does t!e same t!ing as t!e &oiner transformations and possi ly some of t!e loo$ups. Ta$e advantage of t!e source system\s !ard"are to do a lot of t!e "or$ efore !anding do"n t!e result to t!e resource constrained BT o-. <C Is there a (best wa#( to load tables? 1es 0 If all t!at is occurring is inserts >to a single target ta le? 0 t!en t!e (#ST met!od of loading t!at target is to configure and utili2e t!e ul$ loading tools. .or Sy ase it\s (C<, for 4racle it\s S*/R/oader. )it! multiple targets, rea$ t!e maps apart >see slides?, one for IBS#RTS only, and remove t!e update strategies from t!e insert only maps >along "it! unnecessary loo$ups? 0 t!en "atc! t!e t!roug!put fly. )e\ve ac!ieved HCCS ro"s per second per ta le in to J target 4racle ta les >Sun Sparc #HJCC, H C<:\s, Raid J, = DID RAM, 4racle P.6.J? "it!out using S*/R/oader. 4n an BT EMM m!2 <E, 6=P M( RAM, single dis$, single target ta le, using S*/R/oader "e\ve loaded 6 million ro"s >6JC M(? in Q minutes total 0 all t!e map !ad "as one e-pression to left and rig!t trim t!e ports >6= ports, eac! ro" "as 6JC ytes in lengt!?. E minutes for S*/R/oader to load t!e flat file 0 DIR#CT, Bon0Recovera le. <C How do I !ua!e that the performance of m# map is acceptable? If you !ave a small file >under MM(? and you !ave pmserver on a Sun Sparc HCCC, Solaris J.M, = cpu\s, = gigs RAM, > aseline configuration 0 if your\s is similar you\ll e o$?. .or BT: HJC M5X <II 6=P M( RAM >under E M( file si2e?, t!en it\s not!ing to "orry a out unless your "rite t!roug!put is sitting at 6 to J ro"s per second. If you are in t!is range, t!en your map is too comple-, or your ta les !ave not een optimi2ed. 4n a aseline defined mac!ine >as stated a ove?, e-pected read t!roug!put "ill vary 0 depending on t!e source, "rite t!roug!put for relational ta les >ta les in t!e data ase? s!ould e up"ards of 6JC to HJCS ro"s per second. To calculate t!e total "rite t!roug!put, add all of t!e ro"s per second for eac! target toget!er, run t!e map several times, and average t!e t!roug!put. If your map is running ]slo"] y t!ese standards, t!en see t!e slide presentations to implement a different met!odology for tuning. T!e suggestion !ere is: rea$ t!e map up 0 6 map per target ta le, place common logic in to maplets.

KJ

<C How do I create a Dstate 0ariableE? Create a varia le port in an e-pression >v9M1%AR?, set t!e data type to Integer >for t!is e-ample?, set t!e e-pression to: II.> > ISB://>v9M1%AR? G true or v9M1%AR G C ? [ and !yo r condition" ], 6, v9M1%AR?.O )!at !appens !ere, is t!at upon initiali2ation Informatica may set t!e v9M1%AR to B://, or 2ero.O T!e first time t!is code is e-ecuted it is set to 768.O 4f course + you can set t!e varia le to any value you "is! + and carry t!at t!roug! t!e transformations.O Also + you can add your o"n ABD condition >as indicated in italics?, and only set t!e varia le "!en a specific condition !as een met.O T!e varia le port "ill !old it's value for t!e rest of t!e transformations.O T!is is a good tec!ni,ue to use for loo$up values "!en a single loo$up value is necessary ased on a condition eing met >suc! as a $ey for an 7un$no"n8 value?.O 1ou can c!ange t!e data type to c!aracter, and use t!e same e-amination + simply remove t!e 7or v9M1%AR G C8 from t!e e-pression + c!aracter values "ill e first set to B://. <C How do I pass a 0ariable in to a session? T!ere is no direct met!od of passing varia les in to maps or sessions.O In order to get a mapAsession to respond to data driven >varia les? + a data source must e provided.O If "or$ing "it! flat files + it can e anot!er flat file, if "or$ing "it! relational data sources it can e "it! anot!er relational ta le.O Typically a relational ta le "or$s est, ecause S*/ &oins can t!en e employed to filter t!e data sets, additional maps and source ,ualifiers can utili2e t!e data to modify or alter t!e parameters during run0time. <C How can I create one map> one session> and utiliFe multiple source files of the same format? In :BI3 it's very easy: create a lin$ to t!e source file desired, place t!e lin$ in t!e Src.iles directory, run t!e session.O 4nce t!e session !as completed successfully, c!ange t!e lin$ in t!e Src.iles directory to point to t!e ne-t availa le source file.O Caution: t!e only do"nfall is t!at you cannot run multiple source files >of t!e same structure? in to t!e data ase simultaneously.O In ot!er "ords + it forces t!e same session to e run serially, ut if t!at out"eig!s t!e maintenance and speed is not a ma&or issue, feel free to implement it t!is "ay.O 4n BT you "ould !ave to p!ysically move t!e files in and out of t!e Src.iles directory. Bote: t!e difference et"een creating a lin$ to an individual file, and c!anging Src.iles directory to lin$ to a specific directory is t!is: c!anging a lin$ to an individual file allo"s multiple sessions to lin$ to all different types of sources, c!anging Src.iles to e a lin$ itself is restrictive + also creates :ni- Sys Admin pressures for directory rig!ts to <o"erCenter >one level up?. <C How can I mo0e m# Informatica 7o!s / 5ad1iles directories to other dis)s without chan!in! an#thin! in m# sessions? :se t!e :BI3 /in$ command + as$ t!e SA to create t!e lin$ and grant readA"rite permissions + !ave t!e 7real8 directory placed on any ot!er dis$ you "is! to !ave it on. <C How do I handle duplicate rows comin! in from a flat file? If you don\t care a out ]reporting] duplicates, use an aggregator. Set t!e Droup (y <orts to group y t!e primary $ey in t!e parent target ta le. ;eep in mind t!at using an aggregator causes t!e follo"ing: T!e last duplicate ro" in t!e file is pus!ed t!roug! as t!e one and only ro", loss of a ility to detect "!ic! ro"s are duplicates, cac!ing of t!e data efore processing in t!e map continues. If you "is! to report duplicates, t!en follo" t!e suggestions in t!e presentation slides >availa le on t!is "e site? to institute a staging ta le. See t!e pro\s and cons\ of staging ta les, and "!at t!ey can do for you. Q: Bhere can I find a histor# / metrics of the load sessions that ha0e occurred in Informatica? (* +une 2000 T!e ta les "!ic! !ouse t!is information are 4<(9/4AD9S#SSI4B, 4<(9S#SSI4B9/4D, and 4<(9S#SS9TARD9/4D. 4<(9/4AD9S#SSI4B contains t!e single session entries, 4<(9S#SSI4B9/4D contains a !istorical log of all session runs t!at !ave ta$en place. 4<(9S#SS9TARD9/4D $eeps trac$ of t!e errors, and t!e target ta les "!ic! !ave een loaded. ;eep in mind t!ese ta les are tied toget!er y Session9ID. If a session is deleted from 4<(9/4AD9S#SSI4B, it\s !istory is not necessarily deleted from 4<(9S#SSI4B9/4D, nor from 4<(9S#SS9TARD9/4D. :nfortunately 0 t!is leaves un0identified session ID\s in t!ese ta les. 5o"ever, "!en you can &oin t!em toget!er, you can get t!e start and complete times from eac! session. I "ould suggest using a vie" to get t!e data out > eyond t!e M3 vie"s? 0 and record it in anot!er metrics ta le for !istorical reasons. It could even e done y putting a TRIDD#R on t!ese ta les >possi ly t!e est solution?... <C Bhere can I find more information on what the Informatica =epositor# ,ables are? 4n t!is "e 0site. )e !ave pu lis!ed an unsupported vie" of "!at "e elieve to e !oused in specific ta les in t!e Informatica Repository. C!ec$ it out 0 "e\ll e adding to t!is section as "e go. Rig!t no" it\s &ust a elief of "!at "e see in t!e ta les. Repository Ta le Meta0Data Definitions

KM

<C Bhere can I find / chan!e the settin!s re!ardin! font?s> colors> and la#outs for the desi!ner? 1ou can find all t!e font\s, colors, layouts, and controls in t!e registry of t!e individual client. All t!is information is $ept at: 5;#19C:RR#BT9:S#RNSoft"areNInformaticaN<o"erMart Client ToolsNIverO. (elo" !ere, you\ll find t!e different folders "!ic! allo" c!anges to e made. (e careful, deleting items in t!e registry could !amper t!e soft"are from "or$ing properly. <C Bhere can I find tunin! help abo0e and be#ond the manuals? Rig!t !ere. T!ere are slide presentations, eit!er availa le no", or soon "!ic! "ill cover tuning of Informatica maps and sessions 0 it does mean t!at t!e arc!itectural solution proposed !ere e put in place. <C Bhere can I find the map?s used in !eneratin! performance statistics? A "indo"s XI< file "ill soon e posted, "!ic! !ouses a repository ac$up, as "ell as a simple <#R/ program t!at generates t!e source file, and a S*/ script "!ic! creates t!e ta les in 4racle. 1ou\ll e a le to do"nload t!is, and utili2e t!is for your o"n enefit. Q: Bh# doesn?t constraint based load order wor) with a maplet? (0* .a# 2000 If your maplet !as a se,uence generator >reusa le? t!at\s mapped "it! data straig!t to an ]4:T<:T] designation, and t!en t!e map splits t!e output to t"o ta les: parentAc!ild 0 and your session is mar$ed "it! ]Constraint (ased /oad 4rdering] you may !ave e-perienced a load pro lem 0 "!ere t!e constraints do not appear to e metFF )ell 0 t!e pro lem is in t!e perception of "!at an ]4:T<:T] designation is. T!e 4:T<:T component is B4T an ]o &ect] t!at collects a ]ro"] as a ro", efore pus!ing it do"nstream. An 4:T<:T component is merely a pass0t!roug! structural o &ect 0 as indicated, t!ere are no data types on t!e IB<:T or 4:T<:T components of a maplet 0 t!us indicating merely structure. To ma$e t!e constraint ased load order "or$ properly, move all t!e ports t!roug! a single e-pression, t!en t!roug! t!e 4:T<:T component 0 t!is "ill force a single ro" to e ]put toget!er] and passed along to t!e receiving maplet. 4t!er"ise 0 t!e se,uence generator generates 6 ne" se,uence ID for eac! split target on t!e ot!er side of t!e 4:T<:T component. Q: Bh# doesn?t C@G allow me to set the %tored 4rocedure connection information in the %ession .ana!er H: ,ransformations ,ab? (3$ .arch 2000 T!is functionality used to e-ist in an older version of <o"erMartA<o"erCenter. It "as a good feature 0 as "e could control "!en t!e procedure "as e-ecuted >ie: source pre0load?, ut e-ecute it in a target data ase connection. It appears to e a removed piece of functionality. )e are as$ing Informatica to put it ac$ in. <C Bh# doesn?t it wor) when I wrap a se&uence !enerator in a 0iew> with a loo)up object? .irst 0 to "rap a se,uence generator in a vie", you must create an 4racle stored function, t!en call t!e function in t!e select statement in a vie". Second, 4racle dis0allo"s an order y clause on a column returned from a user function >It "ill cut your connection 0 and report an oracle error?. I t!in$ t!is is a ug t!at needs to e reported to 4racle. An Informatica loo$up o &ect automatically places an ]order y] clause on t!e return ports A output ports in t!e order t!ey appear in t!e o &ect. T!is includes any ]function] return. T!e minute it e-ecutes a non0cac!ed S*/ loo$up statement "it! an order y clause on t!e function return >se,uence num er? 0 4racle cuts t!e connection. T!us $eeping t!is solution from "or$ing >"!ic! "ould e slig!tly faster t!an inding an e-ternal procedureAfunction?. <C Bh# doesn?t a runnin! session QII, when Oracle or %#base return fatal errors? T!e session "ill only *:IT "!en it\s t!res!old is set: ]Stop on 6 errors]. 4t!er"ise t!e session "ill continue to run. <C Bh# doesn?t a runnin! session return a nonHsuccessful error code to the command line when Oracle or %#base return an# error? If t!e session is not ounded y it\s t!res!old: set ]Stop on 6 errors] t!e session "ill run to completion 0 and t!e server "ill consider t!e session to !ave completed successfully 0 even if 4racle runs out of Roll ac$ or Temp /og space, even if Sy ase !as a similar error. To correct t!is 0 set t!e session to stop on 6 error, t!en t!e command line: pmcmd "ill return a non02ero >it failed? type of error code. 0 as "ill t!e session manager see t!at t!e session failed. <C Bh# doesn?t the session wor) when I pass a te"t date field in to the to6date function?

KK

In order to ma$e to9date>----,IformatO? "or$ properly, "e suggest surrounding your e-pression "it! t!e follo"ing: II.> is9date>IdateO,IformatO? G true, to9date>IdateO,IformatO?, B://? T!is "ill prevent session errors "it! ]transformation error] in t!e port. If you pass a non0date to a to9date function it "ill cause t!e session to om out. (y testing it first, you ensure 6? t!at you !ave a real date, and =? your format matc!es t!e date input. T!e format s!ould matc! t!e e-pected date input directly 0 spaces, no spaces, and everyt!ing in et"een. .or e-ample, if your date is: 6QQQ6CEC==:E6:=E t!en you "ant a format to e: 1111MMDD55=H:MI:SS "it! no spaces. <C Bh# doesn?t the session control an update to a table (I ha0e no update strate!# in the map for this tar!et ? In order to process AB1 update to any target ta le, you must put an update strategy in t!e map, process a DD9:<DAT# command, c!ange t!e session to ]data driven]. T!ere is a second met!od: "it!out utili2ing an update strategy, set t!e S#SSI4B properties to ]:<DAT#] instead of ]DATA DRI%#B], ut e "arned A// targets "ill e updated in place 0 "it! failure if t!e ro"s don\t e-ist. T!en you can set t!e update flags in t!e mapping\s sessions to control updates to t!e target. Simply setting t!e ]update flags] in a session is not enoug! to force t!e update to complete 0 even t!oug! t!e log may s!o" an update S*/ statement, t!e log "ill also s!o": cannot insert >duplicate $ey? errors. <C Bho is the Informatica %ales ,eam in the /en0er =e!ion? C!ristine Connor >Sales?, and Alan Sc!"a >Tec!nical #ngineer?. <C Bho is the contact for Informatica consultin! across the countr#? C4R# Integration Q: Bhat happens when I don?t connect input ports to a maplet? ($C +une 2000 <otentially 5a2ardous values are generated in t!e maplet itself. <articularly for numerics. If you didn\t connect A// t!e ports to an input on a maplet, c!ances are you\ll see sporadic values inside t!e maplet 0 t!us sporadic results. Suc! as X#R4 in certain decimal cases "!ere B:// is desired. T!is is ecause ot! t!e IB<:T and 4:T<:T o &ects of a maplet are not!ing more t!an an interface, "!ic! defines t!e structure of a data ro" 0 t!ey are B4T li$e an e-pression t!at actually ]receives] or ]puts toget!er] a ro" image. T!is can cause a misunderstanding of !o" t!e maplet "or$s 0 if you\re not careful, you\ll end up "it! une-pected results. <C Bhat is the 7ocal Object <ache? (3 .arch 2000 T!e local o &ect cac!e is a cac!e of t!e Informatica o &ects "!ic! are retrieved from t!e repository "!en a connection is esta lis!ed to a repository. T!e cac!e is not readily accessed ecause it\s !oused "it!in t!e <MA<C client tool. )!en t!e client is s!ut0do"n, t!e cac!e is released. Apparently t!e refres! cycle of t!is local cac!e re,uires a full disconnectAreconnect to t!e repository "!ic! !as een updated. T!is cac!e "ill !ouse t"o different images of t!e same o &ect. .or instance: a s!ared o &ect, or a s!ortcut to anot!er folder. If t!e actual source o &ect is updated >source s!ared, source s!ortcut?, updates can only e seen in t!e current open folder if a disconnectAreconnect is performed against t!at repository. T!ere is no apparent command to refres! t!e cac!e from t!e repository. T!is may cause some confusion "!en updating o &ects t!en s"itc!ing ac$ to t!e mapping "!ere you\d e-pect to see t!e ne"ly updated o &ect appear. <C Bhat is the best wa# to (0ersion control(? It seems t!e general developer community agrees on t!is one, t!e Informatica %ersioning leaves a lot to e desired. )e suggest not utili2ing t!e versioning provided. .or t"o reasons: one, it\s e-tremely un"ieldy >you lose all your sessions?, and t!e repository gro"s e-ponentially ecause Informatica copies o &ects to increase t!e version num er. )e suggest t"o different approac!es^ 6? utili2ing a ac$up of t!e repository 0 sync!roni2e Informatica repository ac$ups >as opposed to D(MS repo ac$ups? "it! all t!e developers. Ma$e your ac$up consistently and fre,uently. T!en 0 if you need to ac$ out a piece, restore t!e "!ole repository. =? (uild on t!is "it! a second ]scratc!] repository, save and restore to t!e ]scratc!] repository 4B# version of t!e folders. Drag and drop t!e folders to and from t!e ]scratc!] development repository. T!en 0 if you need to %I#) a muc! older version, restore t!at ac$up to t!e scratc! area, and vie" t!e folders. In t!is manner 0 you can c!ec$ in t!e "!ole repository ac$up inary to an outside version control system li$e <%CS, CCS, SCM, etc... T!en restore t!e "!ole ac$up in to acceptance 0 use t!e ac$up as a ]%#RSI4B] or snaps!ot of everyt!ing in t!e repository 0 t!is "ay items don\t get lost, and disconnected versions do not get migrated up in to production. <C Bhat is the best wa# to handle multiple de0eloper en0ironments?

KP

T!e sc!ool of t!oug!t is still out on t!is one. As "it! any 0 t!ere are many many "ays to !andle t!is. 4ne idea is presented !ere >"!ic! seems to "or$ "ell, and e comforta le to t!ose "!o already "or$ed in s!ared Source Code environments?. T!e idea is t!is: All developers use s!ared folders, s!ared o &ects, and glo al repositories. In development 0 it\s all a out communication et"een team mem ers 0 so t!at t!e items eing modified are assigned to individuals for "or$. )it! t!is met!odology 0 all maps can use common mapplets, s!ared sources, targets, and ot!er items. T!e one pro lem "it! t!is is t!at t!e developers M:ST communicate a out "!at t!ey are "or$ing on. T!is is a common and familiar met!od to "or$ing on s!ared source code 0 most development teams feel comforta le "it! t!is, as do managers. T!e pro lem "it! anot!er commonly utili2ed met!od >one folder per developer?, is t!at you end up "it! run0a"ay development environments. Code re0use, and s!ared o &ect use nearly al"ays drop to 2ero percent >caveat: unless you are follo"ing S#I A CMM A ;<A /evel J 0 and you !ave a dedicated CM >C!ange Management? person in t!e "or$s. Communication is still of utmost importance, !o"ever no" you !ave t!e added pro lem of ]c!ec$ing in] "!at loo$s li$e different source ta les from different developers, ut t!e o &ects are named t!e same... Among ot!er pro lems t!at arise. <C Bhat is the web address to submit new enhancement re&uests?

Informatica\s en!ancement re,uest "e address is: mailto:featurere,uesteinformatica.com

<C Bhat is the e"ecution order of the ports in an e"pression? All ports are e-ecuted T4< T4 (4TT4M in a serial fas!ion, ut t!ey are done in t!e follo"ing groups: All input ports are pus!ed values first. T!en all varia les are e-ecuted >top to ottom p!ysical ordering in t!e e-pression?. /ast 0 all output e-pressions are e-ecuted to pus! values to output ports 0 again, top to ottom in p!ysical ordering. 1ou can utili2e t!is to your advantage, y placing loo$ups in to varia les, t!en using t!e varia les ]later] in t!e e-ecution cycle. <C Bhat is a su!!ested method for 0alidatin! fields / mar)in! them with errors? 4ne of t!e successful met!ods is to create an e-pression o &ect, "!ic! contains varia les.O 4ne varia le per port t!at is to e c!ec$ed.O Set t!e error 7flag8 for t!at field, t!en at t!e ottom of t!e e-pression trap eac! of t!e error fields.O .rom t!is port you can c!oose to set flags ased on eac! individual error "!ic! occurred, or feed t!em out as a com ination of concatenated field names + to e inserted in to t!e data ase as an error ro" in an error trac$ing ta le. <C Bhat does the error D5ro)en 4ipeE mean in the 4.%-=J-=@-== lo! on Ini"? 4ne of t!e $no"n causes for t!is error message is: "!en someone in t!e client :ser Interface ,ueries t!e server, t!en presses t!e 7cancel8 utton t!at appears riefly in t!e lo"er left corner.O It is !armless + and poses no t!reat. <C Bhat is the best wa# to create a readable D/-5I'E lo!? Create a ta le in a relational data ase "!ic! resem les your flat file source >assuming you !ave a flat file source?.O /oad t!e data in to t!e relational ta le.O T!en + create your map from top to ottom and turn on %#R(4S# DATA log at t!e session level.O Do ac$ to t!e map, over0ride t!e S*/ in t!e S*/ *ualifier to only pull one to t!ree ro"s t!roug! t!e map, t!en run t!e session.O In t!is manner, t!e D#(:D log "ill e reada le, errors "ill e muc! easier to identify + and once t!e logic is fi-ed, t!e "!ole data set can e run t!roug! t!e map "it! B4RMA/ logging.O 4t!er"ise you may end up "it! a !uge >Mega yte? log.O T!e ot!er t"o "ays to create de ugging logs are: 6? s"itc! t!e session to T#ST /4AD, set it to E ro"s, and runf T!e pro lem "it! t!is is t!at t!e reader "ill read A// of t!e source data.O =? c!ange t!e output to a flat filef. T!e pro lem "it! t!is is t!at your log ends up !uge >depends on t!e num er of source ro"s you !ave?. <C Bhat is the best methodolo!# for utiliFin! InformaticaKs %tren!ths? It depends on t!e purpose. 5o"ever + t!ere is a asic definition of !o" "ell t!e tool "ill perform "it! t!roug!put and data !andling, if follo"ed in general principal + you "ill !ave a "inning situation.O 6? rea$ all comple- maps do"n in to small managea le c!un$s.O (rea$ up any logic you can in to steps.O Informatica does muc! etter "it! smaller more maintaina le maps. =? (rea$ up comple- logic "it!in an e-pression in to several different e-pressions.O (e "ary t!oug!: t!e more e-pressions t!e slo"er t!e t!roug!put + only rea$ up t!e logic if it's too difficult to maintain.O E? .ollo" t!e guides for ta le structures and data "are!ouse structures "!ic! are availa le on t!is "e site.O .or reference: load flat files to staging ta les, load staging ta les in to operational data stores A reference stores A data "are!ousing sources, load data "are!ousing sources in to star sc!emas or sno"fla$es, load star sc!emas or sno"fla$es in to !ig!ly de0normali2ed reporting ta les.O (y rea$ing apart t!e logic you "ill see t!e fastest t!roug!put.

KQ

<C Bhen is it ri!ht to use %Q7L7oader / 5<4 as a piped session 0ersus a tail process? S*/R/oader A (C< as a piped session s!ould e used "!en no intermediate file is necessary, or t!e source data is too large to stage to an intermediate file, t!ere is not enoug! dis$ or time to place all t!e source data in to an intermediate file.O T!e do"nfalls currently are t!is: as a piped process >for <o"erCenter 6.J.= and 6.M A <o"erMart vH.J=. and H.M?O t!e core does B4T stop "!en eit!er (C< or S*/R/oader 7,uit8 or terminate.O T!e core "ill only stop after reading all of t!e source data in to t!e data reader t!read.O T!is is dangerous if you !ave a !uge file you "is! to process + and it's sc!eduled as a monitored process.O )!ic! means: a J !our load >in "!ic! S*/R/oader A (C< stopped "it!in t!e first J minutes? "ill only stop and signal a page after J !ours of reading source data. <C Bhat happens when Informatica causes /= Batson?s on 2,? (30 October 2000 T!is is &ust my t!eory for no", ut !ere\s t!e est e-planation I can come up "it!. Typically t!is occurs "!en t!ere is not enoug! p!ysical RAM availa le to perform t!e operation. :sually t!is only !appens "!en S*/Server is installed on t!e same mac!ine as t!e <MServer 0 !o"ever if t!is is not your case, some of t!is may still apply. <MServer starts up c!ild t!reads &ust li$e :ni-. T!e t!reads s!are t!e glo al s!ared memory area 0 and rely on BT\s T!read capa ilities. T!e DR )atson seems to appear "!en a t!read attempts to deallocate, or allocate real memory. T!ere\s none left >mostly ecause of S*/Server?. T!e memory manager appears to return an error, or as$s t!e t!read to "ait "!ile it reorgani2es virtual RAM to ma$e "ay for t!e p!ysical re,uest. :nfortunately t!e t!read code doesn\t pay attention to t!is re,urest, resulting in a memory violation. T!e ot!er t!eory is t!e t!read attempts to free memory t!at\s een s"apped to virtual, or !as een ]gar age collected] and cleared already 0 t!us resulting again in a protected memory mode access violation 0 t!us a DR )atson. Typically t!e DR )atson can cause t!e session to ]free2e up]. T!e only "ay to clear t!is is to stop and restart t!e <MS#R%#R service 0 in some cases it re,uires a full mac!ine re oot. T!e only ot!er possi ility is "!en <MServer is attempting to free or s!ut do"n a t!read 0 may e t!ere\s an error in t!e code "!ic! causes t!e DR )atson. In any case, t!e only real fi- is to increase t!e p!ysical RAM on t!e mac!ine, or to decrease t!e num er of concurrent sessions running at any given point, or to decrease t!e amount of RAM t!at eac! concurrent session is using. <C Bhat happens when Informatica <O=- /I.4% on Ini"? ($2 3pril 2000 Many t!ings can cause a core dump, ut t!e ,uestion is: !o" do you go a out ]finding out] "!at cuased it, !o" do you "or$ to solve it, and is t!ere a simple fi-F T!is case "as found to e fre,uent >according to tec! support? among setups of Be" :ni- 5ard"are 0 causing unnecessary core dumps. T!e I<C semap!ore settings "ere set too lo" 0 causing 3 num er of concurrent sessions to ]die] "it! ]"riter process died] and ]reader process died] etc... )e are on a :ni- Mac!ine 0 Sun Solaris J.K, anyone "it! t!is configuration mig!t "ant to c!ec$ t!e settings if t!ey e-perience ]Core Dumps] as "ell. 6. =. E. H. J. M. Run ]sysdef], e-amine t!e I<C Semap!ores section at t!e ottom of t!e output. t!e folo"ing settings s!ould e ]increased] S#MMBI 0 >semap!ore identifiers?, >K - Y of concurrent sessions to run in Informatica? S 6C for gro"t! S D(MS setting >D(MS Setting: 4racle G = per user, Sy ase G HC >avg?? S#MMB: 0 >undo structures in system? G C.PC - S#MMBI value S#M:M# 0 >ma- undo entries per process? G S#MMB: S5MMBI 0 >s!ared memory identifiers? G S#MMBI S 6C T!ese settings must e c!anged y R44T: etcAsystem file. A out t!e C4R# D:M<: To !elp Informatica figure out "!at\s going "rong you can run a uni- utility: ]truss] in t!e follo"ing manner: S!ut do"n <MS#R%#R login as ]po"ermart] o"ner of pmserver 0 cd to t!e pmserver !ome directory. 4pen Session Manager on anot!er client 0 log in, and e ready to press ]start] for t!e sessionsA atc!es causing pro lems. type: truss 0f 0o truss.out pmserver I!it returnO 4n t!e client, press ]start] for t!e sessionsA atc!es !aving trou le. )!en all t!e atc!es !ave completed or failed, press ]stop server] from t!e Server Manager 1our ]truss.out] file "ill !ave een created 0 t!us giving you a log of all t!e for$ed processes, and memory management Asystem calls t!at "ill !elp decip!er "!at\s !apping. you can e-amine t!e ]truss.out] file 0 loo$ for: ]$illed] in t!e log. D4BT .4RD#T: .ollo"ing a C4R# D:M< it\s al"ays a good idea to s!ut do"n t!e uni- server, and ounce t!e o- >restart t!e "!ole server?.


6. =. E. H. J. M.

<C Bhat happens when Oracle or %#base !oes down in the middle of a transformation?

PC

It's up to t!e data ase to recover up to t!e last commit point.O If you're as$ing t!is ,uestion, you s!ould e t!in$ing a out re0runna ility of your processes.O Designing re0runa ility in to t!e processingAmaps up front is t!e est preventative measure you can !ave.O :tili2ing t!e recovery facility of <o"erMart A <o"erCenter appears to e s$etc!y at est + particularly in t!is area of recovery.O T!e transformation itself "ill eventually error out + stating t!at t!e data ase is no longer availa le >or somet!ing to t!at effect?. <C Bhat happens when Oracle (or %#base is ta)en down for routine bac)up> but nothin! is runnin! in 4.%er0er at the time? <MServer reports t!at t!e data ase is unavaila le in t!e <MS#R%#R.err log.O )!en 4racleASy ase comes ac$ on line, <MServer "ill attempt to re0connect >if t!e repository is on t!e 4racleASy ase instance t!at "ent do"n?, and eventually it "ill succeed >"!en 4racleASy ase ecomes availa le again?.O 5o"ever + it is recommended t!at <MServer e sc!eduled to s!utdo"n efore 4racleASy ase is ta$en off0line and sc!eduled to re0start after 4racleASy ase is put ac$ on0line. <C Bhat happens in a database when a cached 7OOMI4 object is created (durin! a session ? T!e session generates a select statement "it! an 4rder (y clause. Any time t!is is issued, t!e data ases li$e 4racle and Sy ase "ill select >read? all t!e data from t!e ta le, in to t!e temporary data aseAspace. T!en t!e data "ill e sorted, and read in c!un$s ac$ to Informatica server. T!is means, t!at !ot0spot contention for a cac!ed loo$up "ill B4T e t!e ta le it &ust read from. It "ill e t!e T#M< area in t!e data ase, particularly if t!e T#M< area is eing utili2ed for ot!er t!ings. Also 0 once t!e cac!e is created, it is not re0read until t!e ne-t running session re0 creates it. <C <an #ou e"plain how (constraint based load orderin!( wor)s? (2G +an 2000 Constraint ased load ordering in <o"erMart A <o"erCenter "or$s li$e t!is: it controls t!e order in "!ic! t!e target ta les are committed to a relational data ase. It is of no use "!en sending information to a flat file. To construct t!e proper constraint order: lin$s et"een t!e TARD#T ta les in Informatica need to e constructed. Simply turning on ]constraint ased load ordering] !as no effect on t!e operation itself. Informatica does B4T read constraints from t!e data ase "!en t!is s"itc! is turned on. Again, to ta$e advantage of t!is s"itc!, you must construct primary A foreign $ey relations!ips in t!e TARD#T TA(/#S in t!e designer of Informatica. Creating primary A foreign $ey relations!ips is difficult 0 you are only allo"ed to lin$ a single port >field? to a single ta le as a primary A foreign $ey. <C It appears as if (constraint based load orderin!( ma)es m# session (han!( (it ne0er completes @ How do I fi" this? (2G +an 2000 )e !ave a suggested met!od. T!e est $no"n met!od for fi-ing t!is ]!ang] ug is to 6? open t!e map, =? delete t!e target ta les >parent A c!ild pairs? E? Save t!e map, H? Drag in t!e targets again, <arent\s .IRST J? relin$ t!e ports, M? Save t!e map, K? refres! t!e session, and re0run it. )!at it does: Informatica places t!e ]target load order] as t!e order in "!ic! t!e targets are created >in t!e map?. It does t!is ecause t!e repository is Seu,ence ID (ased and t!e session derives it\s ]commit] order y t!e Se,uence ID >unless constraint ased load ordering is 4B?, t!en it tries to re0arrange t!e commit order ased on t!e constraints in t!e Target Ta le definitions >in <o"erMartA<o"erCenter?. 4nce done, t!is "ill solve t!e commit ordering pro lems, and t!e ]constraint ased] load ordering can even e turned off in t!e session. Informatica claims not to support t!is feature in a session t!at is not IBS#RT 4B/1. 5o"ever 0"e\ve gotten it to "or$ successfully in DATA DRI%#B environments. T!e only $no"n cause >according to Tec!nical Support? is t!is: t!e "riter is going to commit a c!ild ta le >as defined y t!e $ey lin$s in t!e targets?. It c!ec$s to see if t!at particular parent ro" !as een committed yet 0 ut it finds not!ing > ecause t!e reader filled up t!e memory cac!e "it! ne" ro"s?. T!e memory t!at "as !olding t!e ]committed] ro"s !as een ]dumped] and no longer e-ists. So 0 t!e "riter "aits, and "aits, and "aits 0 it never sees a ]commit] for t!e parents, so it never ]commits] t!e c!ild ro"s. T!is only appears to !appen "it! files larger t!an a certain num er of ro"s >depending on your memory settings for t!e session?. T!e only fi- is t!is: Set ]T!rottleReaderG=C] in t!e <MS#R%#R.C.D file. It apparently limits t!e Reader t!read to a ma-imum of ]=C] loc$s for eac! session 0 t!us leaving t!e "riter more room to cac!e t!e commit loc$s. 5o"ever 0 t!is too also !angs in certain situations. To fi- t!is, Tec! Support recommends moving to <o"erMart H.M.= release >internal core apparently needs a fi-?. H.M.= appears to e ] etter] e!aved ut not perfect. T!e only ot!er "ay to fi- t!is is to turn off constraint ased load ordering, c!oose a different arc!itecture for your maps >see my presentations?, and control one mapAsession per target ta le and t!eir order of e-ecution. <C Is there a wa# to cop# a session with a map> when cop#in! a map from repositor# to repositor#? %a#> cop#in! from /e0elopment to 3cceptance? Bot t!at anyone is a"are of. T!ere is no direct straig!t for"ard met!od for copying a session. T!is is t!e one do"nside to attempting to version control y folder. 1ou M:ST re0create t!e session in Acceptance >:B/#SS? you ac$up t!e Development repository, and R#ST4R# it in to acceptance. T!is is t!e only "ay to ta$e all contents >and sessions? from one repository to anot!er. In t!is fas!ion, you are versioning all of t!e repository at once. )it!

P6

t!e repository (IBAR1 you can t!en c!ec$ t!is "!ole inary in to <%CS or some ot!er outside version control system. 5o"ever, to recreate t!e session, t!e est met!od is to: ring up Development folderArepo, side y side "it! Acceptance folderArepo 0 t!en modify t!e settings in Acceptance as necessary. <C <an I set Informatica up for ,ar!et flat file> and tar!et relational database? :p t!roug! <o"erMart H.M.=, <o"erCenter 6.M.= t!is cannot e done in a single map. T!e est met!od for t!is is to stay relational "it! your first map, add a ta le to your data ase t!at loo$s e-actly li$e t!e flat file >6 for 6 "it! t!e flat file?, target t!e t"o relational ta les. T!en, construct anot!er map "!ic! simply reads t!is ]staging] ta le and dumps it to flat file. 1ou can atc! t!e maps toget!er as se,uential. <C How can #ou optimiFe use of an Oracle %e&uence 'enerator? In order to optimi2e t!e use of an 4racle Se,uence Denerator you must rea$ up you map. T!e generic met!od for calling a se,uence generator is to encapsulate it in a stored procedure. T!is is typically slo" 0 and $ills t!e performance. 1our version of Informatica\s tool s!ould contain maplets to ma$e t!is easier. (rea$ t!e map up in to inserts only, and updates only. T!e suggested met!od is as follo"s: 6? Create a staging ta le 0 ring t!e data in straig!t from t!e flat file in to t!e staging ta le. =? Create a maplet "it! t!e current logic in it. E? create one IBS#RT map, and one :pdate map >separate inserts from updates? H? create a S4:RC# called: D:A/, containing t!e fields: D:MM1 c!ar>6?, B#3T%A/ B:M(#R>6J,C?, C:RR%A/ num er>6J,C?, J? Copy t!e source in to your IBS#RT map, M? delete t!e Source *ualifier for ]dummy] K? copy t!e ]ne-tval] port in to t!e original source ,ualifier >t!e one t!at pulls data from t!e staging ta le? P? 4ver0ride t!e S*/ in t!e original source ,ualifier, >generate it, t!en c!ange D:A/.B#3T%A/ to t!e se,uence name: S*9T#ST.B#3T%A/. Q? .eed t!e ]ne-tval] port t!roug! t!e mapplet. 6C? C!ange t!e "!ere clause on t!e S*/ over0ride to select only t!e data from t!e staging ta le t!at doesn\t e-ist in t!e parent target >to e inserted. T!is is e-tremely fast, and "ill allo" your inserts only map to operate at incredi ly !ig! t!roug!put "!ile using an 4racle Se,uence Denerator. (e sure to tune your inde-es on t!e 4racle ta les so t!at t!ere is a !ig! read t!roug!put. <C Bh# can?t I o0erHride the %Q7 in a loo)up> and ma)e the loo)up nonHcached?

Apparently Informatica !asn\t made t!is feature availa le yet in t!eir tool. It\s a s!ame 0 it "ould simplify t!e met!od for pulling 4racle Se,uence num ers from t!e data ase. .or no" 0 it\s simply not implemented.

<C /oes it ma)e a difference if I push all m# ports (fields throu!h an e"pression> or push onl# the ports which are used in the e"pression?

.rom t!e "or$ t!at !as een done 0 it doesn\t ma$e muc! of an impact on t!e overall speed of t!e map. If t!e paradigm is to pus! all ports t!roug! t!e e-pressions for reada ility t!en do so, !o"ever if it\s easier to pus! t!e ports around t!e e-pression >not t!roug! it?, t!en do so.

<C Bhat is the affect of ha0in! multiple e"pression objects 0s one e"pression object with all the e"pressions?

/ess overall o &ects in t!e map ma$e t!e mapAsession run faster. Consolodating e-pressions in to a single e-pression o &ect is most !elpful to t!roug!put 0 ut can increase t!e comple-ity >maintenance?. Read t!e ,uestionAans"er a out e-ecution cycles a ove for !ints on !o" to setup a large e-pression li$e t!is.

*.Am using a S< t!at returns a resultset. > e- : select R from cust "!ere cust9id G ecust9id ?I am supposed to load t!e contents of t!is into t!e target..As simple as it seems , I am not a le to pass t!e t!e mapping parameters for cust9idAlso , I cannot !ave a mapping "it!out S* Tranf. Ans: 5ere select R from cust "!ere cust9id G ecust9id is "rong it s!ould e li$e t!is: select R from cust "!ere cust9id G UWWcust9idU *.My re,uirement is li$e t!is: Target ta le structure. Col6, col=, colE, filename T!e source file structure "ill !ave col6, col= and colE. All t!e 6C files !ave t!e same structure ut different filenames. "!en i run my mapping t!ro\ file list, i am a le to load all t!e 6C files ut t!e filename column is empty. 5ence my re,uirement is t!at "!ile reading from t!e file list, is t!ere any "ay i can e-tract t!e filename and populate into my target ta le."!at u !ave said is t!at it "ill populate into a separate ta le. (ut in no "ay i can find "!ic! record !as come from "!ic! file. <ls !elpF Ans: 5ere <MCMD command can e used "it! s!ell script to run t!e same session y c!anging t!e source file name dynamically in t!e parameter file. *.5i all,i am fig!ting "it! t!is pro lem for a ,uiet a it of time no".I need your !elp guys >pl2?i am trying to load data from D(= to 4racle.t!e column in D(= is of /4BD%ARC5AR and t!e column in 4racle t!at i am mapping to is of

P=

C/4( data type.for t!is it is giving \parameter inding error,illegal parameter value in /4( function\pl2 if any ody !ad faced t!is $ind of pro lem,guide me. >log file give pro lem as follo"s: )RIT#R969R96O )RT9P6MK Start loading ta le ZS5R9ASS4CIATI4B[ at: Mon Lan CE 6K:=6:6K =CCJ )RIT#R969R96O Mon Lan CE 6K:=6:6K =CCJ )RIT#R969R96O )RT9P==Q Data ase errors occurred: Data ase driver error...parameter inding failed 4RA0=HPC6: illegal parameter value in 4CI lo function Data ase driver error...? Ans: Informatica <o"ercenter elo" M.=.6 doesn't supports C/4(A(/4( data types ut t!is is supported in K.C on"ards. So please upgrade to t!is version or c!ange t!e data type of u r column to t!e suita le one. *.5i )e are doing production support, "!en I c!ec$ed one mapping I found t!at for t!at mapping Source is Sy ase and Target is 4racle ta le >in mapping? "!en I c!ec$ed in t!e session for t!e same maping I found t!at In session properties t!ey declared t!e target as .lat file Is it possi leFF if so !o"...."!en it's possi leF Ans: I t!in$ t!ey are loading t!e data from S1(AS# source to 4racle Target using t!e #-ternal /oader. *.Is t!ere RanyR "ay to use a S*/ statement as a source rat!er t!an a ta le or ta les and &oin t!em in Informatica via aggregator\s, Loin\s, etc... F Ans: S*/ 4verride is t!ere in t!e Source *ualifier Transformation. *.I !ave a data file in "!ic! eac! record may contain varia le num er of fields. I !ave to store t!ese records in oracle ta le "it! one to one relations!ip et"een record in data file and record in ta le. Ans: *uestion is not clear. (ut I t!in$ !e s!ould !ave t!e structure of all t!e records depending on its type. T!en use a se,uence transformation for getting an uni,ue id for eac! record.

PE

Você também pode gostar