Solved

OAS 3.0: maximum number of interrupt handlers exceeded ?

Posted on 2001-08-25
9
444 Views
Last Modified: 2008-02-20
Hello,

I am doing a stress test to OAS 3.0 (NT 4.0 Enterprise SP5), using LoadRunner 6.5. When I attempt to put 70 users to login the Web page (through a PL/SQL cartridge, DAD on a remote Database).  It failed and I found errors in "wrb.log":

'PLSQL Cartridge' 546 0 0x800ff `OWS-05104: Unable to attach to host database: [/ora/805], [xxxsid], [xxxsid.world]'
'PLSQL Cartridge` 648 1 0x400ff `ORA-00568: Maximum number of interrupt handlers exceeded'

Then I can't reach the Web page through the URL, with following error shown on the browser :
Request Failed
Error occured while accessing "/test/plsql/login" at <Date>
OWS-05100: Unable to connect due to Oracle error 568
PLSQL Cartridge: test
PROCEDURE: login
Please try again later

The only way I can access the URL again is to stop and start the Oracle Services in "Services" of Control Panel.

I have already set the maximum no of instance (WRB parameters for (PL/SQL) to 1000000 (min. no is 0).  And the maximum connect count (www in Oracle Web Listener) to 338. But it doesn't work.

It seems okay when I put only one or two users loop running in 10 minutes.

I doubt that I need to config some more parameters for hundreds of users. Does it exist any limitations ? Or is it a SQLnet problem from the Web Server (NT) to the remote database (Oracle 8.0.5 on AIX) ?



Any help is highly appreciated.

Regards,
Siuchi
0
Comment
Question by:siuchi
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 3

Expert Comment

by:UsamaMunir
ID: 6424942
Its just a Guess, probably ur database is in MTS mode and the number of dispatchers and servers is not enough to support that much of users, its just a guess, u can probably check into that!

till that time, i will see if i can come up w/ any detailed reply

Regards
UsamaMunir
0
 

Author Comment

by:siuchi
ID: 6426144
I am not sure the MTS mode of the database but the database has been stressed for large amount of users before.  So I think the problem should be on the OAS side

I am thinking if somehting wrong with LoadRunner as it return error on getting the gif file from the first page (No stored procedure or database action called, one action to call the URL only, stress for 180 users).

Or too much access on the virtual directory (/ows-img) will return error from OAS ?

Thanks your comment.  This is my first time to use the Expert advice and happy to receive your reply so fast ^_^

Regards,
Siuchi




0
 
LVL 3

Expert Comment

by:graf27
ID: 6427660
OAS latest version is 4.0.8.2. I removed OAS 3.0 a long time before. Now we are using IAS because we dont't need the C++ Cardrigde. All other Cardridges ar implementet to the IAS.

I know, you can configure the min-instances and max-instances of your PL/SQL-Cardridge-Servers. The meaning is, you can startup i.E. 10 Services for PL/SQL as minimun and you have immediatly response for  10 requests at the same time (exactly the same time). Are more services needed (there are more requests at the exactly same time), than the OAS first must start more services. OAS needs for basic working CORBA-Technics, which needs a lot of resources.

And: One Service can start a lot of instances. So if you configure i.E. 10 Servers and 10 Services as minimum, than there are starting 100 Processes at the first time.

If you dont need the C++, JCorba Cardridges, than you must upgrade to IAS. For PL/SQL-Cardridge its easy to do. Than you have a supported version of Apache-Listener (and not the OAS-Oracle-Listener) and a good ORACLE-Implementation of PL/SQL-Cardridge.

If you must use the OAS please verify:

$ORACLE_HOME/admin/ows/<version>/wrb/wrb.app  (where <version> is your version-name).

[SYSTEM_xx/xx]                        ( your DAD-Config)
Stateless          = FALSE
ThreadSafe         = no
Prestart                = 2                 (start up 2 Server )
MinInstances       = 0                
 MaxInstances       = 10          
MinThreads         = 1                 (and for every Server, 1 Service )
MaxThreads         = 1
DisplayName        = "yourDAD"
Application        = yourApp
Priority           = high
;



[SYSTEM_yourDAD]     ( sorry this is OAS 4.xx header but for 3.0 its anything like )



To change to IAS:

http://otn.oracle.com/software/products/ias/content.html   (option 3)
0
 

Author Comment

by:siuchi
ID: 6439408
Thanks your comments.

The wrb.app does not have the above parameters for me to configure ...

By the way, actually set up 2 DAD and 2 PLSQL cartridge,

Remote Database A -> DAD A -> PLSQL A
Remote Database B -> DAD B -> PLSQL B

However, when I access URL for PLSQL A, I trace the listener.log of Database B.  I found something like the connection to Database B.

30-AUG-01 14:01:42 * (CONNECT_DATA=(SID=dbB_sid)(GLOBAL_NAME=dbB.world)(CID=(PROGRAM=wrbc.exe)(HOST=WEBSERVER)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp
)(HOST=136.136.XX.XX)(PORT=1760)) * establish * dbB_sid * 0

It seems that it create another process to Database B.

Is there a control point on OAS that allow DAD A to use DB A only ?

I think it may be the cause of the internal server of my web site.

Regards,
Siu Chi






0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 3

Expert Comment

by:graf27
ID: 6439507
Ok, now I read a 3.0 Docu.
The architecture is:

Listener -> Web Request Broker (WRB) -> DAD -> Database

The WRB can be configured separately and has a section "Application and Objects" where you can configure each use of a DAD.

App: name of the DAD
Object Path: Phys.Path to the cardridges shared library (used for 3 part.)
Entry Point: Routine Name of the shared lib for the cardridge
Min: Mininum of execution Engines (WRBX).
Max: Maximum of concurrently running engines
Thread: select T (thread) or P (process) model.

Here you can configure in a 3.0 configuration the min/max  number of your  servers and/or threads.

I dont found anything about your 2. question.
I allways worked with more listeners and more DADs on the same host. So, I have undestood the architecture :

Listener A  can use WRBs on different hosts
WRB can use different DADs
DADs can use the  DB-connection where the PL/SQL Procedures resides.

So it must be possible to configure different DADs for different hosted databases. In DAD-configuration you can select the TNS-name for the connection (you must specify this also for local connection).

Related to your calling URL, where the DAD is included, only this DAD-connection can be used.

It participates urgently recommended for upgrading to 9 IAS.
0
 

Author Comment

by:siuchi
ID: 6451251
Thanks again.  I have difficult in the settings of "Application and Objects" as you stated.  I don't know what is the object path and entry point of a DAD. And process or thread model should be used.

I follow the settings of the PLSQL cartridge (in the same table) but the problem happens agains, OAS lose the DAD connections and I have to restart the services again.

In conclusion, I think problems might falls in
a) OAS setttings (not well defined)
b) SQLnet (found problems to connect to DB in sqlnet.log)
c) Too many calls of stored procedure causes problems on the PLSQL Cartridge. Or it causes too many DB connections and I have to tune parameters like timeout ?

The decision to upgrade 9 ias is not on my side.  My boss won't spend more money ...

Regards,
Siu Chi

0
 

Author Comment

by:siuchi
ID: 6462806
Hello,

Some findings :

I observed an adnormal behaviour in one of the Oracle web server processes - "wrbc.exe".  It seems that this process did not release resources out.  Memory used by it grows continuiously when only 20 Loadrunner users are running.  When memory size stops growing, we can no longer connect to the login page.

Further tests on the 2 parameter suggested by Oracle Support (min. and max. of PLSQL cartridge instance) and memory allocation pattern of wrbc.exe reveals that a proportional relationship between them.  The larger the value for min. PLSQL cartridge instance, the more memory allocated to wrbc.exe initially.  The larger the value for max. PLSQL cartridge instance, the more the memory wrbc.exe can aquire.

1. Min. 50, Max 200
Initially memory allocated to wrbc.exe : 21M
Final memory allocated (not growing anymore) : around 42M
>>> cannot connect to the web server, no response, timeout from browser finally

2. Min. 50, Max 2000
Initially memory allocated to wrbc.exe : 21M
Final memory allocated : > 90M
>>> we didn't know what the final value will be, as another error on connection to DB occurred.  We have encountered this before.

3. Min 50, Max 100
Initially memory allocated to wrbc.exe : 21M
Final memory allocated (not growing anymore) : around 33M
>>> cannot connect to the web server, no response, timeout from browser finally

It seems to us that the value for max. PLSQL cartridge set an upper bound for the memory level of wrbc.exe, once this upper bound is reached (assume other resouces still not reach the max. boundary), the server went down.  Now the problem is why there is a continuous increase in memory allocated to wrbc.exe even there is no increase in number of connected users and each users login and logout alternatively

Any comments are highly apprecialted !!

Regards,
Siu Chi
0
 
LVL 1

Expert Comment

by:Moondancer
ID: 7034737
Please update and finalize this old, open question.  Please:

1) Award points ... if you need Moderator assistance to split points, comment here with details please or advise us in Community Support with a zero point question and this question link.
2) Ask us to delete it if it has no value to you or others
3) Ask for a refund so that we can move it to our PAQ at zero points if it did not help you but may help others.

EXPERT INPUT WITH CLOSING RECOMMENDATIONS IS APPRECIATED IF ASKER DOES NOT RESPOND.

Thanks,
Moondancer - EE Moderator

P.S.  Please click your Member Profile, expand View Question History to navigate and update all your open and locked questions.
0
 
LVL 1

Accepted Solution

by:
Moondancer earned 0 total points
ID: 7057490
Zero response, thus finalized.
200 points refunded, item closed.
Moondancer - EE Moderator
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Working with Network Access Control Lists in Oracle 11g (part 1) Part 2: http://www.e-e.com/A_9074.html So, you upgraded to a shiny new 11g database and all of a sudden every program that used UTL_MAIL, UTL_SMTP, UTL_TCP, UTL_HTTP or any oth…
How to Create User-Defined Aggregates in Oracle Before we begin creating these things, what are user-defined aggregates?  They are a feature introduced in Oracle 9i that allows a developer to create his or her own functions like "SUM", "AVG", and…
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now