Tuesday, 30 September 2014

OOW 2014 Main Theme

APPLICATION - PLATFORM - INFRASTRUCTURE

Oracle Cloud delivering Applications, Platform and Infrastructure as a service along with an intense emphasis on Mobile is the main theme of this year's conference.

OOW Day 1 Gallery




Monday, 29 September 2014

OOW Day 1. PeopleSoft Apps Roadmap

In the spirit of OOW main theme I'm blogging from my mobile phone.   So.... my posts will be brief and characterised by typos and grammatical errors.

Here goes...

PeopleSoft Road Map.   

Paco Aubrejuan (head of PeopleSoft) talked over the main themes of PeopleSoft applications...
+ mobile apps delivered in new 8.54 fluid interface
+ new fluid apps will be delivered as maintenance 2-3 times a year. So no additional license fee.
+ Hcm apps in October
+ fscm apps later in 2014
+ no plans for 9.3
+ PeopleSoft is the only Oracle app that can deliver this in a continuous delivery model
+ fluid aimed at casual and executive users
+ runs on any platform
+ "finally"  unified all the work flow across products.  ie one place for all events /actions from workflow

Oracle ACE Director Briefings 2014 - Day 2

Day 2 of the Oracle ACE briefings was torrent of information on new developments ...
  •  MySQL database (Toms Ulin, VP of MySQL Engineering), 
  • Oracle Database Cloud Service (Gene Eun - Senior Principal Product Marketing Director),
  • Oracle BI Platform (Vasu Murthy - Senior Director Product Management), 
  • Oracle Database (Penny Avril  - VP Product Management)
  • Apex  (David Peake - Senior Principal Product Manager) 
  • Java and virtualization products by the super cool Wim Coekaerts - Senior VP Linux and Virtualization)
  • There was also a fascinating interview with Bob Evans (Senior VP, Chief Communications Officer, Oracle).  


Fascinating data from the MySQL team..... "Facebook runs on over 50,000 MySQL database servers".  When you look at who's running on MySQL it's really quite surprising and impressive - Facebook, LinkedIn, YpouTube, Wikipedia, Twitter, eBay, TicketMaster.

And finally..... by super-enthusiast and former ACE Director Steven Feuerstein (Database Architect)

First there was SQL.... Big Data gave us NoSQL...  then NewSQL .. (after the NoSQL guys realised they needed a Quey Language for these new large-scale datasets)... but now there's .... YesSQL.......

