Monday, July 31, 2006

Informatica 7.1:Informatica Session terminated unexpectedly;LM_36401

In the troubleshooting guide it has been written like:

================================================================
LM_36401 Execution terminated unexpectedly
Cause: The DTM process did not stop,abort or fail properly.
Action: Contact Informatica Technical Support.

================================================================

Error Description:
You run a session.The session just failed without being picked up properly.And the log is also of very few lines telling the "Failed to fetch session instance properly".

I tried many times.The same thing happened.I tried in google and got a solution like this:

http://datawarehouse.ittoolbox.com/groups/technical-functional/informatica-l/error-code-36401-execution-terminated-unexpectedly-1087284

As per the solution told in above webpage:
1/
I removed the repositoryserver log.
I removed the pmserver log.
I removed the repagent log.

2/
I truncated log from repository manager console.

3/
I revalidated mapping and workflows associated with that session.

4/I shut down pmrepserver as well as pmserver and then again re-start.


But every single things I did of no help.

Lastly I got this beautiful scripts:

SELECT A.SUBJ_NAME ,B.MAPPING_NAME ,C.WIDGET_ID ,C.INSTANCE_NAME
FROM OPB_SUBJECT A ,OPB_MAPPING B ,OPB_WIDGET_INST C
WHERE A.SUBJ_ID=B.SUBJECT_ID AND B.MAPPING_ID =C.MAPPING_ID AND
B.VERSION_NUMBER = C.VERSION_NUMBER AND C.WIDGET_TYPE=15 AND
B.IS_VISIBLE > 0 AND C.WIDGET_ID IN
(select w.WIDGET_ID from opb_widget_field wf, opb_widget w
where w.widget_type = 15 and w.widget_id = wf.widget_id and
w.version_number = wf.version_number and w.is_visible > 0
and wf.widget_fld_prop = 0 and wf.porttype = 2)


If the above query returns more than one row in the result set then
apply the following update query.

CREATE TABLE OPB_WIDGET_FIELD_BACKUP AS SELECT * FORM OPB_WIDGET_FIELD;

update opb_widget_field set widget_fld_prop =
(select f2.field_id from opb_widget_field f2, opb_widget w
where f2.widget_id = opb_widget_field.widget_id and f2.version_number
= opb_widget_field.version_number and f2.widget_id = w.widget_id and
f2.version_number = w.version_number and w.is_visible > 0 and
w.widget_type = 15 and f2.field_name =
substr(opb_widget_field.field_name,1,length(opb_widget_field.field_name)
-1))
where widget_fld_prop=0 and porttype = 2 and exists (select * from
opb_widget w where w.widget_type = 15 and w.is_visible > 0 and
w.widget_id = opb_widget_field.widget_id and w.version_number =
opb_widget_field.version_number)


And yah,it solved that sticky problems.....:)

Labels:

Sunday, July 30, 2006

Informatica 7.1: Unexpected Condition Detected while Exporting Mapping ( Error in widgfld.cpp )

A strange error is coming while I am trying to export a specific mapping. Strange error because when I am trying to export other mappings from the same repository,its working fine.But for this specific mapping the error is coming like this:

Free Image Hosting at www.ImageShack.us

Direct Link:
http://img138.imageshack.us/img138/8899/exportingerror11zn9.jpg

I checked for any checkoutd for this mapping.---> No checkout was there.
I checked in repository manager for any Locks on this specific maping.---> No locks.
I tried to find out the error in Informatica Help.---> No such error messsges is there.

As the messages is showing not to continue more,I exit,--> Whole designer closed.And before the Designer prematurely exits,it shows another message like this:

Free Image Hosting at www.ImageShack.us

Direct Link:
http://img138.imageshack.us/img138/2029/exportingerror21zg1.jpg

Action:-
1/
If that mapping contains any router delete that router and recreate it.

Labels:

Saturday, July 15, 2006

Informatica 7.1:Multiple Execute Error

Well,now I am getting interested in Informatica a lot.I got amazed by its huge power of running query and prompting result in a very short span of time.

This error came when I was trying to implementing a router having two groups in it.And I made mistake while using conditions for those groups.Actually the condition set in one group may fetch data for the other group also.

Let me describe in details:
Emp ( src )
--------------

