Tuesday, June 17, 2008

Firefox 3

Just for the fun...

Download Day 2008

Wednesday, June 11, 2008

Peoplesoft (server) on Windows XP

Peoplesoft, the server part, has never been supported on Windows XP, and maybe will never supported.

So, why such article ?

On the Peoplesoft forum, there are a lot of questions about that configuration. And I receive a lot of questions. On one part I can understand for training and learning purpose.

On an other hand, I showed by the past through articles on this blog that was not so complicated, and much more interesting, to build a solution based on Linux with in a virtual machine.


Anyway, why not try it. I have to say once again,
Peoplesoft (appserver, process scheduler and web server) is not supported on Windows XP.

1. Tuxedo 9.1 (downloaded from http://edelivery.oracle.com, Peopletools 8.49 folder, build B42600-01) Run the pstuxinstall.exe from the unzipped package :



On the following screen give the BEA HOME path directory you previously created. A tuxedo folder will be created inside. This version of Tuxedo include the rolling patch 036, you can check it into the file patchlev under udataobj :
2. BEA Weblogic 9.2 (downloaded from http://edelivery.oracle.com, Peopletools 8.49 folder, build B42602-01)
Run the server920-win32.exe from the unzipped package :

Choose the BEA HOME you previously created (the sane as the one for Tuxedo) :Don't need to choose a complete installation, here we don't need the developper part of BEA product, just the web server, check the custom install :Check only the server, the only one required componenet for our installation (that'll save disk space):Once more, we need only the minimal installation, uncheck the additional tool :
Choose the path directory where you want to install weblogic :


3. BEA Weblogic 9.2 maintenance pack 1 (downloaded from ftp://ftp.peoplesoft.com/outgoing/ptools/weblogic/9.20/mp1)
Run the server921_upgrade_win32.exe :

Choose your BEA HOME path directory :
It should recognize your previous installation :
4. BEA Weblogic 9.2 maintenance pack 1 patches 1 and 2 (downloaded from ftp://ftp.peoplesoft.com/outgoing/ptools/weblogic/9.20/mp1/patches)
Since my try, the patch 4 has been raised, it is bigger, but process is same, you could try it by yourself.
Copy the
files installwlspatch.cmd, wls92mp1-p1.zip and wls92mp1-p2.zip into the BEA_HOME directory you defined earlier. Then run the installation command from a DOS window :
installwlspatch.cmd wls92mp1-p1.zip
That'll install at what required itself. Same for the second patch, and in case same for the latest one.


Check the existence of txt files with the same name as the patch.

5. PeopleTools 8.49 (downloaded from http://edelivery.oracle.com, Peopletools 8.49 folder, build B42585-01,B42586-01, B42587-01, B42588-01, B42589-01, B42590-01 and B42591-01) I won't become on that point, it's exactly the same process as the one for Linux, GUI excepted. Here below just few key screenshots :


6. PeopleTools 8.49 patch 11 - only if you are licenced - (downloaded from ftp://ftp.peoplesoft.com/outgoing/ptools/84911) From the extracted package, under disk1, run setup.exe, and follow the exact process as the previous one.

7. Create your Application Server.
Don't forget to add a line with an IP address and your computer name into your Windows/system32/driver/etc/hosts file.
I'll use an existing remote Oracle database :

C:\app\psoft\hrms9\appserv>psadmin

PSADMIN -- Tools Release: 8.49.11
Copyright (c) 1988, 2003, Oracle. All rights reserved.
[...]
----------------------------------------------
Quick-configure menu -- domain: DMOHRMS9
----------------------------------------------
Features Settings
========== ==========
1) Pub/Sub Servers : No 15) DBNAME :[DMOHRMS9]
2) Quick Server : No 16) DBTYPE :[ORACLE]
3) Query Servers : No 17) UserId :[PS]
4) Jolt : Yes 18) UserPswd :[PS]
5) Jolt Relay : No 19) DomainID :[DMOHRMS9]
6) WSL : Yes 20) AddToPATH :[c:\app\oracle\11.1.0\BIN]
7) PC Debugger : No 21) ConnectID :[people]
8) Event Notification: No 22) ConnectPswd:[peop1e]
9) MCF Servers : No 23) ServerName :[]
10) Perf Collator : No 24) WSL Port :[7000]
11) Analytic Servers : No 25) JSL Port :[9000]
12) Domains Gateway : No 26) JRAD Port :[9100]

