GIRI MANDALIKA's SCRATCHPAD

pageicon Saturday Jul 11, 2009

Oracle Business Intelligence : Workaround / Solution to "[46036] Internal Assertion" Error

Symptom:

When checking in changes to Oracle BI repository (RPD), Admintool fails with an error message:


[46036] Internal Assertion: Condition FALSE, file server/Utility/Generic/NQThreads/SUGThread.cpp, line 515

Solution / Workaround:

Edit <BI_HOME>/server/Config/NQSConfig.INI configuration file to increase the value of SERVER_THREAD_STACK_SIZE parameter. Replace the line SERVER_THREAD_STACK_SIZE = 0; with SERVER_THREAD_STACK_SIZE = 512 KB; and restart the Analytics server (SAS)

pageicon Monday May 18, 2009

Installing Siebel Web Extension (SWE) on top of Sun Java System Web Server 7.0

As of today, Sun Java System Web Server 7.0 is not a certified platform to deploy Siebel 8.0 enterprise on. We are working with Oracle Corporation to make this certification happen so our customers can take advantage of the performance optimizations that went into the web server release 7.0.

Meanwhile those who want to give it a try can do so with little effort. In release SJSWS 7.0, the start/stop/restart/.. scripts were appropriately relocated to bin directory under the virtual web server instance. The installer for Siebel 8.0 Web Server Extension looks for the start script [of the web server] under the home directory of the virtual web server instance. (because it was the default location until the release of SJSWS 7.0). The installation fails if the installer cannot find the start script in the location it is expecting it to be.

Due to the relocation mentioned above, installation of the Siebel Web Server Extension fails at the very last step where it tries to modify the start script with a bunch of LD_PRELOADs so the Siebel Web Extension loads up and runs on the Sun Java System Web Server. To get around this failure, all you have to do is to create a symbolic link in the home directory of the virtual web server instance pointing to the startserv script residing in the bin directory.

The following example shows the necessary steps.


% pwd
/export/pspp/SJWS7U5/https-siebel-pspp

% ln -s bin/startserv start

% ls -l start
lrwxrwxrwx   1 pspp     dba           13 May 17 17:01 start -> bin/startserv

Install Siebel Web Extension in the normal way. No other changes are required.

AFTER SWE INSTALLATION:


% ls -l start*
-rwxr-xr-x   1 pspp     dba         4157 May 17 17:38 start
-rwxr-xr-x   1 pspp     dba         3456 May 17 17:38 start_.bak

% mv bin/startserv bin/startserv.orig
% mv start bin/startserv

Notice that the Siebel installer actually made two copies of the startup script from the symbolic link. The original bin/startserv remained intact after the SWE installation.

Finally start the Web Server instance by running the startserv script. It should start with no issues.


% pwd
/export/pspp/SJWS7U5/https-siebel-pspp/bin

% ./startserv
Sun Java System Web Server 7.0U5 B03/10/2009 16:38
info: swe_init reports: SWE plug-in log file
info: CORE5076: Using [Java HotSpot(TM) Server VM, Version 1.5.0_15] from [Sun Microsystems Inc.]
info: HTTP3072: http-listener-1: http://siebel-pspp:8000 ready to accept requests
info: CORE3274: successful server startup

Before we conclude, do not forget the fact that Sun Java System Web Server 7.0 is not yet certified with Siebel 8.0 release. Use the instructions mentioned in this blog post at your own risk. However if you do like to take that risk, consider installing the latest release of Sun Java System Web Server, which is SJSWS 7.0 Update 5 as of this writing.

Stay tuned for the certification news though.

pageicon Friday May 01, 2009

Oracle E-Business Suite R12 Database Tier on Solaris 10 x64

The long wait for this certification is over. Oracle Corporation finally announced support for Solaris 10 x64 as the certified E-Business Suite platform for the database tier. Oracle E-Business Suite Release 12 (12.0.4) is now certified with Oracle Database Server 10g R2 version 10.2.0.4 on the 'database tier only' (previously known as 'split configuration' in 11i) platform Sun Solaris x86/64.

The following Metalink documents might be of interest to Sun-Oracle customers who are waiting for this certification to happen.

pageicon Sunday Dec 07, 2008

Is Oracle's PeopleSoft Really a Multi-Threaded Application?

Perhaps the answer to this question is irrelevant to many of the PeopleSoft end users - but I assume it is important for the administrators to know what kind of application they are dealing with.

