Wednesday, June 22, 2011

Downloading of Patches Via BEA Smart Update no more supported

You need to apply a one-off patch to Weblogic. You run the bsu.sh script and try launching the BEA Smart Update. The Smart Update on launch recommends for an update. You go ahead and update it. The Smart Update now restarts and the you see the version of the utility to be 3.3.0.0. Yo try to find the Download patch tab, but surprisingly don't find it! You restart the BSU and wonder what went wrong!

Do not worry!

Smart Update patch and patch set download capability has been decommissioned by Oracle since June 10, 2011.Oracle says to better coordinate the distribution of patches to Oracle customers, they would consolidate on My Oracle Support as the single source for patch delivery([Metalink ID 1294294.1] ).

Hence you would now  need to download the Weblogic one-off patches from metalink from the patches and Updates section using your metalink ID.

How to Locate and Download Patches for WebLogic Server Using My Oracle Support
  1. Log onto My Oracle Support.
  2. Click on the "Patches & Updates" tab.
  3. Click on "Product or Family" (Advanced Search)
  4. For the "Product is" choose Oracle WebLogic Server.
  5. For the "Release is" choose the WebLogic Server releases you want to search on
  6. For "Description contains" type in your Smart Update Patch ID (in this case 8DNU)
  7. Hit Search.
For step by step screen shots on how to download WLS patch please follow metalink note: 

Master Note: How to Locate and Download Patches for WebLogic Server Using My Oracle Support [ID 1302053.1]

Also you can refer to
WebLogic Net Installers and Downloading of Patches Via Smart Update To Be Decommissioned [ID 1294294.1] 

 Sanjay...






Tuesday, June 21, 2011

java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) error


Applies to:

Oracle Weblogic Server - Version: 10.3 to 10.3.3
Information in this document applies to any platform.

Symptoms

A stateless session bean (SLSB) is deployed in WebLogic 10.3.0. The SLSB only has one bean instance in the pool (max-beans-in-free-pool=1and initial-beans-in-free-pool=1).
After several hours and with over 100000 incoming requests the bean instance goes into waiting state.
Since there is only one bean instance in the pool, this effectively hangs all incoming calls.

The thread dump shows the bean instance goes into waiting state:
"[ACTIVE] ExecuteThread: '13' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0149e600 nid=48 lwp_id=5603464 waiting on condition [6c240000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <89861118> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2054)
at weblogic.ejb.container.pool.StatelessSessionPool.waitForBean(StatelessSessionPool.java:269)
at weblogic.ejb.container.pool.StatelessSessionPool.getBean(StatelessSessionPool.java:111)
at weblogic.ejb.container.manager.StatelessManager.preInvoke(StatelessManager.java:148)
at weblogic.ejb.container.internal.BaseRemoteObject.preInvoke(BaseRemoteObject.java:227)
at weblogic.ejb.container.internal.StatelessRemoteObject.preInvoke(StatelessRemoteObject.java:52)
at com.tetrapak.ppm.external.xml.bean.UMGMessageLogFacade_n73y0z_EOImpl.isMachineValid(UMGMessageLogFacade_n73y0z_EOImpl.java:261)
at com.tetrapak.ppm.external.xml.bean.UMGMessageLogFacade_n73y0z_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

Changes

None.

Cause

This is a known issue.
java.util.concurrent.locks.Condition.await(txTimeOutMS, TimeUnit.MILLISECONDS) is called by all threads except one thread (Thread A) which has got the bean from the pool.
When Thread A releases the bean, it acquires lock and call Condition.signal() which should wake up one waiting thread. But, none of thread actually comes out of waiting state unless one of the waiting thread times out and throw RuntimeException.

Solution

To implement the solution, please execute the following steps:
1. Download and install the patch using Smart Update
    Pass ID: QE7V
    Passcode: T5QP1CXU

2. Ensure that you have taken a backup of your system before applying the recommended patch.

3. Apply the patch in a test environment.

4. Retest the issue.

5. Migrate the solution as appropriate to other environments.

References


WLS 10.3.0 - Waiting For Available Stateless Bean Instance [ID 1086380.1]



Now you can folow us on facebook and post your comments/views and questions for expert advise. Check this out facebook


Find us on facebook here

Sunday, June 5, 2011

Weblogic Server Development Mode Vs Production Mode


While configuring any Weblogic domain the there are two modes the domain can be configured with.
- Development Mode
- Production Mode

The question is how to decide which mode to use:
Let’s say you are developing your applications. The process will involve multiple redeployments to the server. In this case you would wish for a relaxed security configuration on the server. Also you would wish for features like auto deployment of your code. In such scenarios use the Development Mode.

Now consider you got your application working right, ready to go live. In this mode you would definitely wish for a full fledged security. Consider using the Production Mode here.
The differences between the two modes are stated below:

1.       SSL
In development mode you can use the demonstration digital certificates and the demonstration keystores provided by the WebLogic Server security services. With these certificates, you can design your application to work within environments secured by SSL where as in Production Mode you should not use the demonstration digital certificates and the demonstration keystores. If you do so, a warning message is displayed.

2.       Application Deployment
In Development Mode WebLogic Server instances can automatically deploy and update applications that reside in the domain_name/autodeploy directory (where domain_name is the name of a domain) where as in Production Mode the auto-deployment feature is disabled, so you must use the WebLogic Server Administration Console, the weblogic.Deployer tool, or the WebLogic Scripting Tool (WLST).
3.   
     Lock And Edit Feature
In Development Mode any configuration change being done by a user doesn’t need him to take a Lock and Edit session, where as in Production Mode the user needs to procure a Lock and Edit session before trying to make any configurational changes.

Important Considerations:

ü  It is recommended that this method be used only in a single-server development environment.
ü  You can always switch the domain startup mode from Development to Production and Vice Versa
ü  Oracle recommends usage of JRockit instead of Sun JDK in Production Mode. This recommendation depends on platform on which your domain runs. For platforms like Solaris SunJDK is recommended even in Production Mode. JRockit works well on OEL/Red hat Linux platforms.


Now you can folow us on facebook and post your comments/views and questions for expert advise. Check this out facebook

Find us on facebook here

Monday, May 16, 2011

Oracle Fusion Middleware 11.1.1.5 and Patchset 4 Released

Applies to:
Oracle Fusion Middleware - Version: 11.1.1.1.0 and later   (Release and later )


What is being announced?

Oracle Fusion Middleware 11g Release 1 (11.1.1.5.0) and Patch Set 4 (11.1.1.5.0) offers a wide range of additional features, new and planned certifications, Exalogic validations, performance improvements and an array of bug fixes. In addition, release 11.1.1.5.0 is the core stack for Oracle Fusion Applications.

Oracle Fusion Middleware 11g Release 1 (11.1.1.5.0) has been released to Oracle Technology Network (OTN), My Oracle Support (MOS), and Oracle e-Delivery systems


Products Included

Oracle Fusion Middleware11g R1 (11.1.1.5.0) has been made available for the following products:

  • Oracle WebLogic Server 11g R1 (10.3.5)
  • Oracle Fusion Middleware Repository Creation Utility 11g R1 (11.1.1.5.0)
  • Oracle SOA Suite 11g R1 (11.1.1.5.0)
  • Oracle WebCenter 11g R1 (11.1.1.5.0)
  • Oracle Identity Management 11g R1 (11.1.1.5.0)
  • Oracle Fusion Middleware Web-Tier Utilities 11g R1 (11.1.1.5.0)
  • Oracle JDeveloper 11g R1 (11.1.1.5.0)
  • Oracle Application Development Runtime 11g R1 (11.1.1.5.0)
  • Oracle Application Development Framework 11g R1(11.1.1.5.0) 
  • Oracle Enterprise Content Management 11g R1 (11.1.1.5.0)
  • Oracle Enterprise Repository 11g R1 (11.1.1.5.0)
  • Oracle Business Process Management Suite11g R1 (11.1.1.5.0)
  • Oracle Application Integration Architecture Foundation Pack 11g R1 (11.1.1.5.0)
  • Oracle Service Bus 11g R1 (11.1.1.5.0)

What are the bug Fixes that come with the new release?


The following provides the list of bug fixes included with version 11.1.1.5.0 for Oracle Fusion Middleware 11g:
Note 1302753.1 Fixed Bugs List - Oracle WebLogic Server 10.3.5
Note 1316062.1 Fixed Bugs List - Patch Set 4 (11.1.1.5.0) for Oracle Fusion Middleware 11g


New Certifications
The following are new supported configurations which will be made available with the Oracle Fusion Middleware 11g 11.1.1.5 release:
  • Google Chrome 10
  • Oracle Fusion Applications support: FMW 11.1.1.5.0 is the base release for use with all Fusion Application products.
  • Exalogic validation: Many of FMW 11.1.1.5.0 products have been validated on Exalogic.

What do you need to do?

Customers are encouraged to review the new release with this document and update Oracle Fusion Middleware (FMW) environments according to availability and business needs. Below are general recommendations followed by more specific recommendations
General Recommendations
  • Review all product changes, fixed bugs, and new features provided within this document to see how this release may or may not impact your installation(s).
  • FMW 11.1.1.2 customers should update to the latest release because the Grace Period for Error Correction Support has ended. (See Note 1290894.1)
  • FMW 11.1.1.3 customers are encouraged to update to the latest release to obtain bug fixes and new features.
  • FMW 11.1.1.4 customers are encouraged to review 11.1.1.5 product changes and availability in accordance with their business requirements.
  • Before installing or upgrading to Oracle WebLogic 10.3.5, check that your Oracle Fusion Middleware 11g products are available for version 11.1.1.5 in order to remain on a certified configuration.