Actions
=========
13) Load config as shown
14) Custom configuration
h) Help for this menu
q) Return to previous menu

Enter selection (1-26, h, or q): 13
Performing load prechecks ...
Loading validation table...
setting DBName=DMOHRMS9
setting DBType=ORACLE
setting UserId=PS
setting UserPswd=PS
setting ConnectId=people
setting ConnectPswd=peop1e
setting ServerName=
setting Port=7000
setting Port=9000
setting Listener Port=9100
setting Domain ID=DMOHRMS9
setting Add to PATH=c:\app\oracle\11.1.0\BIN
New CFG file written with modified Startup parameters

Log Directory entry not found in configuration file.
Setting Log Directory to the default... [PS_SERVDIR\LOGS]
Spawning disabled for server PSAPPSRV.
Configuration file successfully created.
CFG setting changes completed, loading configuration...
Domain configuration complete.
[...]
-------------------------------
PeopleSoft Domain Boot Menu
-------------------------------
Domain Name: DMOHRMS9

1) Boot (Serial Boot)
2) Parallel Boot
q) Quit

Command to execute (1-2, q) [q]: 1
Attempting to boot bulletin board...
tmadmin - Copyright (c) 1996-1999 BEA Systems, Inc.
Portions * Copyright 1986-1997 RSA Data Security, Inc.
All Rights Reserved.
Distributed under license by BEA Systems, Inc.
Tuxedo is a registered trademark.
No bulletin board exists. Entering boot mode.
INFO: BEA Tuxedo, Version 9.1, 32-bit, Patch Level 036
INFO: Serial #: 650522264137-2065448083901, Expiration NONE, Maxusers 1000000
INFO: Licensed to: Oracle-Peoplesoft-ISV

Booting admin processes ...

exec BBL -A :
process id=560 ... Started.
1 process started.
Attempting to boot ...
INFO: BEA Tuxedo, Version 9.1, 32-bit, Patch Level 036
INFO: Serial #: 650522264137-2065448083901, Expiration NONE, Maxusers 1000000
INFO: Licensed to: Oracle-Peoplesoft-ISV

Booting server processes ...

exec PSWATCHSRV -A -- -ID 64419 -C psappsrv.cfg -D DMOHRMS9 -S PSWATCHSRV :
process id=2652 ... Started.
exec PSAPPSRV -s@..\psappsrv.lst -s@..\psqcksrv.lst -sICQuery -sSqlQuery:SqlRequest -- -C psappsrv.cfg -D DMOHRMS9 -S PS
APPSRV :
process id=2664 ... Started.
exec PSAPPSRV -s@..\psappsrv.lst -s@..\psqcksrv.lst -sICQuery -sSqlQuery:SqlRequest -- -C psappsrv.cfg -D DMOHRMS9 -S PS
APPSRV :
process id=2136 ... Started.
exec PSAPPSRV -s@..\psappsrv.lst -s@..\psqcksrv.lst -sICQuery -sSqlQuery:SqlRequest -- -C psappsrv.cfg -D DMOHRMS9 -S PS
APPSRV :
process id=2716 ... Started.
exec PSSAMSRV -A -- -C psappsrv.cfg -D DMOHRMS9 -S PSSAMSRV :
process id=2684 ... Started.
exec PSMONITORSRV -A -- -ID 64419 -C psappsrv.cfg -D DMOHRMS9 -S PSMONITORSRV :
process id=2728 ... Started.
exec WSL -A -- -n //INDUS:7000 -z 0 -Z 0 -I 5 -T 60 -m 1 -M 3 -x 40 -c 5000 -p 7001 -P 7003 :
process id=2772 ... Started.
exec JSL -A -- -n //INDUS:9000 -m 5 -M 7 -I 5 -j ANY -x 40 -S 10 -c 1000000 -w JSH :
process id=1728 ... Started.
exec JREPSVR -A -- -W -P C:\app\psoft\hrms9\appserv\DMOHRMS9\jrepository :
process id=512 ... Started.
9 processes started.

