Showing posts with label weblogic. Show all posts
Showing posts with label weblogic. Show all posts

15 June 2018

Threads

What is Thread?
A thread is a single sequential flow of control within a program.

What is Stuck Thread?
A Stuck Thread is a thread which is processing a request for more than maximum time that you
configured in admin console.

How to deal with Stuck Thread?
Take multiple thread dumps immediately.
Review thread dumps or from console (managed server > monitoring > threads).
See how many threads got stuck?
If the stuck thread count is increasing or constant?
If constant then if got stuck on same area (application code etc ) or at different places ?
If getting increase then there would be some serious problem and you have to do a quick health check of you application server, database and other integrated technologies wherever your application reaching like ldap server for authentication, some other API’s or web services etc, and in parallel review thread dumps for stuck threads and share same with your developers to analyze quickly.
If you have one, two or few constant stuck  threads and it’s not increasing then you can monitor it for some more time to check if they get clear or not, if not then to clear them you have only option to restart your managed server(s), and its better to restart and clear them before they make further any impact.

What is Hogging Thread? 
 A hogging thread is a thread which is taking more than usual time to complete the request and can be declared as Stuck .

How Weblogic determine a thread to declare as hogging?
A thread declared as Stuck if it runs over 600 secs (default configuration which you can increase or decrease from admin console).
There is an internal WebLogic polar which runs every 2 secs (by default 2 secs and can be alter)
It checks for the number of requests completed in last two minutes
Then it check how much times each took to complete
Then it takes the average time of all completed request (completed in last 2 sec)
Then multiply average time with 7, and the value came consider as “usual time to complete the request”
Now weblogic check each current executed thread in last 2 secs and compare with above average time, if for any of the thread it’s above this value then that thread will declare as Hogged thread.
For example –
At a particular moment, total number of completed requests in last two seconds – 4
Total time took by all 4 requests – 16 secs
Req1 took – 5 secs, Req2 took – 3 secs, Req3 took – 7 secs, Req4 took – 1 sec
Average time = 16/4 = 4 secs
7*4 = 28 secs
Now weblogic check all executed threads to see which taking more than 28 secs, if any then that thread(s) declared as Hogged Thread.
Only the thing you can change with respect to hogging threads configuration is Polar time (Stuck Thread Timer Interval parameter)which is 2 secs by default. You can change this polar value to some different value like 4 secs if you want polar to run in every 4 secs instead of 2 secs.

03 September 2015

Installing WebLogic 12.1.3 without GUI

There are multiple ways to install and configure WebLogic, one of them is doing in Silent mode


Here I tried to document the steps with v12.1.3, but can be followed with any release of 12c by simply changing the product version.

STEP 1:  Download the generic jar and java

                I am using - fmw_12.1.3.0.0_wls.jar

                with           - jdk-7u45-linux-x64.tar.gz


STEP 2:  Create the response file as below:

 wls.rsp

[ENGINE]

#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0

[GENERIC]

#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/apps/weblogic/12.1.3

#Set this variable value to the Installation Type selected. e.g. WebLogic Server, Coherence, Complete with Examples.
INSTALL_TYPE=WebLogic Server

#Provide the My Oracle Support Username. If you wish to ignore Oracle Configuration Manager configuration provide empty string for user name.
MYORACLESUPPORT_USERNAME=

#Provide the My Oracle Support Password
MYORACLESUPPORT_PASSWORD=

#Set this to true if you wish to decline the security updates. Setting this to true and providing empty string for My Oracle Support username will ignore the Oracle Configuration Manager configuration
DECLINE_SECURITY_UPDATES=true

#Set this to true if My Oracle Support Password is specified
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

#Provide the Proxy Host
PROXY_HOST=

#Provide the Proxy Port
PROXY_PORT=

#Provide the Proxy Username
PROXY_USER=

#Provide the Proxy Password
PROXY_PWD=

#Type String (URL format) Indicates the OCM Repeater URL which should be of the format [scheme[Http/Https]]://[repeater host]:[repeater port]
COLLECTOR_SUPPORTHUB_URL=

STEP 3:  Create  ora Installation  as below:
oraInst.loc

inventory_loc=/apps/weblogic/

inst_group=inetsupp

STEP 4:  Execute the below command accordingly:
$ /jdk1.7.0_45/bin/java -jar fmw_12.1.3.0.0_wls.jar -silent -responseFile /apps/weblogic/wls.rsp -invPtrLoc /apps/weblogic/oraInst.loc -debug
Launcher log file is /tmp/OraInstall2015-09-03_11-06-10PM/launcher2015-09-03_11-06-10PM.log.
Extracting files.............
Starting Oracle Universal Installer
.
.
Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2015-09-03_11-06-10PM
Command line arguments:
Arg:0:/apps/java/jdk1.7.0_45/bin/java
.
.
Verifying data......
Copying Files...
You can find the log of this install session at:
/tmp/OraInstall2015-09-03_11-06-10PM/install2015-09-03_11-06-10PM.log
-----------20%----------40%----------60%----------80%--------100%
The installation of Oracle Fusion Middleware 12c WebLogic Server and Coherence 12.1.3.0.0 completed successfully.
Logs successfully copied to /apps/weblogic/logs.
you will get your weblogic installation in /apps/weblogic/12.1.3/..
Creating a domain using wlst script
$ cd /apps/weblogic/12.1.3/oracle_common/common/bin/
$ ./wlst.sh
wls:/offline>help()
wls:/offline>help('createDomain')
wls:/offline> createDomain('/apps/weblogic/12.1.3/wlserver/common/templates/wls/wls.jar','/apps/weblogic/domain/base_domain','punit','punit123')


Br,
Punit