Getting Started

See the following as a very important starting point, which provided all download links and instructions to plan across your topology considering all starting points and installation type considerations:
http://download.oracle.com/docs/cd/E23104_01/download_readme_ps4/download_readme_ps4.htm
The following are key documents within the Documentation Library which have more specific 11.1.1.5 information or guidance during the installation or patching process:
 http://download.oracle.com/docs/cd/E21764_01/relnotes.htm


Oracle Fusion Middleware Patching Guide 11g Release 1 (11.1.1)
3 Applying the Latest Oracle Fusion Middleware Patch Set
[ http://download.oracle.com/docs/cd/E17904_01/doc.1111/e16793/patch_set_installer.htm#PATCH207 ]

New Documentation Library

http://download.oracle.com/docs/cd/E21764_01/index.htm


More Information 


The following is previously released documents which may also help during your Oracle Fusion Middleware 11g planning activities:
Note 1073776.1 Steps to Maintain Oracle Fusion Middleware 11g (11.1.1)
Note 858748.1 Oracle Fusion Middleware 11g - Getting Started FAQ
Note 1073206.1 Upgrade Planning for Fusion Middleware 11g - FAQ

References:



Announcing Oracle Fusion Middleware 11g Release 1 (11.1.1.5.0) [metalink ID 1316076.1]



Now you can folow us on facebook and post your comments/views and questions for expert advise. Check this out facebook

Find us on facebook here

Thursday, April 28, 2011

Configure SOA Suite 11g for sending email notifications

One of the ways of the SOA Suite 11g for communicating with the outside world – apart of course from web service calls and interaction via technology adapters – is through the new User Messaging Service (UMS), a facility installed in the SOA Domain during installation of the SOA Suite. The UMS enables two-way communication between users (real people) and deployed applications. The communication can be via various channels, including Email, Instant Messaging (IM or Chat), SMS and Voice. UMS is used from several components in Fusion Middleware, for example BPEL, Human Workflow, BAM and WebCenter and can also be used from custom developed applications.

Prerequisites

Before you can apply this article, you need to have installed the SOA Suite 11g, configured the SOA Domain and have the AdminServer and the SOA Server running. You also need access to the Oracle Enterprise Manager Fusion Middleware Control Console.

Step 1: Configure the UMS Email Driver

The User Messaging Service comes with a number of drivers that each handle traffic for a specific channel. One of the drivers controls the email channel. This driver needs to be configured with the properties of the Mail Server and the email account from which emails are sent.

Go to the Oracle Enterprise Manager Fusion Middleware Control Console (typically http://hostname:8100/em) and open the User Messaging Service node. From the drop down menu in the right hand pane, select the option Email Driver Properties:

The properties that need to be configured for sending emails are indicated in the red rectangle. They are:
·         OutgoingMailServer –  (Get in touch with the messaging team in your organization)
·         OutgoingMailServerPort – (Get in touch with the messaging team in your organization)
·         OutgoingMailServerSecurity – (Get in touch with the messaging team in your organization)
·         OutgoingDefaultFromAddress – stgsoa3@inetmail.emrsn.net (stgsoa3 is my instance name. you can put any thing you like.)
·         OutgoingUsername –  (Get in touch with the messaging team in your organization)
·         OutgoingPassword –  (Get in touch with the messaging team in your organization)


Press Apply.
 Step 2: Configure the SOA Suite Workflow Notification properties
To make sure that (email) notifications are really sent to the email server, we also need to adjust a setting for the SOA Suite Workflow Notification. Navigate to the properties form via the dropdown menu for SOA Infrastructure, under SOA Administration:


The Workflow Notification Properties are shown. Only one is really important at this point: the Notification Mode (default value is None) must be set to either All or Email, otherwise any notification is not really sent onwards by the SOA Suite to UMS!


Click on Apply

Now restart the SOA Managed Server. If you don’t restart the managed server the email notification doesn’t work!

Ask developers to test if sending emails works. 

For setting email notifications using gmail please follow:



Now you can folow us on facebook and post your comments/views and questions for expert advise. Check this out facebook


Find us on facebook here









Monday, April 4, 2011

Load/Stress test your Oracle HTTP Server with Apache Benchmark (AB Tool)


Most of the times you take all that time to build your server, host your application on to it and then the management comes up to ask you how many concurrent users can it support? The answer to this question is the key to how your application is goanna perform in the production when its accessed by multiple users simultaneously. How good it is to have a simulator to simulate say n number of concurrent users and you could go ahead and test your app then. IN this post I will be showing how to use the AB tool to simulate n number of concurrent users and how you would use it to load test your web server/application hosted on it.Often you need solid metrics on the performance of your web application. Benchmarking your website can provide insight into which sections of your application might need major optimizations, and helps in dealing with scalability issues.

Since Oracle Web Server uses Apache HTTP Server internally we can use the ab tool to load test it.
In our setup the B2B trading partner link was supposed to be accessed through the Oracle Web Server (OHS 11g). The management needed to test the web server in terms of number of concurrent users it could service at any given point of time. I did a bit of research to find out tools which I could use to load/stress test the Web server servicing the HTTP requests. Though there were lot many tools available for testing the Web server I zeroed in on the ab tool from Apache and the more convincing one Apache JMeter (to be discussed in later posts).
Though you can also evaluate other tools like the Oracle Load Testing Tool, Apache tools like JMeter,AB were quite simple to use and above all are free! In this post I would show you how to use the Apache AB(Apache Benchmarking ) tool to load test your web server/web application. Apache Bench, or ‘ab’, is a command line load testing utility which ships with Apache, and allows you to simulate load on a web server. In this tutorial, I’ll show you how to get started with ab

Step 1: Install Apache on local Machine (Your Laptop/Desktop from where you would be accessing your application)
  1. Download Windows Apache (httpd-2.0.64-win32-x86-no_ssl) from  http://mirror.nyi.net/apache/httpd/binaries/win32/
  2. Intall Apache by double clicking the installer (Install Path: C:\APACHE\)
Step 2: Load test your Web Server/Application:
  1. Go to directory: C:\APACHE\Apache2\bin and Issue below Command:



In the above example, I'm sending 100 requests in total to B2B server, 20 concurrently:



As you can see, there are various things returned, including latency times, document length, and most importantly how response times are distributed. A few remarks/tips apply to the usage of this tool:


Above command will have 10 concurrent users for 60 s with as many hits as possible, by default .When you don’t use the -n option, ab sets to default 50,000.



You can also use a -g option to get the output on a txt file to use for gnuplot. Sample Output below:

starttime                          seconds      ctime dtime ttime wait
Sat Apr 02 14:57:51 2011      1301736471009140  403   3649  4052  3649
Sat Apr 02 14:57:51 2011      1301736471412870  403   3246  3649  3245
Sat Apr 02 14:57:51 2011      1301736471816601  419   2826  3245  2826
Sat Apr 02 14:57:52 2011      1301736472235860  403   2423  2826  2422
Sat Apr 02 14:57:52 2011      1301736472639590  388   2034  2422  2034
Sat Apr 02 14:57:53 2011      1301736473027793  419   1615  2034  1614
Sat Apr 02 14:57:53 2011      1301736473447051  403   1211  1614  1211
Sat Apr 02 14:57:53 2011      1301736473850782  388   823   1211  822
Sat Apr 02 14:57:54 2011      1301736474238984  419   481   900   481
Sat Apr 02 14:57:54 2011      1301736474658243  403   435   838   434

 Usage: ab [options] [http[s]://]hostname[:port]/path
Options are:
    -n requests     Number of requests to perform
    -c concurrency  Number of multiple requests to make
    -t timelimit    Seconds to max. wait for responses
    -p postfile     File containing data to POST
    -T content-type Content-type header for POSTing
    -v verbosity    How much troubleshooting info to print
    -w              Print out results in HTML tables
    -i              Use HEAD instead of GET
    -x attributes   String to insert as table attributes
    -y attributes   String to insert as tr attributes
    -z attributes   String to insert as td or th attributes
    -C attribute    Add cookie, eg. 'Apache=1234. (repeatable)
    -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip'
                    Inserted after all normal header lines. (repeatable)
    -A attribute    Add Basic WWW Authentication, the attributes
                    are a colon separated username and password.
    -P attribute    Add Basic Proxy Authentication, the attributes
                    are a colon separated username and password.
    -X proxy:port   Proxyserver and port number to use
    -V              Print version number and exit
    -k              Use HTTP KeepAlive feature
    -d              Do not show percentiles served table.
    -S              Do not show confidence estimators and warnings.
    -g filename     Output collected data to gnuplot format file.
    -e filename     Output CSV file with percentages served
    -h              Display usage information (this message)
    -Z ciphersuite  Specify SSL/TLS cipher suite (See openssl ciphers)
    -f protocol     Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL)
Repeat above command 3-5 times and save the best reading.

If you need to study more the AB tool please refer to :


For Apache HTTP Server Tuning


Other tools recommended by me:


Hope this articles help. Awaiting your comments...
Soumya





Sunday, April 3, 2011