8. Create your WebServer.
C:\app\psoft\hrms9\setup\PsMpPIAInstall>setup.exe -console -is:javahome C:\app\bea\jdk150_06
You have to give the java home here jdk150_06, coming from the Weblogic patches. A new DOS window will appear to the screen.
Welcome to the InstallShield Wizard for PeopleSoft Internet Architecture.

Using the InstallShield Wizard you will install PeopleSoft Internet
Architecture on your computer.

Version: 8.49.11

Note: If installing onto a BEA WebLogic Server, make sure to shutdown any
running web servers to avoid web server corruption.

Select Next to continue or Cancel to exit.

Cliquez sur 1 pour Suivant, 3 pour annuler ou 5 pour afficher Ó nouveau [1]


Choose the directory where you installed PeopleSoft, commonly known as
"PS_HOME":

Indiquez un nom de rÚpertoire ou cliquez sur EntrÚe.
[C:\app\psoft\hrms9]

Cliquez sur 1 pour Suivant, 2 pour PrÚcÚdent, 3 pour annuler ou 5 pour afficher
Ó nouveau [1]

SÚlectionnez le type d'installation le mieux adaptÚ Ó vos besoins.

[X] 1 - Oracle Application Server

[ ] 2 - BEA WebLogic Server

[ ] 3 - IBM WebSphere Server

Pour sÚlectionner une option, indiquez le numÚro correspondant ou 0, lorsque
vous avez terminÚ : [0]2

Entrez 0 pour poursuivre ou 1 pour faire une autre sÚlection : [0]

Cliquez sur 1 pour Suivant, 2 pour PrÚcÚdent, 3 pour annuler ou 5 pour afficher
Ó nouveau [1]


Select the web server root directory:

Indiquez un nom de rÚpertoire ou cliquez sur EntrÚe. [C:\Bea] C:\app\bea

Detected web server version: WebLogic 9.2.1

Cliquez sur 1 pour Suivant, 2 pour PrÚcÚdent, 3 pour annuler ou 5 pour afficher
Ó nouveau [1]


Please enter the administrator login and password for WebLogic domain.

Login ID:

[system]
Password:[password]

:

Re-type Password:[password]

:

Cliquez sur 1 pour Suivant, 2 pour PrÚcÚdent, 3 pour annuler ou 5 pour afficher
Ó nouveau [1]


Select domain type:


[X] 1 - Create New WebLogic Domain

Pour sÚlectionner une option, indiquez le numÚro correspondant ou 0,
lorsque vous avez terminÚ [0]:

Cliquez sur 1 pour Suivant, 2 pour PrÚcÚdent, 3 pour annuler ou 5 pour afficher
Ó nouveau [1]


Enter domain name or click Next to select default:

[peoplesoft]

Cliquez sur 1 pour Suivant, 2 pour PrÚcÚdent, 3 pour annuler ou 5 pour afficher
Ó nouveau [1]

Please select the configuration to install.

[X] 1 - Single Server Domain
[ ] 2 - Multi Server Domain
[ ] 3 - Distributed Managed Server

Pour sÚlectionner une option, indiquez le numÚro correspondant ou 0, lorsque
vous avez terminÚ : [0]


Cliquez sur 1 pour Suivant, 2 pour PrÚcÚdent, 3 pour annuler ou 5 pour afficher
Ó nouveau [1]


Please specify a name for the PeopleSoft web site:

Website name:

[ps] DMOHRMS9

Cliquez sur 1 pour Suivant, 2 pour PrÚcÚdent, 3 pour annuler ou 5 pour afficher
Ó nouveau [1]


Enter port numbers and summaries.

AppServer name:

[indus]

JSL Port:

[9000]

HTTP Port:

[80]

HTTPS Port:

[443]

Authentication Token Domain:(optional)

[]

Cliquez sur 1 pour Suivant, 2 pour PrÚcÚdent, 3 pour annuler ou 5 pour afficher
Ó nouveau [1]


Please enter the Name of the Web Profile used to configure the webserver. The
user id and password will be used to retrieve the web profile from the
database. (NOTE: Other available preset web profile names are "TEST", "PROD",
and "KIOSK".)