Eno Sal
--- ---
1 2000
2 3000
4 7000
5 2500
6 3500
7 5500

Now for a group I set condition like Sal > 2000 and for the another Sal > 3000.
SO the first group in fact fetching the data for the other group also.Here in lies the error.

So once you rectify it as Sal > 2000 and for the another Sal < 2000 the problem will be solved.

Labels:

Saturday, July 08, 2006

Informatica7.1: Installation Steps in WINDOWS XP ( Service Pack 2) Oracle 8i

/************************************************
* INFORMATICA 7.1 Installation Steps
* OS: WINXP(SP-2)
* Oracle 8i
*************************************************/


1. Create an user for informatica metadata:-

DROP user utopia_user cascade;
CREATE USER utopia_user IDENTIFIED BY utopia_user DEFAULT TABLESPACE users QUOTA UNLIMITED ON users;
GRANT CONNECT,DBA TO utopia_user;

2. Configure IRS( Informatica Repository Sever ):-

Server port no-- 5858 ( say )
Administrator password-- 5858 ( say )
Remaining all--Keep as it is.

3. Create a New Repository Server:-

Go to ( RSAC )Repository server admin console.
Right click on Informatica Repository servers
-->New server registration.
Hostname--yours computer name.
Portnumber--IRS port number ( Here 5858 )
-->ok
Try to connect.

If its not getting connected,go to services and check whether Informatica Repository Service is running or not.If its not running,start it.

Again try to connect.

Repository server will be created as the same name as yours computer name. ( here utopia )
That utopia will have 4 things in it
>> Repositories
>>Activity Log
>>Backups
>>Available Packages

4. Create a new repository in the newly created repository server:-

-->Right click on that Repositories folder in the newly created repository server.

GENERAL TAB
------------
Repository Name--> utopia_rep
Keep remaining thing as it is.

DATABASE CONNECTION TAB
-------------------------
ConnectString-->orcl
DBUser-->utopia_user
Keep remaining thing as it is.

NETWORK TAB
-------------
Keep remaining thing as it is.

CONFIGURATION TAB
------------------
Keep remaining thing as it is.

LICENCE TAB
--------------
Update by all keys.

-->Apply

Once press the new repository will start creating.
-->ok
After finishes,double click on Repositories folder.You can see yours repository there (here utopia_rep)

5. Create a folder to work:-

Go to client-->Repository Manager ( RM ).
Double Click on your repository utopia_rep
Connect to repository dilog box will come
Username-->utopia_user
password-->utopia_user

Once connected.Go to menuber-->Folder-->Create
Create folder dialog box will come.
Name -->utopia_user_folder
Give its all permission
-->OK
Folder will be created.

6. Go to designer:-
Right Click on the repository ( utopia_rep ).-->connect
Username--> utopia_user
password-->utopia_user

-->connect
If you press on more,it will repository server info.The hostname and port number.
The folder jus created above will be shown there.
-->righ click and then open the folder.
-->Tools-->source analyzer ( to create a source )
-->go to source-->IMport from database.
-->ODBC data source ( Urs own created data source ).
-->user/password is from oracle user and password from which schema you want your source table.
-->Tools-->Warehouse Designer ( To Create a target )
-->Tools-->Mapping Designer ( To create a mapping )
Save the mapping and check whether its valid or not.

7.Go to Workflow Manager:-

-:Creating a session:-

Connect to the repository utopia_rep.
Open the utopia_user_folder.
Menu-->Tools -->Workflow Designer.
Menu-->Workflows-->Create a workflow.
GENERAL TAB
-----------
Name-->utopia_user_wrkflow1
Keep remaining things same.

PARAMETERS
-----------
Keep remaining things same.

SCHEDULER
----------
Keep remaining things same.


-: Creating a Task :-

Menu-->Tasks-->Create a task.
tasktype-->session
name-->utopia_user_task1
Once you press button,it will ask for a mapping associated with it.
Pick up that mapping we have created in mapping designer earlier.
-->ok.
-->Done

-: Linking the task and the session :-


Menu-->Tasks-->link task.
Save and check whether the workflow is valid or not.

8. Server configuration:-

