Friday, February 4, 2011

Peoplesoft CRM Tunings

After hitting heads with few walls here are some resolutions which make sense in tuning CRM. (ORACLE did not helped much than non ORACLE experienced DBA's/Sys Admins) This May help you folks. One thing you need is patience and think big approach.
1. Remove operators like "contains" from configurable searches.
2. Killer Table is BO_NAME. One good option is to re dump the table order by Last_Name_SRCH field. Al though a row be added at the last, this is very helpful if some one searched by "begins With". ( This is complex to understand. Talk with a practical DBA not a theoritical ones who talk a lottttttt).
3. If possible remove BC,CM Tables ( Profile_SEQ is the pain) and store address,phone no, Email in a custom sibling record. These tables add over head than actually resolving problems espectially if you have cusomer base in millions. (Reporting sucks with delivered ones). We are successful becasue we are not using order to cash so no Sold to, Ship To 's ...... convince the client to remove relationship viewer. This has improved the search little bit ( can be done easily throught configuration).
I will try to post the steps needed to remove CM's for Support module.
4. US PL/SQL scripts by doing the Set processing for data conversion (use insert select's than cursors).
5. Helps you the long running Query. This is been put by a smart lead not by me.
6.

SELECT s.last_call_et secs,
s.inst_id '.' s.sid isid,
decode(l.inst_id, NULL, NULL, l.inst_id '.' l.sid) lsid,
t.sql_text,
s.username,
s.client_info
FROM gv$SESSION s,
gv$LOCK l,
gv$lock lb,
gv$sqltext t
WHERE t.INST_ID = s.INST_ID
AND t.address = s.sql_address
AND t.hash_value = s.sql_hash_value
AND t.sql_id = s.sql_id
AND s.type <> 'BACKGROUND'
AND s.status = 'ACTIVE'
AND l.request (+) = 0
AND l.id1 (+) = lb.id1
AND l.INST_ID (+) = lb.INST_ID
AND lb.sid (+) = s.sid
AND lb.INST_ID (+) = s.INST_ID
AND lb.request (+) <> 0
AND s.audsid <> userenv('sessionid')
ORDER BY s.last_call_et, s.inst_id, s.sid, t.piece;
6. Have dedicated appservers for Sync Async services. This make more sense than people soft recommended Master/ Slave approach for Tuning Integeration Broker. Things I have seen is there is no hard and fast rule here.
7. Remove message logging. ( We chose this for some services).
8.For MQ try to have the queues setup at the webserver level which could reconnect itself if the queue gets paused. (battle been fought with the system admins to get this thing done).


------------------------------------------

No comments:

Post a Comment