Web Profile Name:

[DEV]

User ID:

[PTWEBSERVER]

Password:[PTWEBSERVER]

:

Re-type Password:[PTWEBSERVER]

:
:
Cliquez sur 1 pour Suivant, 2 pour PrÚcÚdent, 3 pour annuler ou 5 pour afficher
Ó nouveau [1]


Select the Report Repository location:

Indiquez un nom de rÚpertoire ou cliquez sur EntrÚe. [c:\psreports] e:\psreports

Cliquez sur 1 pour Suivant, 2 pour PrÚcÚdent, 3 pour annuler ou 5 pour afficher
Ó nouveau [1]


Setup Type :

Web server root directory :

Web server version :

Web server domain :

Internet Architecture app name :

Integration Gateway app name :

PeopleSoft Business Interlink app name :

PeopleSoft Online Library Infrastructure :

Environment Management Hub :

Hello Portlet app name :

Portlet Container app name :

Testsuite app name :

Wsrptest app name :

Site name :

Authentication Token Domain :

Application server name :

JSL port :

HTTP port :

HTTPS port :

Report repository directory :

PIA webserver directory :

weblogic

C:\app\bea

9.2

peoplesoft

PORTAL

PSIGW

PSINTERLINKS

PSOL

PSEMHUB

helloportletapp

pspc

testsuite

wsrptest

DMOHRMS9


indus

9000

80

443

e:\psreports

C:\app\psoft\hrms9\webserv

Cliquez sur 1 pour Suivant, 2 pour PrÚcÚdent, 3 pour annuler ou 5 pour afficher
Ó nouveau [1]

[...]
BUILD SUCCESSFUL
Total time: 0 seconds


Deploy Completed. Click next to finish the install.

The InstallShield Wizard has successfully installed PeopleSoft Internet
Architecture. Choose Finish to exit the wizard.

Cliquez sur 3 pour terminer ou 5 pour afficher Ó nouveau [3]


9. Start you WebServer and enjoy with your front end application on XP
C:\app\psoft\hrms9\webserv\peoplesoft\bin>startPIA.cmd
[...]
Attempting to start WebLogic Server 'PIA'

starting weblogic with Java version:
java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode)
[...]
11 juin 2008 22 h 03 CEST Notice WebLogicServer BEA-000360 Server started in RUNNING mode
[...]


Lastly, in your favorite browser :

So, no issue on the installation of Application and Web servers. But once more, it is not supported.

Have fun,

Tuesday, June 03, 2008

Cube

Today, a question on the Oracle forum for a alternate query (here)

Coming from a bad design, find the sum of two columns, grouping by two others columns.
The first thing coming in mind is a subquery with a UNION ALL :
select dt, ccy, sum(amt) amt
from (select dt, ccy1 as ccy, amt1 as amt from a
union all
select dt, ccy2 as ccy, amt2 as amt from a)
group by dt,ccy;


Then, trying to avoid it :
select dt, decode(t,1,ccy1,2,ccy2) ccy, sum(decode(t,1,amt1,2,amt2)) amt
from a , (select 1 t from dual union select 2 from dual)
group by dt, decode(t,1,ccy1,2,ccy2);


As we can see in the thread, the UNION ALL (which implies 2 table scan) is more performant than 1 table scan (implies a cartesian product and DECODE usage).

Well, all was said, until the nice demo of CUBE usage by DimaCit, the query is now the following :
with X as (
select dt, ccy1, sum(amt1) amt1, ccy2, sum(amt2) amt2
from a
group by dt, cube(ccy1, ccy2)
)
select x1.dt, x1.ccy1, x1.amt1 + x2.amt2
from X x1, X x2
where x1.dt = x2.dt
and x1.ccy1 is not null and x1.ccy2 is null
and x2.ccy2 is not null and x2.ccy1 is null
and x1.ccy1 = x2.ccy2;


I have to say I never thought about CUBE() on those cases.
So, very nice query, a little bit tricky, and a very good point for the best performance !
A nice demo of CUBE usage. Thank to DimaCit

Addendum : the solution doesn't work if one of the currency is not in the other column, then the CUBE solution is no more a solution. Thanks to Dominic Brooksfor comment it out this point.