YesSQL ... An initiative by Oracle to celebrate SQL and PL/SQL and a move to fan the fire of enthusiasm for the SQL and PL/SQL languages.- the power of which is sometimes forgotten with all the plethora of language now available when building database applications (Pythom, PHP, Ruby, Java, Scala, Perl, C'#, ASP.NET, etc).  






Friday, 26 September 2014

Oracle ACE Director Briefings 2014 - Day 1

The iconic Oracle HQ
Privileged to be part of the ACE Director briefings at Oracle HQ, Redwood Shores,

Invited to join Oracle product development for an insightful 2 days of what's new and what's in the pipeline in all the major product areas.

I'm in a room full of some serious Oracle database, middleware and application experts.  Honoured, to be counted part of this great community. You can follow the #aced Twitter feed here 

Just to prove I'm here....

Oracle ACE Directors

Quote of the day from Jeremy Ashley, VP Oracle Applications User Experience group... "innovation is about making something better... not just different".    

A lot of respect in the room for Thomas Kurian,  Executive Vice President of Product Development at Oracle (introduced as Oracle Head of Engineering) who rounded off the day with a classy, no PowerPoint rundown of the major upcoming announcements across all the product lines.  He then spent the next hour answering questions from the floor.  This guy knows a lot about a lot of Oracle stuff.  Cloud and Mobile were big themes.

Thursday, 4 September 2014

PeopleCode Variable Scope Quiz

***UPDATE.  Question 4 was not clear. Now fixed (hat tip Banksy)

I recently wrote a little quiz for some PeopleSoft developer friends of mine on PeopleCode Variable Scoping.  It's not comprehensive and it may not even be accurate.  It's offered to the PeopleSoft community as a thought provoking item for both new and hardcore PeopleCode developers.

There's only 7 questions.

Please feel free to leave comments, new insights, corrections or other helpful witty banter.


Wednesday, 3 September 2014

PeopleSoft Performance Monitor Archiving Performance Issue

***UPDATE: 4 Feb 2015.  PeopleTools 8.53 with (I think) patch 13 solves this performance problem without the need for the fix described below.


I love the PeopleSoft Performance Monitor (PPM).  

Some of the benefits of logging all production and development transactions include


  • Diagnosing application issues for which the end user didn't provide enough information when they reported a problem.  With PPM you can see exactly what they did and when.
  • Profiling who is using your system, how much and what they're using.  This can help focus on developing improvements on parts of the system that are used most.
  • Troubleshooting performance problems.  Even in standard logging mode you can easily get reports on slow components, slow queries, etc.
  • Discovering the profile of transactions during development phase.  The precise load on your PeopleSoft systems can be quickly determined by looking at the entire PMU tree.  For example it helps answer the question of what really happens to your web and application servers when a particular user with 10 pagelets in their homepage logs into the system.


At Oxfam we log every transaction and retain 5 days of history before archiving.  On a busy system you can easily clock up millions of rows of data in PSPMTRANSHIST before arching runs and this can expose a severe performance problem during the archive process.

In  App Engine PSPM_ARCHIVE section ARCHIVE.ARCPCODE there is a function ArchiveTransactions.  This functions identifies ALL the rows to be archived using datetime based critieria and opens a SQL object &TransHistSQL.  Depending on number of rows in PSPMTRANSHIST, number of rows not being archived, power of your DB server this SELECT can take from a few seconds to hours!  The code then iteratively fetches rows from &TransHistSQL until either there are no rows left or the number of rows fetched = the &NumTransInBatch (which for Oracle and SQL Server databases is 1,000, DB2 = 500 and Informix and Sybase = 300).

If the open of &TransHistSQL takes a long time and you have millions of rows then the whole archiving process may take days to finish.  

A quick and dirty fix to this is to modify the open SELECT statement to only return the number of rows that it's going to archive in a batch.  I've used the TOP n operator in Microsoft SQL Server for this BUT THIS WON'T WORK WITH ORACLE.  I think Oracle users will need to add new criteria something like WHERE ROWNUM <= &NumTransInBatch .  After all, why open a cursor on millions of rows when you're only going to process 1,000 of them?  

I've marked in red the new code for SQL Server.  For us ,at Oxfam, this improved performance of archiving from 50 mins per batch to 2 seconds.

/*-- SELECT THE ROWS FROM PSPMTRANSHIST ELIGLIBLE FOR ARCHIVING */
   &TransHistSQL.Open("SELECT TOP " | &NumTransInBatch | " X.PM_INSTANCE_ID, X.PM_TRANS_DEFN_SET, X.PM_TRANS_DEFN_ID, X.PM_AGENTID, X.PM_TRANS_STATUS, X.OPRID, X.PM_PERF_TRACE, X.PM_CONTEXT_VALUE1, X.PM_CONTEXT_VALUE2, X.PM_CONTEXT_VALUE3, X.PM_CONTEXTID_1, X.PM_CONTEXTID_2, X.PM_CONTEXTID_3, X.PM_PROCESS_ID, %DateTimeOut(X.PM_AGENT_STRT_DTTM), %DateTimeOut(X.PM_MON_STRT_DTTM), X.PM_TRANS_DURATION, X.PM_PARENT_INST_ID, X.PM_TOP_INST_ID, X.PM_METRIC_VALUE1, X.PM_METRIC_VALUE2, X.PM_METRIC_VALUE3, X.PM_METRIC_VALUE4, X.PM_METRIC_VALUE5, X.PM_METRIC_VALUE6, X.PM_METRIC_VALUE7, X.PM_ADDTNL_DESCR, Z.PM_ARCHIVE_MODE FROM PSPMTRANSHIST X, PSPMAGENT Y, PSPMSYSDEFN Z WHERE X.PM_AGENTID=Y.PM_AGENTID AND Y.PM_SYSTEMID=Z.PM_SYSTEMID AND (Z.PM_ARCHIVE_MODE='1' OR Z.PM_ARCHIVE_MODE='2') AND %DateTimeDiff(X.PM_MON_STRT_DTTM, %CurrentDateTimeIn) >= (PM_MAX_HIST_AGE * 24 * 60)");