Here is a snapshot of the process statistics (prstat output) for the PeopleSoft application server processes running on a Solaris 10 system:

   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP      
 10864 psft      353M  235M sleep   60   10   0:13:42 1.5% PSAPPSRV/11
 10855 psft      353M  235M sleep    2   10   0:13:55 1.5% PSAPPSRV/11
 10846 psft      353M  235M sleep    3   10   0:14:04 1.5% PSAPPSRV/11
 10870 psft      353M  235M sleep    0   10   0:13:50 1.5% PSAPPSRV/11
 10873 psft      353M  235M sleep    1   10   0:13:57 1.4% PSAPPSRV/11
 10852 psft      353M  235M sleep    0   10   0:13:57 1.4% PSAPPSRV/11
 10858 psft      353M  235M sleep   60   10   0:13:47 1.3% PSAPPSRV/11
 10849 psft      349M  231M cpu0    20   10   0:13:55 1.3% PSAPPSRV/11
 10867 psft      353M  235M sleep   60   10   0:13:53 1.3% PSAPPSRV/11
 10861 psft      349M  231M sleep   60   10   0:13:56 1.2% PSAPPSRV/11

Notice the number of LWPs (represented by NLWP in the snapshot) that are associated with each of those PSAPPSRV processes. Just by looking at the above snapshot, one may under the impression that the PSAPPSRV (PeopleSoft Application Server process) is a multi-threaded process because it appears that there are 11 worker threads actively processing the user requests.

To dig a little deeper, prstat utility on Solaris provides the ability to check the statistics for each of the light-weight processes (LWPs) that are associated with a process (here I'm assuming that the intended audience can differentiate a process from a light-weight process). With the help of -L option of the prstat, Solaris reports the statistics for each LWP that is associated with a given process. Let's have a close look at those stats.

  PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/LWPID
10864 psft      353M  235M cpu32    0   10   0:01:37 1.5% PSAPPSRV/1
10864 psft      353M  235M sleep   59    0   0:00:00 0.0% PSAPPSRV/11
10864 psft      353M  235M sleep   29   10   0:00:00 0.0% PSAPPSRV/10
10864 psft      353M  235M sleep   28   10   0:00:00 0.0% PSAPPSRV/9
10864 psft      353M  235M sleep   28   10   0:00:00 0.0% PSAPPSRV/8
10864 psft      353M  235M sleep   59    0   0:00:00 0.0% PSAPPSRV/7
10864 psft      353M  235M sleep   59    0   0:00:00 0.0% PSAPPSRV/6
10864 psft      353M  235M sleep   51    2   0:00:00 0.0% PSAPPSRV/5
10864 psft      353M  235M sleep   59    0   0:00:00 0.0% PSAPPSRV/4
10864 psft      353M  235M sleep   29   10   0:00:00 0.0% PSAPPSRV/3
10864 psft      353M  235M sleep   59    0   0:00:00 0.0% PSAPPSRV/2

Notice all the PIDs in the first column. That's right - it is the same pid, 10864, across different lines. It confirms that the above snapshot is the process stats breakdown by LWPs for a given process. Now check the output under the TIME column. That column represents the cumulative execution time for the process -- LWP, in this case. Except for the LWP #1, the exec time for rest of the LWPs is zero i.e., even though the PSAPPSRV process spawned 10 more LWPs, in reality, they are not doing any work at all. When I tried to find the reason {from my counterpart at Oracle Corporation} for the creation of multiple LWPs, I was told that the multiple LWPs are a side effect of loading JRE(s) into the process address space during the run-time. Also it appears that the PeopleSoft application server processes (PSAPPSRV) can process only one user request (transaction) at a time. It is the limitation of the PeopleSoft Enterprise by design.

So the bottomline is: PeopleSoft application server processes (PSAPPSRV) are not multi-threaded even though they appear to be multi-threaded from the operating system perspective.

Before we conclude, be aware that the discussion in this blog post applies only to the PeopleSoft application server processes, PSAPPSRV. You cannot generalize it to the whole PeopleSoft Enterprise. For example, application engine processes (PSAESRV) that run under the control of the Process Scheduler are actually multi-threaded processes. However expanding the discussion around Process Scheduler/Application Engine is beyond the scope of this blog post.

Acknowledgements:
Sanjay Goyal

(Originally posted on blogger at:
http://technopark02.blogspot.com/2008/03/is-peoplesoft-really-multi-threaded.html)

« November 2009
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
       
Today

Feeds

Search this blog

Links

Weblog menu

Today's referrers

Today's Page Hits: 160