Now we need to create a server in which our workflow will run.
For that
Menu-->Server-->server configuration-->new.
Server name -->utopia_user_wrkflow_server.
HOst name / IP address -->Computer name ( here utopia )
server variables-->Create a directory in your local disk ( here e:\demo )
and then $PMRoot directory -->e:\demo
Keep remaining things same.
Then -->resolve server-->ok.-->close
If the resolving done succesfully,then its fine else check...

9. Assigning the server to workflow:-
Close yours folder in Workflow Manager.Right click on the workflow server-->Assign to workflows
Check the folder and session-->assign.

10. Creating relational database connection:-
Menu-->connections-->relational-->type-->oracle-->
new-->name :relCon_utopia_user_src
user name-->scott-->password-->tiger-->connect string -->orcl

new-->name :relCon_utopia_user_tgt
user name--> utopia_user --> password --> utopia_user -->connect string -->orcl

Keep Workflow Manager open.We`ll come back here soon.



11. Setting Informatica Server Configuration:-

Go to STart-->Programs-->INformatica server setup.
Configure.

SERVER TAB
------------
server name-->utopia_user_wrkflow_server ( It should be same as workflow server name ).
TCP/IP Host address-->Keep it blank.
Keep remaining things same.

REPOSITORY TAB
---------------
repository name--> utopia_rep
Repository user --> utopia_user
Repository pasword --> utopia_user
Repository Server Host Name --> utopia ( Or your computer name )
Repository Sever Port Number --> 5858

LICENCE TAB
-----------------
Update all keys if they are not there.

COMPATIBILITY AND DATABASE
----------------------------
Keep remaining things same.

CONFIGURATION
---------------
Keep remaining things same.

JVM OPTIONS
----------------
Keep remaining things same.

HTTP PROXY
---------------
Keep remaining things same.

Apply-->ok-->exit
Go to services-->make informatica server up.

If facing problem to make it up-Check

12. Make workflow to run:-
Come back to Workflow Manager.double click on the session-->click on mapping tab.-->
click on source-->set the relational connection.
click on target -->set the relational connection-->normal load not bulk.

Save the workflow again and check if its valid or not.

13. And finally run the workflow:-
Right click on task and start workflow.

14. Check the success/failure status in Workflow monitor.

Labels:

Friday, July 07, 2006

Informatica 7.1 : Informatica server is not running: Problem in resolving Host while creating server in workflow

Is your sytem standalone/not connected to network?

Check in command prompt for your IP address.
For stand alone system its 127.0.0.1

Is your system connected with network/having NIC card, but you are not currently connected in network?

Connect to network.Resolve Host while creating server.Start Informatica service.

Labels:

To find out Unique lines in a file in Unix---Continuation

I had one post in my blog on Unique.And the solution was also there.This time I got a file ( say gg.txt ) contents like :

5570, 5570, 5570, 5570, 5570, 5578, 5594, 5570, 5570, 5585, 5570, 5570, 5570, 5570, 5570, 5570, 5585, 5570, 5570, 5570, 5570, 5570, 5570, 5570, 5585, 5570, 5570, 5585, 5570, 5585, 5570, 5570, 5570, 5585, 5570, 5570, 5585, 5570, 5570, 5585, 5570, 5570, 5570,


They are as different rows in the original file.I was to find out uniq records from them.When i ran:

$ sort -n gg.txt|uniq -c > hh.txt

The hh.txt file becomes like:


1 1220,
2 4273,
1 4582,
4 4683,
1 4790,
1 4933,
1 5043,
1 5086,
1 5214,
6 5363,
3 5390,
2 5396,
2 5460,
1 5462,
221 5476,
48 5477,
26 5478,
229 5479,
35 5480,
145 5481,
54 5482,
6 5483,
6409 5485,
52 5486,
29 5487,
12 5488,
2 5492,
1 5516,
7 5536,
48880 5570


The first column saying how many times that specific records occurred in the file gg.txt.

Although that migght be useful in cases,but I want the unique records only not their counts also as I am to build a SQL query on that output.So I ran this command

$ sort gg.txt|uniq > hhh.txt

And now the records become:

5476, 5477, 5478, 5479, 5480, 5481, 5482, 5483, 5485, 5486, 5487, 5488, 5570, 5578, 5585, 5594, 5598, 5599, 5605, 5608,

And thats wat I want.

Labels: