<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0ENRHc6fyp7ImA9WxBUFUs.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387</id><updated>2010-03-02T14:41:35.917-08:00</updated><title>ITNirvanas (Datwarehousing/Oracle/Informatica/Unix/D2K Plus interview questions)</title><subtitle type="html">This site is helpful for everybody who is interested in learning new things about Datawarehousing/Oracle/Informatica/Unix/D2K and also for the one is who is preparing for interview.if you want article to be published on certain topic then please mail to support@ITNirvanas.com.We will try our best to publish article on that topic.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/itnirvanas/NKsr" /><feedburner:info uri="itnirvanas/nksr" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><entry gd:etag="W/&quot;CEIAQ3w_eip7ImA9WxJTEUg.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-3609946498195988498</id><published>2009-04-19T05:04:00.000-07:00</published><updated>2009-04-19T07:49:02.242-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-19T07:49:02.242-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle" /><title>11 G New Features</title><content type="html">&lt;div&gt;In this article we will cover new features of 11 G&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Case senstive Passwords&lt;/span&gt;&lt;/span&gt; : In 11G oracle password are case senstive ,but this feature can be changed by altering the parameter &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;   ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;&lt;/div&gt;&lt;div&gt;   &lt;/div&gt;&lt;div&gt;2) &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Invisible indexes&lt;/span&gt;&lt;/span&gt; :In 11G we can make index invisible .Once we make index invisible it will be ignored by Optimiser &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;CREATE INDEX index_name ON table_name(column_name) INVISIBLE;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ALTER INDEX index_name INVISIBLE;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Invisible index is useful in cases where you want to see the impact of dropping the indexes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3)&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Read only Tables &lt;/span&gt;&lt;/span&gt;: In 11G we can create read only tables&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ALTER TABLE table_name READ ONLY;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In previous versions to make a table read only we have to restrict by giving select access.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We can again make it availaible for writing by &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ALTER TABLE table_name READ WRITE;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4) &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;PL/SQL Function Result Cache &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PL/SQL Function result cache provides a nice way to enhance the performance of Oracle functions by storing &lt;/div&gt;&lt;div&gt;the results of specific input parameter combination of function calls in SGA .&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This will be particularly useful in cases where sql function is being called in SQL query or PL/SQL loop.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;CREATE OR REPLACE FUNCTION test_cache (p_in IN NUMBER)&lt;/div&gt;&lt;div&gt;  RETURN NUMBER&lt;/div&gt;&lt;div&gt;  RESULT_CACHE&lt;/div&gt;&lt;div&gt;AS&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5)&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); "&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;DDL With the WAIT Option &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In prior 11G if you try to alter a table which is undergoing some DML operation you will get the error &lt;/div&gt;&lt;div&gt;"ORA-00054: resource busy" &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ALTER SESSION SET ddl_lock_timeout=20;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;DDL_LOCK_TIMEOUT parameter tells the number of seconds a DDL coomand should wait for Locks to become available.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We will discuss more features of 11 G in coming articles.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If  you want to have further details on 11 G new features please mail us at support@itnirvanas.com&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-3609946498195988498?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/3609946498195988498/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/04/11-g-new-features.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/3609946498195988498?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/3609946498195988498?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/04/11-g-new-features.html" title="11 G New Features" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C0IMSXYzfip7ImA9WxVaFEg.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-4229193864615716090</id><published>2009-04-11T04:16:00.000-07:00</published><updated>2009-04-11T05:06:28.886-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-11T05:06:28.886-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica Metadata Queries" /><title>Informatica Metadata Queries (Part 3)</title><content type="html">&lt;div&gt;We will continue to publish new metadata queries&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;Purpose :&lt;/span&gt;&lt;/span&gt;  To Find Truncate Table Option&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Query : &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;select task_name,'Truncate Target Table' ATTR,decode(attr_value,1,'Yes','No') Value &lt;/div&gt;&lt;div&gt; from OPB_EXTN_ATTR OEA,REP_ALL_TASKS RAT  &lt;/div&gt;&lt;div&gt;where OEA.SESSION_ID=rat.TASK_ID &lt;/div&gt;&lt;div&gt;and attr_id=9 &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Description :&lt;/span&gt;&lt;/span&gt; This query will give all sessions where Truncate Table Option is on&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Purpose :&lt;/span&gt;&lt;/span&gt; This query will give count of Mapping,Instance where Sqloverride has been done&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Query :&lt;/span&gt;&lt;/span&gt; WITH detail AS&lt;/div&gt;&lt;div&gt;(SELECT c.subject_area, c.mapping_name,&lt;/div&gt;&lt;div&gt;d.instance_name source_qualifier_name,&lt;/div&gt;&lt;div&gt;CASE WHEN a.attr_value IS NOT NULL THEN 1 ELSE 0 END as OVR_OK&lt;/div&gt;&lt;div&gt;FROM rep_all_mappings c,&lt;/div&gt;&lt;div&gt;opb_widget_inst d,&lt;/div&gt;&lt;div&gt;opb_widget_attr a &lt;/div&gt;&lt;div&gt;WHERE c.mapping_id = d.mapping_id&lt;/div&gt;&lt;div&gt;AND c.mapping_version_number = d.version_number&lt;/div&gt;&lt;div&gt;AND d.widget_type = 3&lt;/div&gt;&lt;div&gt;AND d.widget_id = a.widget_id&lt;/div&gt;&lt;div&gt;AND a.widget_type = d.widget_type&lt;/div&gt;&lt;div&gt;AND a.attr_id = 1&lt;/div&gt;&lt;div&gt;)&lt;/div&gt;&lt;div&gt;SELECT subject_area, 'SQ_OVERIDE' STATUS,&lt;/div&gt;&lt;div&gt;COUNT (DISTINCT mapping_name) NO_OF_Mapping,&lt;/div&gt;&lt;div&gt;COUNT (DISTINCT (mapping_name || source_qualifier_name)) NO_OF_SQ_IN_MAPPING,&lt;/div&gt;&lt;div&gt;COUNT (DISTINCT (source_qualifier_name)) NO_OF_DISTINCT_SQ&lt;/div&gt;&lt;div&gt;FROM detail&lt;/div&gt;&lt;div&gt;WHERE OVR_OK =1&lt;/div&gt;&lt;div&gt;GROUP BY subject_area&lt;/div&gt;&lt;div&gt;UNION&lt;/div&gt;&lt;div&gt;SELECT subject_area, 'SQ_NON_OVERIDE',&lt;/div&gt;&lt;div&gt;COUNT (DISTINCT mapping_name) nb_mapping,&lt;/div&gt;&lt;div&gt;COUNT (DISTINCT (mapping_name || source_qualifier_name)) nb_map_inst,&lt;/div&gt;&lt;div&gt;COUNT (DISTINCT (source_qualifier_name)) nb_inst&lt;/div&gt;&lt;div&gt;FROM detail&lt;/div&gt;&lt;div&gt;WHERE OVR_OK =0 &lt;/div&gt;&lt;div&gt;GROUP BY subject_area&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Description : &lt;/span&gt;&lt;/span&gt;This query will count of Mapping,SQ in mappings,SQ where override has been done.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Purpose : &lt;/span&gt;&lt;/span&gt;This query will SQL Override queries upto 4000 length&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Query :&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;SELECT subj_name, mapping_name,widget_id,&lt;/div&gt;&lt;div&gt;replace(replace(replace (next_attr_val0||next_attr_val1,'   ',' '),chr(13),' '),chr(10),' ')  QUERY_OP_1&lt;/div&gt;&lt;div&gt;fROM &lt;/div&gt;&lt;div&gt;(&lt;/div&gt;&lt;div&gt;select distinct SUB.subj_name subj_name, MAP.mapping_name mapping_name,wid.widget_id,&lt;/div&gt;&lt;div&gt;WID.attr_value next_attr_val0,&lt;/div&gt;&lt;div&gt;LEAD(WID.ATTR_VALUE,1,'') OVER ( PARTITION BY wid.WIDGET_ID,wid.MAPPING_ID ORDER BY wid.WIDGET_ID,wid.MAPPING_ID,wid.LINE_NO) NEXT_ATTR_VAL1,&lt;/div&gt;&lt;div&gt;WID.LINE_NO&lt;/div&gt;&lt;div&gt;from  opb_widget_attr WID,  opb_mapping MAP,  opb_widget_inst WIDINST,&lt;/div&gt;&lt;div&gt;opb_subject SUB&lt;/div&gt;&lt;div&gt;where WID.widget_id = WIDINST.widget_id&lt;/div&gt;&lt;div&gt;and WID.widget_type = WIDINST.widget_type&lt;/div&gt;&lt;div&gt;and WID.widget_type = 3&lt;/div&gt;&lt;div&gt;and WID.attr_id = 1&lt;/div&gt;&lt;div&gt;and WIDINST.mapping_id = MAP.mapping_id&lt;/div&gt;&lt;div&gt;and MAP.subject_id = SUB.subj_id&lt;/div&gt;&lt;div&gt;ORDER BY SUB.subj_name, MAP.mapping_name,wid.widget_id,WID.LINE_NO&lt;/div&gt;&lt;div&gt;)&lt;/div&gt;&lt;div&gt;WHERE  next_attr_val0||next_attr_val1 LIKE '%UPL%'&lt;/div&gt;&lt;div&gt;and line_no=1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); "&gt;Purpose :&lt;/span&gt;&lt;/span&gt; This query will SQL Override queries upto 4000 length.This query will work in oracle database&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Please note that these queries has been tested in Oracle 10G.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); font-weight: bold;"&gt;&lt;div&gt;If you need some information and need query about something different related to metadata query please mail us at support@itnirvanas.com.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-4229193864615716090?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/4229193864615716090/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/04/informatica-metadata-queries-part-3.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/4229193864615716090?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/4229193864615716090?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/04/informatica-metadata-queries-part-3.html" title="Informatica Metadata Queries (Part 3)" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;DEcDR3c_fyp7ImA9WxVbGEo.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-1283560329814117489</id><published>2009-04-04T13:01:00.000-07:00</published><updated>2009-04-04T13:14:36.947-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-04T13:14:36.947-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica" /><title>Informatica Strange Problems</title><content type="html">Some time we encounter strange problem while working with informatica.I would like to highlight some problem  which no way seems to be logical&lt;div&gt;&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Error&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt; : &lt;/span&gt;Informatica Debugger: Invalid session can not be debugged .Select a valid session instance to use &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;img src="http://3.bp.blogspot.com/_lE7aMoJYLGc/Sde9g4hiiYI/AAAAAAAAAIw/Gi91zlvKIjU/s400/Debugger.jpg" /&gt; &lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;Problem &lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;:&lt;/span&gt; You are trying to run your mapping in debug mode by selecting valid session but you are getting below error even though your session is valid.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Solution :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1; tab-stops:list 36.0pt"&gt;&lt;span style="mso-list:Ignore"&gt;1)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;Copy your mapping Suppose M1 as M1_Debug &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1; tab-stops:list 36.0pt"&gt;&lt;span style="mso-list:Ignore"&gt;2)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;Make your session as reusable &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1; tab-stops:list 36.0pt"&gt;&lt;span style="mso-list:Ignore"&gt;3)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;Making your Initial Mapping M1 as invalid by someway&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1; tab-stops:list 36.0pt"&gt;&lt;span style="mso-list:Ignore"&gt;4)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;Now refresh your session it will ask for new mapping then select M1_debug&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1; tab-stops:list 36.0pt"&gt;&lt;span style="mso-list:Ignore"&gt;5)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;Revalidate your session &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1; tab-stops:list 36.0pt"&gt;&lt;span style="mso-list:Ignore"&gt;6)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;Try to run your mapping(M1_debug) using second option use existing reusable instance for mapping &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Now you should be able to run your mapping in debugger mode&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Though it not a 100% correct method but it worked in my case but it is worth trying&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt; If you hit same issue but are not able to resolve please email to &lt;/span&gt;&lt;/span&gt;&lt;a href="mailto:support@itnirvanas.com"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;support@itnirvanas.com&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; Or if you find some better solution please share with us&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Error :&lt;/span&gt;&lt;/span&gt; CMN_1892 Error: Data for Lookup [] fetched from the file [] is not sorted on the condition ports&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Problem :&lt;/span&gt;&lt;/b&gt; You are suddenly started getting this error though you are not using lookup with sorted ports. You also tried all the things like using sorted file etc.&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Solution : &lt;/span&gt;&lt;/span&gt;For us suddenly file size increased almost 10 times and we started getting this error .We tried all the thing but it did not work.&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt;In the end we increased Lookup Data Cache size and Lookup Index Cache size and it started working fine.&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Though it not a 100% correct method but it worked in my case but it is worth trying&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt; If you hit same issue but are not able to resolve please email to &lt;/span&gt;&lt;/span&gt;&lt;a href="mailto:support@itnirvanas.com"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;support@itnirvanas.com&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Please not both of these issues we encountered on &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Informatica 7.1.1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; Or if you find some better solution please share with us  &lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-1283560329814117489?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/1283560329814117489/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/04/informatica-strange-problems.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/1283560329814117489?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/1283560329814117489?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/04/informatica-strange-problems.html" title="Informatica Strange Problems" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_lE7aMoJYLGc/Sde9g4hiiYI/AAAAAAAAAIw/Gi91zlvKIjU/s72-c/Debugger.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D04EQXozcCp7ImA9WxVbF00.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-7665851894281842636</id><published>2009-04-02T13:34:00.000-07:00</published><updated>2009-04-02T13:58:20.488-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-02T13:58:20.488-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica" /><title>How to validate all mappings in a particular folder</title><content type="html">&lt;div&gt;&lt;p class="MsoNormal"&gt;In this post we will discuss how to validate all mapping in a particular folder &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Step1 &lt;/span&gt;&lt;/span&gt;: &lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;  color: rgb(51, 51, 51); font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Go to the Repository manager client&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;  font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Step2 : &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;  color: rgb(51, 51, 51); font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Go to option Tools-&gt;Queries &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;  color: rgb(51, 51, 51); font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Create a new query with name&lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;ALL_MAP_QUERY&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;  color: rgb(51, 51, 51); font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Create a query with parameter name and condition to retrieve the mappings in a folder&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 115%;  color: rgb(51, 51, 51); font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;span class="apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;as the following:&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;  color: rgb(51, 51, 51); font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;folder = folder-name&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 115%;  color: rgb(51, 51, 51); font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;span class="apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;object type = mapping&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_lE7aMoJYLGc/SdUiI09ZEtI/AAAAAAAAAIg/D0Zne9axOgg/s1600-h/Validate_Mapping.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 310px;" src="http://4.bp.blogspot.com/_lE7aMoJYLGc/SdUiI09ZEtI/AAAAAAAAAIg/D0Zne9axOgg/s400/Validate_Mapping.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5320196069858546386" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;  font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Step 3:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height:115%; font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-font-family:Georgia;mso-bidi-font-family:Georgia;font-size:10.0pt;color:#333333;"&gt;&lt;span style="mso-list:Ignore"&gt;a)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;  color: rgb(51, 51, 51); font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Connect to power center repository using pmrep&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;  color: rgb(51, 51, 51); font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;pmrep connect -r RepositoryName -d DomainName -n UserId -x Passwd&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;  color: rgb(51, 51, 51); font-family:Georgia, serif;"&gt;&lt;span style="mso-list:Ignore"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;b)&lt;/span&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;  color: rgb(51, 51, 51); font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Create a Persistent output file using command &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;  color: rgb(51, 51, 51); font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;pmrep executequery -q&lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;ALL_MAP_QUERY -u d:\infa8\PERS_OP_FILE&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="tab-stops:60.0pt"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Step 4 :&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Use the persistent output file created in last step to validate mappings &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="tab-stops:60.0pt"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;pmrep validate -i d:\infa8\PERS_OP_FILE -u PERS_OP_FILE_LOG&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-7665851894281842636?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/7665851894281842636/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/04/how-to-validate-all-mappings-in.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/7665851894281842636?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/7665851894281842636?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/04/how-to-validate-all-mappings-in.html" title="How to validate all mappings in a particular folder" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_lE7aMoJYLGc/SdUiI09ZEtI/AAAAAAAAAIg/D0Zne9axOgg/s72-c/Validate_Mapping.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;Ck8AQnk_cSp7ImA9WxVUF08.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-3786543083804388953</id><published>2009-03-22T04:12:00.000-07:00</published><updated>2009-03-22T04:20:43.749-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-22T04:20:43.749-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica" /><title>Informatica Useful Tips (Part1)</title><content type="html">&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Tip 1 : &lt;/span&gt;&lt;/strong&gt;Ignore the SQ SQL Override conditionally&lt;br /&gt;It is possible by defining a mapping parameter for the WHERE clause of the SQL Override. When you need all records from the source, define this parameter as 1=1 in theparameter file and in case you need only selected data, set the parameter accordingly.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Tip 2 :&lt;/span&gt;&lt;/strong&gt; Overcome size limit for a SQL Override in a PowerCenter mapping&lt;br /&gt;The SQL editor for SQL query overrides has a limit of maximum of 32,767 characters.&lt;br /&gt;To overcome this we can do following&lt;br /&gt;To source a SQL of more than 32,767 characters do the following:&lt;br /&gt;1. Create a database view using the SQL query override.&lt;br /&gt;2. Create a Source Definition based on this database view.&lt;br /&gt;3. Use this new Source Definition as the source in the mapping&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Tip 3. :&lt;/span&gt;&lt;/strong&gt;Export an entire Informatica folder to a xml file&lt;br /&gt;We can do this in 8.1.1,&lt;br /&gt;1) In designer Select Tools -&gt; Queries and create a newquery. Set the Parameter Name "Folder" equal to the Folder you want to export and then run the query.&lt;br /&gt;2) In the Query Results window, choose Edit -&gt; Select All Then select Tools -&gt; Export to XML File andenter a file name and location. Full Folder willbe exported to an XML file.&lt;br /&gt;We can also use the query tool in Repository Manager, to geteverything in the folder (mappings, sessions, workflows, etc.)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Tip 4&lt;/span&gt;&lt;/strong&gt; : Validate all mappings in a folder&lt;br /&gt;&lt;br /&gt;We can validate all mappings in a folder in following way:&lt;br /&gt;1. Go to the Repository manager client&lt;br /&gt;2. Create a query with parameter name and condition to retrieve the mappings in a folder&lt;br /&gt;as the following:&lt;br /&gt;folder = folder-name&lt;br /&gt;object type = mapping&lt;br /&gt;Use the following Pmrep Execute query command to get persistent output file:&lt;br /&gt;&lt;br /&gt;executequery -q &lt;name_of_query&gt;[-u &lt;output_persistent_file_name&gt;] [-a (append)]&lt;br /&gt;&lt;br /&gt;We can write the result to a persistent output file.If the query is successful, it returns the total number of qualifying records.We can use newly created persistent output file as a input file in the following pmrep validate command :&lt;br /&gt;&lt;br /&gt;Pmrep validate-i &lt;persistent_input_file&gt;}[-p &lt;output_option_types&gt;[-u &lt;persistent_output_file_name&gt;] [-a (append)][-b (verbose)]&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Tip 5 :&lt;/span&gt;&lt;/strong&gt; If you are getting following error&lt;br /&gt;CMN_1022 [&lt;br /&gt;[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed[Microsoft][ODBC Excel Driver]Optional feature not implemented&lt;br /&gt;Database driver error...&lt;br /&gt;Function Name : SetConnectOption&lt;br /&gt;Database driver error...&lt;br /&gt;Function Name : AutoCommitOff]&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Solution&lt;/span&gt;&lt;/strong&gt; :to make an entry of excel ODBC in powermart.ini file in informatica folder&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;If you need some more tips please mail us at support@itnirvanas.com.&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-3786543083804388953?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/3786543083804388953/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/03/informatica-useful-tips-part1.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/3786543083804388953?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/3786543083804388953?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/03/informatica-useful-tips-part1.html" title="Informatica Useful Tips (Part1)" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CkQFSH09cCp7ImA9WxVbEU0.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-4262197793554499263</id><published>2009-03-18T11:17:00.000-07:00</published><updated>2009-03-26T13:45:19.368-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-26T13:45:19.368-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica" /><category scheme="http://www.blogger.com/atom/ns#" term="Informatica Metadata Queries" /><title>Informatica Metadata Queries (Part 2)</title><content type="html">In this post we will continue with informatica metadata queries&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Purpose :&lt;/span&gt;&lt;/strong&gt; To Find Tracing Level for Session&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Query :&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;select task_name,decode (attr_value,0,'None',1,'Terse',2,'Normal',3,'Verbose Initialisation',4,'Verbose Data','') Tracing_Level&lt;br /&gt;from REP_SESS_CONFIG_PARM CFG,opb_task TSK&lt;br /&gt;WHERE CFG.SESSION_ID=TSK.TASK_ID&lt;br /&gt;and tsk.TASK_TYPE=68&lt;br /&gt;and attr_id=204 and attr_type=6&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Description :&lt;/strong&gt;&lt;/span&gt; This query will give tracing information along with session names.This query is helpful in identifying the session which are having particular type of Tracing level like Verbose.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Purpose :&lt;/span&gt;&lt;/strong&gt; To Find name of all stored procedure being used in stored procedure transformation&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Query :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;select attr_value from&lt;br /&gt;OPB_WIDGET_ATTR&lt;br /&gt;where widget_type=6 and attr_id=1&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Description :&lt;/span&gt;&lt;/strong&gt; This query is helpful when you require to know name of all stored procedure being used in informatica.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Purpose :&lt;/span&gt;&lt;/strong&gt; To find who saved mapping last time&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Query :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;SELECT substr(rpl.event_time,7,4) substr(rpl.event_time,6,1) substr(rpl.event_time,1,5) ' ' substr(rpl.event_time,12,11) "EventTimestamp" ,&lt;br /&gt;usr.user_name "Username",&lt;br /&gt;DECODE(rpl.object_type_id,21,s21.subj_name,('('rpl.object_type_id')')) "Folder",&lt;br /&gt;obt.object_type_name "Type",&lt;br /&gt;DECODE(rpl.object_type_id,21,map.mapping_name,('('rpl.object_type_id')')) "Object"&lt;br /&gt;FROM&lt;br /&gt;opb_reposit_log rpl,opb_object_type obt,&lt;br /&gt;opb_subject fld,opb_mapping map,opb_users usr,opb_subject s21&lt;br /&gt;WHERE obt.object_type_name = 'Mapping'&lt;br /&gt;AND rpl.object_type_id = obt.object_type_id&lt;br /&gt;AND rpl.object_id = map.mapping_id(+)&lt;br /&gt;AND rpl.object_id = fld.subj_id(+)&lt;br /&gt;AND rpl.event_uid = usr.user_id&lt;br /&gt;AND map.subject_id = s21.subj_id(+)&lt;br /&gt;ORDER BY(substr(rpl.event_time,7,4) substr(rpl.event_time,6,1)&lt;br /&gt;substr(rpl.event_time,1,5) ' ' substr(rpl.event_time,12,11)) DESC&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Description :&lt;/span&gt;&lt;/strong&gt; This query is helpful when you want to know who saved the mapping last time .&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;If you need some information and need query about something different related to metadata query please mail us at support@itnirvanas.com.&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-4262197793554499263?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/4262197793554499263/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/03/informatica-metadata-queries-part-2.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/4262197793554499263?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/4262197793554499263?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/03/informatica-metadata-queries-part-2.html" title="Informatica Metadata Queries (Part 2)" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;A0UDRng7eSp7ImA9WxVWE00.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-4492575729394209701</id><published>2009-02-22T05:18:00.000-08:00</published><updated>2009-02-22T05:27:57.601-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-22T05:27:57.601-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Unix" /><title>Unix Interview Questions (Part1)</title><content type="html">Following are some unix commonly asked interview questions  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Q 1&lt;/span&gt;&lt;/span&gt;  What is command to check space in Unix &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Ans&lt;/span&gt;&lt;/span&gt; : df -k &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Q 2 &lt;/span&gt;&lt;/span&gt;If a file has permission 000 then who can access the File &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Ans &lt;/span&gt;&lt;/span&gt;: System Administrator .&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Q 3&lt;/span&gt;&lt;/span&gt; What is command to kill last background Job &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Ans&lt;/span&gt;&lt;/span&gt; : kill $!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Q 4&lt;/span&gt;&lt;/span&gt; How you will list all Hidden files &lt;/div&gt;&lt;div&gt;Ans : ls -la|grep ^[.] &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Q 5&lt;/span&gt;&lt;/span&gt; What is command to create Zero Byte File &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Ans&lt;/span&gt;&lt;/span&gt; : touch filename &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Q 6&lt;/span&gt;&lt;/span&gt;  What is difference between diff and cmp command &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Ans&lt;/span&gt;&lt;/span&gt; : &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;cmp&lt;/span&gt;&lt;/span&gt; -It compares two files byte by byte and displays first mismatch. &lt;/div&gt;&lt;div&gt;           &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;diff &lt;/span&gt;&lt;/span&gt;-It displays all changes required to make files identical.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Q 7&lt;/span&gt;&lt;/span&gt;  What does $# stands for &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Ans&lt;/span&gt;&lt;/span&gt; : It will return the number of parameters passed as command line argument.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Q 8&lt;/span&gt;&lt;/span&gt; How many prompts are availaible in Unix System&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Ans&lt;/span&gt;&lt;/span&gt; : PS1 the default prompt &lt;/div&gt;&lt;div&gt;          PS2 Multiline Prompt &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Q 9 &lt;/span&gt;&lt;/span&gt;How to kill a process forcibily &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Ans :&lt;/span&gt;&lt;/span&gt; kill -9 PID &lt;/div&gt;&lt;div&gt;PID (unique identifier of process) &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Q 10&lt;/span&gt;&lt;/span&gt; How to create a hidden file &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Ans&lt;/span&gt;&lt;/span&gt; : While creating file put . DOT in front of file name&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;If you need more interview questions please mail us at support@itnirvanas.com.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-4492575729394209701?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/4492575729394209701/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/02/unix-interview-questions-part1.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/4492575729394209701?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/4492575729394209701?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/02/unix-interview-questions-part1.html" title="Unix Interview Questions (Part1)" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CkUNQHs8eyp7ImA9WxVbEU0.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-392374631346934094</id><published>2009-02-18T11:55:00.000-08:00</published><updated>2009-03-26T13:44:51.573-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-26T13:44:51.573-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica" /><category scheme="http://www.blogger.com/atom/ns#" term="Informatica Metadata Queries" /><title>Informatica Metadata Queries (Part1)</title><content type="html">&lt;div&gt;&lt;span class="Apple-style-span"  style=" white-space: pre; font-family:Arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Informatica Metadata Queries&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In Informatica normally we come across situation like we need to find all mapping which use a particular table as source or something similar .It is very difficult to find it through Informatica tools.In such a situation Repository tables are very useful.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Repository tables name start with OPB and are continuously updated when we make changes.Along with OPB tables REP views are also present.&lt;/div&gt;&lt;div&gt;It is very dangerous to modify these tables so due care should be taken while dealing with OPB Tables.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this article we will focus on some useful meta data queries&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Purpose : Search for a table in Source Qualifiers Sql Override:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); font-weight: bold;"&gt;Query : &lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal; "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;select distinct SUB.subj_name, MAP.mapping_name&lt;br /&gt;&lt;/div&gt;&lt;div&gt;from  opb_widget_attr WID,  opb_mapping MAP,  opb_widget_inst WIDINST,&lt;/div&gt;&lt;div&gt; opb_subject SUB&lt;/div&gt;&lt;div&gt;where WID.widget_id = WIDINST.widget_id&lt;/div&gt;&lt;div&gt;and WID.widget_type = WIDINST.widget_type&lt;/div&gt;&lt;div&gt;and WID.widget_type = 3&lt;/div&gt;&lt;div&gt;and WID.attr_id = 1&lt;/div&gt;&lt;div&gt;and WIDINST.mapping_id = MAP.mapping_id&lt;/div&gt;&lt;div&gt;and MAP.subject_id = SUB.subj_id&lt;/div&gt;&lt;div&gt;and upper(WID.attr_value) like '%TNAME%' ;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Description : &lt;/span&gt;&lt;/span&gt;This query will give list of all mappings where a particular table is being used in sql override.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); font-weight: bold; "&gt;Purpose : Search for a table in Sources and Targets :&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); font-weight: bold;"&gt;Query : &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;select SUB.subj_name, decode(WIDG.widget_type,1,'Source',2,'Target'),&lt;/div&gt;&lt;div&gt;MAP.mapping_name,&lt;/div&gt;&lt;div&gt;WIDG.instance_name&lt;/div&gt;&lt;div&gt;from  opb_widget_inst WIDG,  opb_mapping MAP, opb_subject SUB&lt;/div&gt;&lt;div&gt;where SUB.subj_id = MAP.subject_id&lt;/div&gt;&lt;div&gt;and WIDG.mapping_id = MAP.mapping_id&lt;/div&gt;&lt;div&gt;and WIDG.widget_type in (1,2)&lt;/div&gt;&lt;div&gt;and WIDG.instance_name like '%TNAME_%'&lt;/div&gt;&lt;div&gt;and SUB.subJ_NAME='YOUR_FOLDER_NAME'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); "&gt;Description : &lt;/span&gt;&lt;/span&gt;This query will give list of all folders,mappings where a particular table is being used as source or target instance.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); font-weight: bold; "&gt;Purpose : &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Query to give lookup information&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); font-weight: bold; "&gt;Query :&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Select distinct wid.WIDGET_ID, all_map.mapping_name, wid.INSTANCE_NAME Lkp_name, Decode(widat.attr_id,2,widat.attr_value) Table_name,&lt;br /&gt;&lt;/div&gt;&lt;div&gt;decode (widat.attr_id,6,widat.attr_value) src_tgt&lt;/div&gt;&lt;div&gt;FROM  rep_all_mappings ALL_MAP, rep_widget_inst wid,  OPB_WIDGET_ATTR widat&lt;/div&gt;&lt;div&gt;where all_map.mapping_id=wid.mapping_id&lt;/div&gt;&lt;div&gt;and wid.WIDGET_ID=widat.WIDGET_ID&lt;/div&gt;&lt;div&gt;and all_map.subject_area='DCM_SPP_UPL_DEVT'&lt;/div&gt;&lt;div&gt;and wid.WIDGET_TYPE=11&lt;/div&gt;&lt;div&gt;and widat.WIDGET_TYPE=11&lt;/div&gt;&lt;div&gt;and widat.ATTR_ID in (2,6)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); "&gt;Description : &lt;/span&gt;&lt;/span&gt;This query will give information about lookup transformations like lookup name,Tablename ,Mapping name etc. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); font-weight: bold; "&gt;Purpose : &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); "&gt;Query to give Invalid workflows&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); font-weight: bold; "&gt;Query :&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;select opb_subject.subj_name, opb_task.task_name&lt;br /&gt;&lt;/div&gt;&lt;div&gt;from  opb_task,   opb_subject&lt;/div&gt;&lt;div&gt;where task_type = 71 &lt;/div&gt;&lt;div&gt;and is_valid = 0 &lt;/div&gt;&lt;div&gt;and opb_subject.subj_id = opb_task.subject_id&lt;/div&gt;&lt;div&gt;and UPPER(opb_subject.SUBJ_NAME) like UPPER('YOUR_FOLDER_NAME')&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255); "&gt;Description : &lt;/span&gt;&lt;/span&gt;This query will list of all invalid &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;If you have need some information and need query about something different related to metadata query please mail us at support@itnirvanas.com.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-392374631346934094?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/392374631346934094/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/02/informatica-metadata-queries-part1.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/392374631346934094?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/392374631346934094?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/02/informatica-metadata-queries-part1.html" title="Informatica Metadata Queries (Part1)" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;AkIGRngycCp7ImA9WxVXF0w.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-4113825062022973371</id><published>2009-02-15T08:50:00.000-08:00</published><updated>2009-02-15T09:22:07.698-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-15T09:22:07.698-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle" /><title>Oracle Deferred Constraints</title><content type="html">&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Oracle Deferred Constraints :&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Recently we came across a unique situation of updating a primary key of master table which being referenced by child table.Problem with updating primary key of master table was that it would have made child table orphan (ora-02292 child found)and we could not even update child table as it would have violated referential integrity.&lt;br /&gt;&lt;br /&gt;To overcome this we used the deferrable constraint introduced by oracle.A deferrable constraint is only checked at transaction commit time.We altered the foreign key on child table to make constraint deferrable .After altering the foreign key constraint on child table we were able to update master table primary key with new values as constraint checking was deferred till commit point.&lt;br /&gt;&lt;br /&gt;Now we will explain the deferrable constraints in detail.&lt;br /&gt;&lt;br /&gt;Constraint are of three types&lt;br /&gt;1) &lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Non deferrable&lt;/strong&gt;&lt;/span&gt; (Check constraint at time of commit and can not be deferred)&lt;br /&gt;2) &lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Deferrable-Initially immediate&lt;/strong&gt;&lt;/span&gt; (Check constraint at time of statement execution )&lt;br /&gt;3) &lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Deferrable-Initially deferred&lt;/strong&gt;&lt;/span&gt; (Check constraint at time of commit)&lt;br /&gt;&lt;br /&gt;SQL&gt; create table test_def (a varchar2(1) constraint chk_a check ( a in ('X','Y','Z') )&lt;br /&gt;2 deferrable&lt;br /&gt;3* initially immediate);&lt;br /&gt;Table created.&lt;br /&gt;SQL&gt; insert into test_def values ('C');insert into test_def values ('C');&lt;br /&gt;&lt;br /&gt;*ERROR at line 1:ORA-02290: check constraint (ITN.CHK_A) violated&lt;br /&gt;&lt;br /&gt;Error as constraint is being checked at time of statement execution. Now we will change constraint to initially deferred.&lt;br /&gt;&lt;br /&gt;SQL&gt; alter table test_def modify constraint chk_a initially deferred;&lt;br /&gt;Table altered.&lt;br /&gt;SQL&gt; insert into test_def values ('C');&lt;br /&gt;1 row created.&lt;br /&gt;SQL&gt; commit ;&lt;br /&gt;*ERROR at line 1:ORA-02091: transaction rolled back ORA-02290: check constraint (ITN.CHK_A) violated&lt;br /&gt;&lt;br /&gt;As constraint is initially deferred it is being checked at commit type.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;When should we use deferrable constraint :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Deferred integrity constraints should only be used when absolutely necessary but following are some scenario where deferrable constraint are used&lt;br /&gt;&lt;br /&gt;1) In case of inserting large amounts of data into a table in a data warehousing environment lot of time can be saved.&lt;br /&gt;2) Design issues (Updating Primary Key of Parent table in Parent Child table scenario).&lt;br /&gt;Which constraints are deferrable? Only constraint created with the deferrable option can be deferred.by default constraints created are non-deferrable.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;How to check constraint is deferrable ?&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;SELECT constraint_name , deferrable , deferred&lt;br /&gt;FROM user_constraints&lt;br /&gt;WHERE constraint_name like 'test_def%';&lt;br /&gt;&lt;br /&gt;This article will not be complete without mention of option No Validate with constraints.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;No Validate option with constraint&lt;/span&gt;&lt;/strong&gt; : No Validate option will direct Oracle to enable the constraint but not to check existing data for constraint violation.This is particular useful where we have existing data that violates the constraint but urgent business requirement to enable constraints to avoid any future data with constraint violation.&lt;br /&gt;&lt;br /&gt;If you have any question please contact us at &lt;a href="mailto:support@ITNirvanas.com"&gt;&lt;strong&gt;support@ITNirvanas.com&lt;/strong&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-4113825062022973371?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/4113825062022973371/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/02/oracle-deferred-constraints.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/4113825062022973371?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/4113825062022973371?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/02/oracle-deferred-constraints.html" title="Oracle Deferred Constraints" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D08AQXY5eyp7ImA9WxVXE0U.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-7194317876578515775</id><published>2009-02-11T11:21:00.000-08:00</published><updated>2009-02-11T12:57:20.823-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-11T12:57:20.823-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica interview questions" /><title>Informatica interview questions (Part 3)</title><content type="html">We will continue with third set of questions&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Q 1  &lt;/span&gt;&lt;/strong&gt;What is the use of Shared Folder?&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Ans :&lt;/span&gt;&lt;/strong&gt; Shared folders allow users to create shortcuts to objects in the folder.If you have an object that you want to use in several mappings or across multiple folders, we can place the object in a shared folder.we can then access the object from other folders by creating a shortcut to the object. Shortcuts inherit changes to their shared object. Shared folders in global repositories can be used by any folder in the domainOnce you make a folder shared, you cannot reverse it.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Q2  &lt;/strong&gt;&lt;/span&gt;What are the different ways to migrate from one environment to another in Informatica&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Ans &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;1.We can export repository and import into the new environment&lt;br /&gt;2. We can use informatica deployment groups&lt;br /&gt;3. We can Copy folders/objects&lt;br /&gt;4. We can Export each mapping to xml and import in new environment&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Q3  &lt;/span&gt;&lt;/strong&gt;What is difference between mapping parameter and variable&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Ans&lt;/span&gt;&lt;/strong&gt; A Mapping parameter is a static value that you define before running the session and it value remains till the end of the session.when we run the session PowerCenter evaluates the value from the parameter and retains the same value throughout the session. When the session run again it reads from the file for its value.&lt;br /&gt;&lt;br /&gt;A Mapping variable is dynamic or changes anytime during the session. PowerCenter reads the intial value of the variable before the start of the session and changes its value by using variable functions and before ending the session its saves the current value (last value held by the variable). Next time when the session runs the variable value is the last saved value in the previous session.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Q4  &lt;/span&gt;&lt;/strong&gt;What is DTM&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Ans&lt;/strong&gt;&lt;/span&gt; DTM (Data Transformation Manager) is the process associated with the session taskThe Load Manager creates one DTM process for each session in the workflow. The DTM process performs the following tasks:&lt;br /&gt;1.Reads session information from the repository.&lt;br /&gt;2.Expands the server, session, and mapping variables and parameters.&lt;br /&gt;3.Creates the session log file. Validates source and target code pages.&lt;br /&gt;4.Verifies connection object permissions.&lt;br /&gt;5.Runs pre-session shell commands, stored procedures and SQL.&lt;br /&gt;6.Creates and runs mapping, reader, writer, and transformation threads to extract, transform, and load data.&lt;br /&gt;7. Runs post-session stored procedures, SQL, and shell commands. Sends post-session email.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Q5  &lt;/span&gt;&lt;/strong&gt;How to delete duplicate record in Informatica&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Ans :&lt;/strong&gt;&lt;/span&gt; Following are ways to remove duplicate records&lt;br /&gt;1. In source qualifier use select distinct&lt;br /&gt;2. Use Aggregator and group by all fields&lt;br /&gt;3. Override SQL query in Source qualifier&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Q6  &lt;/span&gt;&lt;/strong&gt;What are different type of repositories that can be created using Informatica Repository Manager?&lt;br /&gt;Ans&lt;br /&gt;1. Standalone Repository : A repository which functions individually and is unrelated to any other repositories.&lt;br /&gt;2. Global Repository : This is a centralized repository in a domain. This repository can contain shared objects across the repositories in a domain. The objects are shared through global shortcuts.&lt;br /&gt;3. Local Repository : Local repository is within a domain . Local repository can connect to a global repository using global shortcuts and can use objects in it’s shared folders.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Q 7&lt;/strong&gt;&lt;/span&gt;  How to find all invalid mappings in a folder&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Ans&lt;/span&gt;&lt;/strong&gt; Use following query&lt;br /&gt;SELECT MAPPING_NAME FROM REP_ALL_MAPPINGS WHERE SUBJECT_AREA='YOUR_FOLDER_NAME' AND PARENT_MAPPING_IS_VALIED &lt;&gt;1&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Q 8&lt;/span&gt;&lt;/strong&gt;  What are the data movement modes in informatica?&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Ans&lt;/strong&gt; &lt;/span&gt;Data movement modes determines how power center server handles the character data. We choose the data movement in the informatica server configuration settings. Two types of data movement modes available in informatica.&lt;br /&gt;1.ASCII mode&lt;br /&gt;2.Unicode mode.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Q9&lt;/span&gt;&lt;/strong&gt; What are Limitations on joiner transformation ?&lt;br /&gt;&lt;strong&gt;Ans&lt;/strong&gt;&lt;br /&gt;1.Both pipelines begin with the same original data source.&lt;br /&gt;2.Both input pipelines originate from the same Source Qualifier transformation.&lt;br /&gt;3.Both input pipelines originate from the same Normalizer transformation.&lt;br /&gt;4.Both input pipelines originate from the same Joiner transformation.&lt;br /&gt;5.Either input pipelines contains an Update Strategy transformation.&lt;br /&gt;6.Either input pipelines contains a Sequence Generator transformation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Q10&lt;/span&gt;&lt;/strong&gt; What will happen if we connect only current value port from seq generator to next transformation (without connecting nextval)&lt;br /&gt;Ans Each target will get the value 1.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;If you have any doubt or need more questions please mail us at &lt;/span&gt;&lt;/strong&gt;&lt;a href="mailto:support@itnirvanas.com"&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;support@itnirvanas.com&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-7194317876578515775?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/7194317876578515775/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/02/informatica-interview-questions-part-3.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/7194317876578515775?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/7194317876578515775?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/02/informatica-interview-questions-part-3.html" title="Informatica interview questions (Part 3)" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;Ck4NQ3k9fyp7ImA9WxVXEEk.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-221234310543486799</id><published>2009-02-07T03:10:00.000-08:00</published><updated>2009-02-07T13:09:52.767-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-07T13:09:52.767-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Datawarehousing" /><title>Kimball Vs inmon</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_lE7aMoJYLGc/SY32SG1Ih7I/AAAAAAAAAHM/NlUe2i2k0LM/s1600-h/Bill_inmon.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;There are two major design methodologies followed in data warehousing Ralph Kimball and Bill Inmon.We will discuss about both of these in detail.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Bill Inmon Approach&lt;/span&gt; :&lt;/strong&gt;&lt;/span&gt; According to Bill Inmon Data warehouse need to fulfill need of all category of users .In an organization there are different type of user like&lt;br /&gt;&lt;br /&gt;· Marketing&lt;br /&gt;· Supply Change Management&lt;br /&gt;· Operations&lt;br /&gt;&lt;br /&gt;Each department has its different way of interpreting data so Data warehouse should be able to answer each department queries. This can be achieved by designing tables in 3NF form. According to him data in Datawarehouse should be in 3NF and lowest granularity level. The data should be accessible at detailed atomic levels by drilling down or at summarized levels by drilling up.&lt;br /&gt;&lt;br /&gt;He stressed that data should be organized into subject oriented, integrated, non volatile and time variant structures. According to him an organization have one Data warehouse and Data mart source there information from Data warehouse. Inmon Approach is also called Top Down approach .&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5300016180367920690" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 340px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_lE7aMoJYLGc/SY1woqanDjI/AAAAAAAAAHE/MLaWQSIUg6g/s400/Bill_inmon.jpg" border="0" /&gt;In this methodology data is brought into staging area from OLTP system or ODS (Operational Data store) and then summarized and aggregated. After this process data mart will source their data from data warehouse and will apply new set of transformation and aggregation according to their need.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Key points to be noted about this approach&lt;/strong&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;1.Data should be organized into subject oriented, integrated, non volatile and time variant structures&lt;br /&gt;2.Data in 3rd Normalization form&lt;br /&gt;3.Top to down approach &lt;/div&gt;&lt;div&gt;4.Data Mart source from Datawarehouse &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Pro’s of Bill Inmon approach&lt;/span&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div&gt;1. Easy to maintain&lt;br /&gt;2. Well integrated &lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Cons of Bill Inmon approach&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Difficult to implement&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Ralph Kimball Approach :&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Kimbell views Data warehouse as combination of data marts connected to Data warehouse bus structure.Data marts are focused on delivering business objectives of different departments and Data warehouse bus consists of conformed dimension, measures defined for whole organization. User can query all data marts together using conformed dimensions. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;In this approach the data warehouse is not a physical storage of the data as in the Inmon approach. It is “virtual.” It is a combination of data marts, each having a star schema design .&lt;br /&gt;In this approach data is always stored in dimensional model. &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5300014332162079602" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 102px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_lE7aMoJYLGc/SY1u9FT_-3I/AAAAAAAAAG0/3aExxE80fKU/s400/Kimball.jpg" border="0" /&gt; &lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Key points to be noted about this approach are&lt;/span&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div&gt;1. Data is always stored in the dimensional model.&lt;br /&gt;2. Bottoms Approach&lt;br /&gt;3. Data ware house is Virtual&lt;br /&gt;4. Bottoms's up approach &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Pro’s of Ralph Kimball approach &lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;Fast to build &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="color:#6600cc;"&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Cons of Ralph Kimball approach&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;Difficult to maintain because of redundancy of data across data marts&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Conclusion :&lt;/strong&gt;&lt;/span&gt; In reality there is no right or wrong between these two approaches. In reality actual methodology implemented is combination of both.&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-221234310543486799?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/221234310543486799/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/02/kimball-vs-inmon.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/221234310543486799?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/221234310543486799?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/02/kimball-vs-inmon.html" title="Kimball Vs inmon" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_lE7aMoJYLGc/SY1woqanDjI/AAAAAAAAAHE/MLaWQSIUg6g/s72-c/Bill_inmon.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;A0IHR3k4fip7ImA9WxVQFkU.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-3835671040035174021</id><published>2009-02-03T11:12:00.000-08:00</published><updated>2009-02-03T11:32:16.736-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-03T11:32:16.736-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica" /><title>Best Practices in Informatica (Part1)</title><content type="html">We have tried to come up with some of best practices in informatica&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;1) &lt;/strong&gt;&lt;/span&gt;Always try to add expression transformation after source qualifier and before Target. If source or target definition changes it is easier to reconnect the ports&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;2)&lt;/strong&gt;&lt;/span&gt; Always use Cobol File for normaliser in binary format otherwise there are lot of issues specially with comp-3 fields&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;3)&lt;/strong&gt;&lt;/span&gt; Remove unused ports, though unused ports do not have any effect on performance bit it is always better to remove them for more visibility&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;4)&lt;/strong&gt;&lt;/span&gt; If possible try to do calculation in Output Ports instead of variable ports as variable ports are need to assign/reassign each time and it can slow down the performance&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;5)&lt;/strong&gt;&lt;/span&gt; Try to avoid complex filter expression instead of that try to evaluate filter expression in upstream expression transformation and pass it to filter transformation. If you use too many complex calculations in filter condition expression it can slow down performance.&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;em&gt;&lt;strong&gt;6)&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt; In workflow Source/Target directory Property take advantage of Unix links. Instead of hard coding path in source/target directory specify path with Unix link&lt;br /&gt;&lt;br /&gt;i.e. suppose in devt environment you are specifying Source directory path as /devserver/team/source and in prod server you specify it as /prodserver/team/source .You can get link created in $PMRootDir in as src_file_dir pointing to /devserver/team/source in dev server and /prodserver/team/source in prod server and in your source/Target file directory you can put path as $PMRootDir/src_file_dir In this case there is no need to change Source/Target directory every time you move between production and dev and testing&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;7)&lt;/strong&gt;&lt;/span&gt; In sequence generator do not connect current value port to downstream (unless required) transformation as when we connect current value port from sequence generator transformation Informatica Server processes one row in each block. We can optimize performance by connecting only the NEXTVAL port in a mapping .&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;8)&lt;/strong&gt;&lt;/span&gt; Improve lookup performance by putting all conditions that use the equality operator ‘=’ first in the list of conditions under the condition tab.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;9)&lt;/span&gt;&lt;/strong&gt; Always remember rule not to cache look tables having more than 550000 rows (Assuming row size 1024) .If your row size is less than or more than 1024 then adjust number of rows accordingly .&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;10)&lt;/span&gt;&lt;/strong&gt; Avoid calculating same value again and again. Instead of that store it in a variable use it several times.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;If you have further queries then please mail to &lt;/strong&gt;&lt;/span&gt;&lt;a href="mailto:support@itnirvanas.com"&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;support@itnirvanas.com&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-3835671040035174021?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/3835671040035174021/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/02/best-practices-in-informatica-part1.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/3835671040035174021?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/3835671040035174021?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/02/best-practices-in-informatica-part1.html" title="Best Practices in Informatica (Part1)" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total></entry><entry gd:etag="W/&quot;AkYMRH8-fyp7ImA9WxVQFkU.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-889587836233981543</id><published>2009-02-02T08:36:00.000-08:00</published><updated>2009-02-03T11:09:45.157-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-03T11:09:45.157-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Unix" /><title>Unix Script to Automate FTP Process</title><content type="html">&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Unix Script to Automate FTP Process&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Normally we come across the situation when we have to FTP file daily.Doing this process daily for large no of files can be cumbersome.We can create Unix script to automate FTP Process&lt;br /&gt;&lt;br /&gt;Currently we need to last day files from production to dev box for testing,so we created below mentioned script to FTP files daily&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;b=`TZ=CST+24 date +%y%m%d` ###To get last date&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;cd /export/home/mydir&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;ftp -v -n FTP_HOST_NAME EOF ##Please put two less than sign before EOF &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;span style="color:#6666cc;"&gt;user Userid Pwd&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;bin&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;cd /export/home/source_dir&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;get FILE_NAME.`echo $b`&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;bye&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;EOF&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Please note replace FTP_HOST_NAME,Userid,Pwd with your actual userid,password and ftp host name.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Please put two less than sign before EOF in third line of script as i am not able to display those characters due to some restrictions.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;span style="color:#6666cc;"&gt;&lt;span style="color:#000000;"&gt;If you have further queries then please mail to&lt;/span&gt; &lt;a href="mailto:support@itnirvanas.com"&gt;support@itnirvanas.com&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-889587836233981543?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/889587836233981543/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/02/unix-script-to-automate-ftp-process.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/889587836233981543?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/889587836233981543?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/02/unix-script-to-automate-ftp-process.html" title="Unix Script to Automate FTP Process" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D0cDQXY5eyp7ImA9WxVQFE4.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-6753277518044911637</id><published>2009-01-29T12:53:00.000-08:00</published><updated>2009-01-31T12:51:10.823-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T12:51:10.823-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica interview questions" /><title>Informatica interview questions (Part 2)</title><content type="html">&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"   style="font-family:Tahoma;font-size:13;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;We will continue with second set of questions &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(102,102,204)"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;Q 1. What is the difference between Connected and Unconnected Lookups?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;Ans : &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold; COLOR: rgb(102,102,204)"&gt;Connected Lookup &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;1.Connected Lookup Receives input values directly from the pipeline. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;2.Connected Lookup You can use a dynamic or static cache.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;3.Connected Lookup Cache includes all lookup columns used in the mapping &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;4.Connected Lookup Can return multiple columns from the same row or insert into the dynamic lookup cache.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;5.Connected Lookup If there is no match for the lookup condition, the Informatica Server returns the default value for all output ports. If you configure dynamic caching, the Informatica Server inserts rows into the cache.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;6.Connected Lookup Pass multiple output values to another transformation. Link lookup/output ports to another transformation.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;7.Connected Lookup Supports user-defined default values&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(102,102,204)"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;Unconnected Lookup&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;1.Unconnected Lookup Receives input values from the result of a :LKP expression in another transformation..&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;2.Unconnected Lookup You can use a static cache.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;3.Unconnected Lookup Cache includes all lookup/output ports in the lookup condition and the lookup/return port.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;4.Unconnected Lookup The dynamic lookup cache, Designate one return port (R). Returns one column from each row&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;5.Unconnected Lookup If there is no match for the lookup condition, the Informatica Server returns NULL.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;6.Unconnected Lookup Pass one output value to another transformation. The lookup/output/return port passes the value to the transformation calling: LKP expression.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;7.Unconnected Lookup Does not support user-defined default values&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(102,102,204)"&gt;Q 2. Difference between Active and passive transformation?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;Ans: &lt;/span&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold; COLOR: rgb(102,102,204)"&gt;&lt;span style="font-family:georgia;"&gt;Active transformation :&lt;span class="Apple-style-span" style="FONT-WEIGHT: normal; COLOR: rgb(0,0,0)"&gt;Active transformation can change the no of records passing through it.Active transformations that might change the no of record are advance ext procedure, aggregator, filter, joiner, normalizer, rank, and update strategy, source qualifier&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;We can connect only 1 active transformation to the same transformation or target can connect any no of pass transformation. &lt;/span&gt;&lt;span style="font-family:georgia;"&gt;Advanced External Procedure/Aggregator/Application Source Qualifier/Filter/Jo iner/Normalizer/Rank/Router/Update Strategy&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold; COLOR: rgb(102,102,204)"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: normal; COLOR: rgb(0,0,0)"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(102,102,204)"&gt;&lt;span style="font-family:georgia;"&gt;Passive transformation :&lt;span class="Apple-style-span" style="FONT-WEIGHT: normal; COLOR: rgb(0,0,0)"&gt;Passive transformation can never change the no of records. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold; COLOR: rgb(102,102,204)"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: normal; COLOR: rgb(0,0,0)"&gt;Ex. lookup, expression, external procedure, sequence generator, stored procedure&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;Expression/External Procedure/Mapplet- Input/Lookup/Sequence generator/XML Source Qualifier/Mapplet - Output&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(102,102,204);font-family:georgia;" &gt;Q 3. What is an indicator file and how it can be used?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;Ans: Indicator file is used for Event Based Scheduling when you don’t know when the Source Data is available., A shell command ,script or a batch file creates and send this indicator file to the directory local to the Informatica Server. Server waits for the indicator file to appear before running the session.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(102,102,204)"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold;font-family:georgia;" &gt;Q 4. Is lookup a Active transformation or Passive transformation?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;Ans: Passive.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(102,102,204)"&gt;Q 5. What are the objects that you can’t use in a mapplet?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;Ans :&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;1. COBOL source definition &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;2. Joiner transformations&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;3.Normalizer transformations&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;4.Non reusable sequence generator transformations.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;5.Pre or post session stored procedures&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;6.Target definitions&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;7.Power mart 3.5 style Look Up functions&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;8.XML source definitions&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;9.IBM MQ source definitions&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(102,102,204)"&gt;Q6. What is incremental aggregation?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;Ans: When using incremental aggregation, we apply capture d changes in the source to aggregate calculations in a session. If the source changes only incrementally and we can capture changes, we can configure the session to process only those changes. This allows the Informatica Server to update our target incrementally, rather than forcing it to process the entire source and recalculate the same calculations each time you we the session.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(102,102,204)"&gt;Q7. What is tracing level and what are the different types of tracing level?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;Tracing level represents the amount of information that informatica server writes in a log file.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;Types of tracing level&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;1.Normal&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;2.Verbose&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;3.Verbose init&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;4.Verbose data&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(102,102,204)"&gt;Q8. How you will recover sessions?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;Ans : If we stop a session or if an error causes a session to stop, refer to the session and error logs to determine the cause of failure. Correct the errors, and then complete the session. The method we use to complete the session depends on the properties of the mapping, session, and Informatica Server configuration.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;Use one of the following methods to complete the session:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;1. Run the session again if the Informatica Server has not issued a commit.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;2. Truncate the target tables and run the session again if the session is not recoverable.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;3. Consider performing recovery if the Informatica Server has issued at least one commit.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(102,102,204)"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold;font-family:georgia;" &gt;Q9. When to use Abort, Decode functions?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;Ans: Abort can be used to Abort / stop the session on an error condition. If the primary key column contains NULL, and you need to stop the session from continuing then you may use ABORT function in the default value for the port. It can be used with IIF and DECODE function to Abort the session.&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold; COLOR: rgb(102,102,204)"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold;color:#6666cc;" &gt;Q10 What is constraint based loading ?&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:georgia;"&gt;Ans Constraint based loading. the data was loaded into the target table based on the Constraints.i.e if we want to load the EMP&amp;amp;DEPT data, first it loads the data of DEPT then EMP because DEPT is PARENT table EMP is CHILD table. In simple terms, it loads PARENT table first then CHILD table.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-6753277518044911637?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/6753277518044911637/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/01/informatica-interview-questions-part-2.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/6753277518044911637?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/6753277518044911637?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/01/informatica-interview-questions-part-2.html" title="Informatica interview questions (Part 2)" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C0AESXoyeip7ImA9WxVQFE4.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-3657892051775422841</id><published>2009-01-27T10:52:00.000-08:00</published><updated>2009-01-31T11:55:08.492-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T11:55:08.492-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica interview questions" /><title>Informatica interview questions (Part 1)</title><content type="html">Following is the list of some of Informatica interview questions.We will try to come up with more questions in later posts.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Q.1 Flat file is having 10 records as input and I want to push 5 records to the target?&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;Ans : one variable with the name $$count at mapping variable with a Count aggregation typeand initial value for that $$count=0. Create one expression and use SETCOUNTVARIABLEv_count=SetCountVariable ($$Count) Create one filter after expression and put condition v_count &lt;=5&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Q2 What is difference between direct and indirect loading options in sessions?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Ans: Use file type direct when we are loading single file into Target. Use Indirect when we want to load multiple files through single session in the mapping&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Q3 When we create a target as &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;flat file an&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;d source as oracle. How can we have first rows as column names in flat files.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Ans :We can add a union all clause in the Source Qualifier of the Relational source to add the header values in SELECT clause, so as to populate them as header.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Q 4 How to capture the user information (Username) of the person, who is executing a workflow or session in workflow manager.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Ans : SELECT USER_NAME,WORKFLOW_NAME FROM REP_WFLOW_RUN;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Q 5 How to join two tables, which reside in two different databases in the Source qualifier.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Ans: By using DB links in SQ ,but throughput will be very slow. Joiner will be better approach in this case&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Q. 6 What is a code page?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;A. A code page contains encoding to specify characters in a set of one or more languages. The code page is selected based on source of the data. For example if source contains Japanese text then the code page should be selected to support Japanese text.&lt;br /&gt;When a code page is chosen, the program or application for which the code page is set, refers to a specific set of data that describes the characters the application recognizes. This influences the way that application stores, receives, and sends character data.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Q 7. Is there any way to handle sequence generation over 2 billion records, As sequence generator can generate max 2 billion records&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Ans&lt;br /&gt;Method1&lt;br /&gt;it will be done by unconnected lookup create lookup transformation on target just keep one field(id_field) and remove all remaing fields.create i/p field with same data type as out field(id_field) select return port for id_field in loook up override write a query as select nvl(max(id_field),0) from table and ' lookup condition is id_field&gt;=in_field in exp transformation v_dummy(v)---&gt;it always to be zero v_lkp_return iif(:lkp_target(v_dummy) ---here u can pass v_dummy value or just zero o_id_field(0).v_lkp_return+1 __.____._&lt;br /&gt;&lt;br /&gt;Method 2&lt;br /&gt;Onw way would be to use expression trans after sequence generator. Another way could be to use expression instead of sequence genearator. Here you will use variable of agg type of count to create sequences.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Q .8 What is difference between $ and $$ parameters/variables&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Ans $ are System defined and $$ are User defined variables&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Q 9.How to use data from SAP/Oracle Apps /Mainframe&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;Ans Through power exchange.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Q 10 How to find all invalid mappings in a folder&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Ans we can find the invalid mappings information from the rep_all_mappings view with a query Select mapping_name from rep_all_mappings Where subject_area='Folder_Name' And parent_mapping_is_valid &lt;&gt;1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-3657892051775422841?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/3657892051775422841/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/01/informatica-interview-questions-part-1.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/3657892051775422841?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/3657892051775422841?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/01/informatica-interview-questions-part-1.html" title="Informatica interview questions (Part 1)" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CE4BSXw_eyp7ImA9WxVQFE4.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-8448307935361088541</id><published>2009-01-23T04:10:00.000-08:00</published><updated>2009-01-31T12:15:58.243-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T12:15:58.243-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle D2k (Forms/Reports)" /><title>Trigger Firing sequence in D2K (Oracle Forms)</title><content type="html">&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Trigger Firing sequence:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;This is most important thing to understand in Oracle D2K Forms When you open a form following triggers are executed&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;First Logon Triggers are fired&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;1.PRE-LOGON&lt;br /&gt;2.ON-LOGON&lt;br /&gt;3.POST-LOGON&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;After that Pre Triggers&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;4. PRE-FORM&lt;br /&gt;5. PRE-BLOCK&lt;br /&gt;6. PRE-TEXT&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;After that WHEN-NEW Triggers&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;7. WHEN-NEW-FORM-INSTANCE&lt;br /&gt;8. WHEN-NEW-BLOCK-INSTANCE&lt;br /&gt;9. WHEN-NEW-ITEM-INSTANCE&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;After that ITEM Level Triggers&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;After this focus is on the first item of the Block. If you type some data and press the tab key following trigger will fire in sequence&lt;br /&gt;10.KEY-NEXT-ITEM (This trigger is present on the item level).&lt;br /&gt;11.POST-CHANGE (This trigger is present on the item level).&lt;br /&gt;12.WHEN-VALIDATE-ITEM (This trigger is present on the item level).&lt;br /&gt;13.POST-TEXT-ITEM (This trigger is present on the item level).&lt;br /&gt;14.WHEN-NEW-ITEM-INSTANCE (Block Level Trigger).&lt;br /&gt;&lt;br /&gt;Now focus will go the next item present on the form.&lt;br /&gt;If there are no further items present on the screen them if we enter data and press tab key then only KEY-NEXT-ITEM is fired. Now suppose we close the form then the item level triggers are fired.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;POST TRIGGERS &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;15.POST-BLOCK&lt;br /&gt;16.POST-FORM&lt;br /&gt;&lt;br /&gt;Now the form will be closed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-8448307935361088541?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/8448307935361088541/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/01/trigger-firing-sequence-in-d2k-oracle.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/8448307935361088541?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/8448307935361088541?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/01/trigger-firing-sequence-in-d2k-oracle.html" title="Trigger Firing sequence in D2K (Oracle Forms)" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry gd:etag="W/&quot;C08CRnY7fSp7ImA9WxVQFE4.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-4990021511844835407</id><published>2009-01-23T01:44:00.000-08:00</published><updated>2009-01-31T11:57:47.805-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T11:57:47.805-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica" /><title>Normalizer transformation (Working with VSAM source)</title><content type="html">&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Normalizer transformation :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Normalizer transformation is used with COBOL sources, which are often stored in a denormalized format. The OCCURS statement in a COBOL file nests multiple records of information in a single record. We can use Normalizer transformation, to break out repeated data within a record into separate records. For each new record it creates, the Normalizer transformation generates a unique identifier.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Step 1:&lt;/span&gt;&lt;/strong&gt; Create the Copybook for COBOL source&lt;br /&gt;First Step is to get the copybook from Mainframe Team and convert that Informatica Compliant format&lt;br /&gt;It will look like&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_lE7aMoJYLGc/SXmSyJLMahI/AAAAAAAAAGc/0EwuHeyYlAM/s1600-h/VSAM.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5294424227104713234" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 313px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_lE7aMoJYLGc/SXmSyJLMahI/AAAAAAAAAGc/0EwuHeyYlAM/s400/VSAM.jpg" border="0" /&gt;&lt;/a&gt;Normally Highlighted section is provided by Mainframe team convert it into format required by format by adding line above that code (From identification to fd FNAME) and below that code (starting from working storage division). After changes save the file as .cbl file&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Point to be taken care while editing .cbl File&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;You might get following error &lt;/p&gt;&lt;p&gt;identification division.&lt;br /&gt;program-id. mead.&lt;br /&gt;environment division.&lt;br /&gt;select Error at line 6 : parse error&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Things to be taken care of &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1.Line Select FNAME should not start before column position 12&lt;br /&gt;2.Other line which have been added above and below should not start before column 9&lt;br /&gt;3.All the line in structure (Highlighted above) should end with Dot.&lt;br /&gt;Once Cobol Source is imported successfully you can drag Normalizer source into mapping&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Step 2:&lt;/span&gt;&lt;/strong&gt; Set Workflow Properties Properly for VSAM Source&lt;br /&gt;One you have successfully imported the COBOL copybook then you can create your mapping using VSAM Source. After creating mapping you can create your workflow&lt;br /&gt;Please take care of following properties in session containing VSAM source&lt;br /&gt;In Source Advance File properties set the following options (Highlighted one)&lt;br /&gt;&lt;/p&gt;&lt;a href="http://1.bp.blogspot.com/_lE7aMoJYLGc/SXmSsJuR7VI/AAAAAAAAAGU/lzcJQFUGWGQ/s1600-h/VSAM-SOURCE.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5294424124172660050" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 274px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_lE7aMoJYLGc/SXmSsJuR7VI/AAAAAAAAAGU/lzcJQFUGWGQ/s400/VSAM-SOURCE.jpg" border="0" /&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Imp:&lt;/span&gt;&lt;/strong&gt; Always ask for COBOL source file to be in Binary Format, Otherwise you will face lot of problems with COMP-3 Fields&lt;br /&gt;Once you have set these properties you can run your workflow.&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;COMP3 FIELDS:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;COBOL Comp-3 is a binary field type that puts ("packs") two digits into each byte, using a notation called Binary Coded Decimal, or BCD. This halves the storage requirements compared to a character, or COBOL "display", field. Comp-3 is a common data type, even outside of COBOL&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Common issues faced while working with Comp-3 Fields :&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;If you have created your created cobol source definition with comp-3 fields (Packed Data) but actual data in source file is not packed .So Make sure that in both the definition and source file date is in same format&lt;br /&gt;Check whether COMP-3 fields are signed or unsigned&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-4990021511844835407?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/4990021511844835407/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/01/normalizer-transformation-working-with.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/4990021511844835407?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/4990021511844835407?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/01/normalizer-transformation-working-with.html" title="Normalizer transformation (Working with VSAM source)" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_lE7aMoJYLGc/SXmSyJLMahI/AAAAAAAAAGc/0EwuHeyYlAM/s72-c/VSAM.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;C08FQngzcSp7ImA9WxVQFE4.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-450915847523457830</id><published>2009-01-20T14:13:00.000-08:00</published><updated>2009-01-31T11:56:53.689-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T11:56:53.689-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle" /><title>All About Oracle Synonym</title><content type="html">&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Synonym :&lt;/strong&gt;&lt;/span&gt; A synonym is an alias for table, stored procedure and other database objects.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Main use of synonym :&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;1. Hide Complexity&lt;/span&gt;&lt;/strong&gt; : If you have to access a object owned by another database user then&lt;br /&gt;You have to use syntax Owner.Objectname every time to use that object. Instead of using cumbersome syntax every time we can create synonym for that&lt;br /&gt;Create Synonym Syn_Name for Owner.Objectname&lt;br /&gt;Suppose you have to access Table Tab_Y owner by user User_Y .Before creating synonym you have to use&lt;br /&gt;Select * from User_Y.Tab_Y&lt;br /&gt;Now if we create a synonym&lt;br /&gt;Create Synonym Tab_Y for User_Y.Tab_Y&lt;br /&gt;After creating synonym you can use&lt;br /&gt;Select * from Tab_Y&lt;br /&gt;Note : The object does not need to exist at the time of its creation&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;2 .Hide Owner/Location :&lt;/strong&gt;&lt;/span&gt; In some applications application designers do not want to reveal the owner and location of object to other user. To achieve this they create synonym&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Type of synonym :&lt;/span&gt;&lt;/strong&gt; There are primarily two type of synonym&lt;br /&gt;1. &lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Private :&lt;/span&gt;&lt;/strong&gt; Only owner of synonym can use private synonym By default synonym created is private&lt;br /&gt;Create Synonym Tab_Y for User_Y.Tab_Y .&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;2. Public :&lt;/strong&gt;&lt;/span&gt; Everyone can use public synonym. Syntax for creating public synonym&lt;br /&gt;Create Public Synonym Tab_Y for User_Y.Tab_Y .&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Order of precedence for synonym :&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;There are lot of confusion when both object and synonym exist in database, which one will be used first. Following is order of precedence&lt;br /&gt;1. Local objects will always be accessed first.&lt;br /&gt;2. If a local object does not exist, the object with a private synonym will be accessed.&lt;br /&gt;3. If a private synonym does not exist or the object does not exist, then the public synonym will be used.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Flip Side of using synonym :&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;1. There are security issues related with public synonym&lt;br /&gt;2. If there are lot of synonym in database then database performance will degrade i.e. suppose user want to query Tab_A in above mentioned example database parser have to go across large set of synonym and have to put each synonym in library cache along with dependency.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Alternative to using synonyms:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Use logon trigger to set ALTER SESSION SET CURRENT_SCHEMA This will make default schema for unqualified object&lt;br /&gt;create or replace trigger trg_at_logon on database after logonbegin&lt;br /&gt;if user in ('X','Y') then execute immediate 'alter session set current_schema=’DFLT’;&lt;br /&gt;end if&lt;br /&gt;end;&lt;br /&gt;now if user X,Y login their default schema for unqualified object will be DFLT&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Misc point about synonym :&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;We cannot use Drop and truncate command with synonym&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Removing Synonyms :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;We can use following syntax to drop private synonym&lt;br /&gt;Drop synonym syn_name&lt;br /&gt;To drop public synonnynm&lt;br /&gt;Drop Public synonym syn_name&lt;br /&gt;We can also use force command&lt;br /&gt;Drop synonym syn_name force&lt;br /&gt;The force syntax will force Oracle to drop the synonym even if it has dependencies. It is not a good idea to use the force phrase as it can cause invalidation of Oracle objects.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Query to find Synonym use in database :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Suppose we want to object that reference synonynm test_syn&lt;br /&gt;Select owner, name, type&lt;br /&gt;From dba_dependencies&lt;br /&gt;Where referenced_name =&lt;br /&gt;'TEST_SYN'&lt;br /&gt;and referenced_type =&lt;br /&gt;'SYNONYM'&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Common Error with Synonym :&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;One of the most common error encountered with synonynm is&lt;br /&gt;"ORA-00980: synonym translation is no longer valid"&lt;br /&gt;Main causes for this to happen are&lt;br /&gt;1. One has created a synonym on non-existing object by mistake.&lt;br /&gt;2. You dropped an object but did not drop the synonyms which are referencing the object.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-450915847523457830?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/450915847523457830/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/01/all-about-oracle-synonym.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/450915847523457830?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/450915847523457830?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/01/all-about-oracle-synonym.html" title="All About Oracle Synonym" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;C08CRnY7fSp7ImA9WxVQFE4.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-2783571726738958515</id><published>2009-01-16T14:47:00.000-08:00</published><updated>2009-01-31T11:57:47.805-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T11:57:47.805-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica" /><title>New features of Informatica 8</title><content type="html">&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Enhancments in informatica 8.6 Version :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:#6666cc;"&gt;Target from Transformation&lt;/span&gt; :In Infa 8 we can create target from transformation by dragging transformation in Target designer&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:#6666cc;"&gt;Pushdown optimization&lt;/span&gt; : Uses increased performance by pushing transformation logic to the database by analyzing the transformations and issuing SQL statements to sources and targets. Only processes any transformation logic that it cannot push to the database.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:#6666cc;"&gt;New function in expression editor&lt;/span&gt; :New function have been introduced in informatica 8 like reg_extract and reg_match&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:#6666cc;"&gt;Repository query&lt;/span&gt; available in both versioned and non versioned repositories previously it was available only for versioned repository&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:#6666cc;"&gt;UDF&lt;/span&gt; (User defined function) similar to macro in excel &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:#6666cc;"&gt;FTP&lt;/span&gt; :We can have partitioned FTP targets and Indirect FTP filesource(with file list).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:#6666cc;"&gt;Propagating Port Descriptions&lt;/span&gt; : In Infa 8 we can edit a port description and propagate the description to other transformations in the mapping.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:#6666cc;"&gt;Environment SQL Enhancements&lt;/span&gt; : Environment SQL can still be used to execute an SQL statement at start of connection to the database. We can Use SQL commands that depend upon a transaction being opened during the entire read or write process. For example, the following SQL command modifies how the session handles characters: Alter session set NLS_DATE_FORMAT='DD/MM/YYYY';".&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:#6666cc;"&gt;Concurrently write to multiple files&lt;/span&gt; in a session with partitioned targets.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:#6666cc;"&gt;Flat File Enhancements&lt;/span&gt; :&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;Reduced conversion of data types&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Delimited file performance has improved&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Flat file now can have integer and double data types&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Data can be appended to existing flat files&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-2783571726738958515?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/2783571726738958515/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/01/new-features-of-informatica-8.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/2783571726738958515?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/2783571726738958515?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/01/new-features-of-informatica-8.html" title="New features of Informatica 8" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C08FQngyeCp7ImA9WxVQFE4.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-407212183206323814</id><published>2009-01-15T14:32:00.000-08:00</published><updated>2009-01-31T11:56:53.690-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T11:56:53.690-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle" /><title>Inline view</title><content type="html">&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Inline view :&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;An inline view is term given to sub query in FROM clause of query which can be used as table.  Inline view effectively is a named sub query&lt;br /&gt;&lt;br /&gt;Ex : Select Tab1.col1,Tab1.col.2,Inview.col1,Inview.Col2&lt;br /&gt;        From Tab1, (Select statement) Inview&lt;br /&gt;Where Tab1.col1=Inview.col1&lt;br /&gt;&lt;br /&gt;SELECT DNAME, ENAME, SAL FROM EMP ,&lt;br /&gt;(SELECT DNAME, DEPTNO FROM DEPT) D&lt;br /&gt;WHERE A.DEPTNO = B.DEPTNO&lt;br /&gt;&lt;br /&gt;In the above query (SELECT DNAME, DEPTNO FROM DEPT) D is the inline view.&lt;br /&gt; &lt;br /&gt;Inline views are determined at runtime, and in contrast to normal view they are not stored in the data dictionary,&lt;br /&gt;&lt;br /&gt;There are lot of instances when we want data from sub query to available in main query, before oracle 7.3 only option was to create view and use that in sub query&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Disadvantage of  using this is&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1.Separate view need to be created which is an overhead&lt;br /&gt;2.Extra time taken in parsing of view&lt;br /&gt;&lt;br /&gt;This problem is solved by inline view by using select statement in sub query and using that as table.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Advantage of using inline views:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. Better query performance&lt;br /&gt;2. Better visibility of code&lt;br /&gt;&lt;br /&gt;Practical use of Inline views:&lt;br /&gt;&lt;br /&gt;1. Joining Grouped data with Non grouped data&lt;br /&gt;2. Getting data to use in another query&lt;br /&gt;&lt;br /&gt;I wll further add in this post tommorow with practical example of inline views.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-407212183206323814?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/407212183206323814/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/01/inline-view.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/407212183206323814?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/407212183206323814?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/01/inline-view.html" title="Inline view" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C04ASXszcSp7ImA9WxVQFE4.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-6411928191379268391</id><published>2009-01-12T14:48:00.000-08:00</published><updated>2009-01-31T11:59:08.589-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T11:59:08.589-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Datawarehousing" /><title>Star Vs Snowflake Schema</title><content type="html">In continuation to my last post we will continue with dimensional modeling in detail&lt;br /&gt;&lt;br /&gt;In dimension modeling there are mainly two types of schemas&lt;br /&gt;&lt;br /&gt;1.Star Schema&lt;br /&gt;2.Snowflake Schema&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Star Schema :&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Star schema is simplest data warehouse schema .It is called star schema because ER diagram of this schema looks like star with points originating from center. Center of star schema consists of large fact table and points of star are dimensional table.&lt;br /&gt;&lt;br /&gt;Star schema is identified by one or more large fact table at center that contain primary information in data warehouse and lot of small dimensional tables each of which contain information about particular attribute of fact tables.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Advantage of Star Schema :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1.Provide a direct mapping between the business entities and the schema design.&lt;br /&gt;2.Provide highly optimized performance for star queries.&lt;br /&gt;3.It is widely supported by a lot of business intelligence tools.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Disadvantage of Star Schema:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;There are some requirement which can not be meet by star schema like relationship between customer and bank account can not represented purely as star schema as relationship between them is many to many.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_lE7aMoJYLGc/SW0RQbSsduI/AAAAAAAAAEc/hRVGpJFi7pw/s1600-h/star.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5290904111131948770" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 260px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_lE7aMoJYLGc/SW0RQbSsduI/AAAAAAAAAEc/hRVGpJFi7pw/s400/star.JPG" border="0" /&gt;&lt;/a&gt; &lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Snow Flake Schema:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Snowflake is bit more complex than star schema. It is called snow flake schema because diagram of snowflake schema resembles snowflake.&lt;br /&gt;&lt;br /&gt;In snowflake schema tables are normalized to remove redundancy. In snowflake dimension tables are broken into multiple dimension tables, for example product table is broken into tables product and sub product.&lt;br /&gt;Snowflake schema is designed for flexible querying across more complex dimensions and relationship. It is suitable for many to many and one to many relationship between dimension levels.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Advantage of Snowflake Schema:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;1.It provides greater flexibility in interrelationship between dimension levels and components.&lt;br /&gt;2.No redundancy so it is easier to maintain.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Disadvantage of Snowflake Schema :&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1.There are More complex queries and hence difficult to understand&lt;br /&gt;2.More tables more joins so more query execution time.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_lE7aMoJYLGc/SW0RFudjpNI/AAAAAAAAAEU/wWQhtqmMVf0/s1600-h/snowflake.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5290903927299220690" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 166px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_lE7aMoJYLGc/SW0RFudjpNI/AAAAAAAAAEU/wWQhtqmMVf0/s400/snowflake.JPG" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-6411928191379268391?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/6411928191379268391/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/01/star-vs-snowflake-schema.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/6411928191379268391?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/6411928191379268391?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/01/star-vs-snowflake-schema.html" title="Star Vs Snowflake Schema" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_lE7aMoJYLGc/SW0RQbSsduI/AAAAAAAAAEc/hRVGpJFi7pw/s72-c/star.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C04ASXsyeSp7ImA9WxVQFE4.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-254554051752885319</id><published>2009-01-10T06:48:00.000-08:00</published><updated>2009-01-31T11:59:08.591-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T11:59:08.591-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Datawarehousing" /><title>Dimensional Data Modeling</title><content type="html">&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Dimensional Data Modeling&lt;/strong&gt;&lt;/span&gt; :&lt;br /&gt;It is a modeling technique used in data warehousing systems. It is different from ER modeling technique used in OLTP systems. In Dimensional modeling a model of tables is combined together with aim of optimized query performance in Decision Support systems in relational databases.&lt;br /&gt;&lt;br /&gt;Before further going into details of dimensional data modeling we should be aware of key concepts in Dimensional Data Modeling&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Dimension&lt;/span&gt;&lt;/strong&gt; : It can be considered as category of information. For example geographic dimension. It provides a way to slice and dice the data in data warehouse.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Attribute&lt;/span&gt;&lt;/strong&gt; : Attribute can be considered as characteristic of dimension. For example region is attribute of geographic dimension. Dimension attribute is column in dimension table.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Hierarchy&lt;/span&gt;&lt;/strong&gt; : It represents relationships between attributes of dimension. It defines different level with in dimension, In case of geographic dimension it is like&lt;br /&gt;&lt;br /&gt;Continent -&gt;Country –&gt; Region –&gt; State -&gt;City -&gt;Street&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Fact Table&lt;/span&gt;&lt;/strong&gt; : It represents the measure of interest, for organization product revenue is measure of interest. The level of granularity is an important factor in designing fact tables. For example it can be revenue by continent or revenue by country. In this example fact table will have three columns Product, Geographical region, Revenue.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Lookup Table:&lt;/strong&gt; &lt;span style="color:#000000;"&gt;The look up table represents a dimension and constitutes attributes for dimension. Lookup table for product will consist of all products available.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;&lt;strong&gt;Dimensional Modelling Vs ER Modelling&lt;/strong&gt;&lt;/span&gt; :&lt;br /&gt;In Dimensional Modelling emphasis is on optimising decision support query performance,On other hand ER Model are focussed on&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Removing redundancy in data model&lt;/li&gt;&lt;li&gt;Optimse OLTP Performance&lt;/li&gt;&lt;li&gt;Focus is on retrieval of single record&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;We will continue with dimensional data modelling in next post.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-254554051752885319?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/254554051752885319/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/01/dimensional-data-modeling.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/254554051752885319?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/254554051752885319?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/01/dimensional-data-modeling.html" title="Dimensional Data Modeling" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;C08FQngyeCp7ImA9WxVQFE4.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-5348915383829922852</id><published>2009-01-07T11:04:00.000-08:00</published><updated>2009-01-31T11:56:53.690-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T11:56:53.690-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle" /><title>High Water Mark (Oracle)</title><content type="html">&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;High-water mark&lt;/span&gt; &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;High-water mark indicates the point up to which table or index has ever contained data.Let me explain .Suppose we create an empty table,the high-water mark would be at the start of the table segment&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_lE7aMoJYLGc/SWUGhym1C9I/AAAAAAAAACM/0h1xPQzxBOg/s1600-h/HWM1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5288640515006598098" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 128px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_lE7aMoJYLGc/SWUGhym1C9I/AAAAAAAAACM/0h1xPQzxBOg/s400/HWM1.jpg" border="0" /&gt;&lt;/a&gt;Now if we insert some data into the table segment, the HWM moves and it will be at position up to which the data is in the segment&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_lE7aMoJYLGc/SWUGcImMevI/AAAAAAAAACE/rxDgfP8xVqc/s1600-h/HWM2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5288640417830304498" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 128px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_lE7aMoJYLGc/SWUGcImMevI/AAAAAAAAACE/rxDgfP8xVqc/s400/HWM2.jpg" border="0" /&gt;&lt;/a&gt;If insert more data in the table segment, HWM moves further to point the position up to which the data is in the segment&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_lE7aMoJYLGc/SWUGXAwzT-I/AAAAAAAAAB8/ICv1sdYRWIU/s1600-h/HWM3.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5288640329827962850" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 128px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_lE7aMoJYLGc/SWUGXAwzT-I/AAAAAAAAAB8/ICv1sdYRWIU/s400/HWM3.jpg" border="0" /&gt;&lt;/a&gt; Now if we delete the data from the table see the new position of HWM&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_lE7aMoJYLGc/SWUGQg6_e2I/AAAAAAAAAB0/msON0c3LaXY/s1600-h/HWM4.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5288640218201553762" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 87px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_lE7aMoJYLGc/SWUGQg6_e2I/AAAAAAAAAB0/msON0c3LaXY/s400/HWM4.jpg" border="0" /&gt;&lt;/a&gt;As we can see above on deleting the data, HWM does not move. The drawback of this is that oracle always read the blocks up to high water mark in case of full table scan. You must have noticed that doing a count (*) on empty table, takes time to show you no rows. The reason for taking so much time is setting of HWM at higher position.&lt;br /&gt;&lt;br /&gt;Now you must be thinking , how to set the high-water mark at lower position ?&lt;br /&gt;The only method to set the HWM is to truncate a table.&lt;br /&gt;&lt;br /&gt;Let us see how truncate set the HWM.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_lE7aMoJYLGc/SWUGLy2sygI/AAAAAAAAABs/kluXAF42eww/s1600-h/HWM5.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5288640137116043778" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 128px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_lE7aMoJYLGc/SWUGLy2sygI/AAAAAAAAABs/kluXAF42eww/s400/HWM5.jpg" border="0" /&gt;&lt;/a&gt; HWM is reset now , after truncating data. Table where is having lots of delete or insert operation going on, probably has High HWM. If the HWM is high, it is always advised to rebuild table segment for performance improvement.&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-5348915383829922852?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/5348915383829922852/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/01/high-water-mark-oracle.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/5348915383829922852?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/5348915383829922852?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/01/high-water-mark-oracle.html" title="High Water Mark (Oracle)" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_lE7aMoJYLGc/SWUGhym1C9I/AAAAAAAAACM/0h1xPQzxBOg/s72-c/HWM1.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry gd:etag="W/&quot;C08FQngyeSp7ImA9WxVQFE4.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-6686538931233076532</id><published>2009-01-05T14:11:00.000-08:00</published><updated>2009-01-31T11:56:53.691-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T11:56:53.691-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle" /><title>All About Oracle Sequences</title><content type="html">&lt;div align="left"&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Oracle sequence&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Oracle sequence is a database object that is used to generate unique numbers,It is mainly used for primary key values.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Syntax&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Syntax for creating sequence is&lt;/div&gt;&lt;div align="left"&gt;CREATE SEQUENCE sequence&lt;/div&gt;&lt;div align="left"&gt;INCREMENT BY number&lt;/div&gt;&lt;div align="left"&gt;START WITH number&lt;/div&gt;&lt;div align="left"&gt;MAXVALUE number&lt;/div&gt;&lt;div align="left"&gt;MINVALUE&lt;/div&gt;&lt;div align="left"&gt;CYCLE/NOCYCLE&lt;/div&gt;&lt;div align="left"&gt;CACHE/NOCACHE&lt;/div&gt;&lt;div align="left"&gt;ORDER/NOORDER&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Important option need to be considered&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;CYCLE/NOCYCLE:If we specify cycle option while creating sequence then it will continue to generate values even after reaching it's max value. It will again start with min value. Nocycle means it will not generate value after reaching max value. Default is no cycle.&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;CACHE/NOCACHE : It specifies how many value oracle pre-assign and keep in memory for fast access. Nocache specifies that no value is pre-assigned. If we don’t use any option then default value is 20.&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;Flip side of using a sequence with cache is that if some system failure occurs then all cached values, which were not used, will be lost. For example you were using a sequence, which was, having cached value equals to 100 and oracle had used only 30 values then you will lose 70 sequence values.&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Things to remember while using sequences&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;1. In a session sequence.nextval must be referred before using sequence.currval .if you try to use current value before using nextval in session you will get following error ORA-00904: "SEQ_TEST"."CURRENTVAL": invalid identifier.&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;2. In other case suppose you have insert 20 records with sequence the issue rollback then sequence will not be rolled back. Next time oracle will use 21st value. Oracle has wisely chosen this option so that multiple users can use sequence without any concern of duplicate sequence value.&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;3. Creating sequences with NOCACHE will have performance impact.&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;4. We can not use sequence when the UNION operator combines SELECT statements.&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;Enhancement in 11G for sequences&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;In 11G we can use variable assignment for sequences like&lt;br /&gt;V_seq_11g := test_SEQ_11G.NEXTVAL;&lt;br /&gt;For doing same in 10G and prior we have to use SELECT TEST_SEQ_10G.NEXTVALINTO v_seq_10g FROM DUAL; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-6686538931233076532?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/6686538931233076532/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/01/all-about-oracle-sequences.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/6686538931233076532?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/6686538931233076532?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/01/all-about-oracle-sequences.html" title="All About Oracle Sequences" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;C08CRnY7fip7ImA9WxVQFE4.&quot;"><id>tag:blogger.com,1999:blog-5495812930803469387.post-4204395683599384202</id><published>2009-01-03T10:07:00.000-08:00</published><updated>2009-01-31T11:57:47.806-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T11:57:47.806-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Informatica" /><title>How to transpose data in Informatica</title><content type="html">Suppose we are having input data coming as&lt;br /&gt;&lt;br /&gt;Firstname1&lt;br /&gt;Ph1&lt;br /&gt;Address1&lt;br /&gt;&lt;br /&gt;Firstname2&lt;br /&gt;Ph2&lt;br /&gt;Address2&lt;br /&gt;&lt;br /&gt;Firstname3&lt;br /&gt;Ph3&lt;br /&gt;Address3&lt;br /&gt;&lt;br /&gt;You want data in output like i.e. you want to convert 9 rows into 3 rows with similar group together&lt;br /&gt;&lt;br /&gt;Firstname1 Ph1 Address1&lt;br /&gt;Firstname2 Ph2 Address2&lt;br /&gt;Firstname3 Ph3 Address3&lt;br /&gt;&lt;br /&gt;You can create a mapping by following these steps&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Create a SQ with one input field Field1&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add a expression transformation after SQ&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Link Field1 from SQ to expression Transformation&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add a new op port name grp =substr(FIELD1,length(FIELD1),1)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add a aggregator transformation after Expression and drag Field1 and Grp field&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Have grp as group by fieldAdd three new port OP_FLD1=LAST(FIELD1,SUBSTR(FIELD1,1,1)='f')OP_FLD2=LAST(FIELD1,SUBSTR(FIELD1,1,1)='p')OP_FLD=LAST(FIELD1,SUBSTR(FIELD1,1,1)='a') &lt;/li&gt;&lt;li&gt;Add OP_FLD1,OP_FLD2,OP_FLD3 to target &lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5495812930803469387-4204395683599384202?l=www.itnirvanas.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.itnirvanas.com/feeds/4204395683599384202/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.itnirvanas.com/2009/01/how-to-transpose-data-in-informatica.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/4204395683599384202?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5495812930803469387/posts/default/4204395683599384202?v=2" /><link rel="alternate" type="text/html" href="http://www.itnirvanas.com/2009/01/how-to-transpose-data-in-informatica.html" title="How to transpose data in Informatica" /><author><name>ITNirvanas</name><uri>http://www.blogger.com/profile/16667563005338929437</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11047586942755715774" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total></entry></feed>
