Tuesday, July 30, 2013

Weblogic Admin server startup service script

1) create a file in this path   /opt/init.d/wlsdomains

2)copy the below script
#!/bin/bash
#
# Weblogic Admin Server Startup Script
#
# chkconfig: 345 94 06
# description: Weblogic
# processname: Java

# Source function library
. /etc/rc.d/init.d/functions

WLS_HOME=/opt/apps/wls/Oracle/Middleware/
WLS_USER=wlsadmin
DOMAIN_HOME=/opt/apps/wls/domains
DOMAIN=test
#set the return value of the script to 0, which means no error.
RETVAL=0

prog="WebLogic Admin Server"
PIDFILE=$DOMAIN_HOME/$DOMAIN/wls_pid

function pidfile()
{
    PID=`cat $PIDFILE`
    echo "PID=$PID"
}

start() {
echo -n $"Starting $prog: "
nohup su - $WLS_USER -c $DOMAIN_HOME/$DOMAIN/startWebLogic.sh  > /tmp/$DOMAIN.log &
echo $! > $PIDFILE
echo "Starting $prog: $DOMAIN.... OK"
}

stop() {
echo -n $"Stopping $prog: "
nohup su - $WLS_USER -c $DOMAIN_HOME/$DOMAIN/bin/stopWebLogic.sh > /tmp/$DOMAIN.log &
echo "Shutting down $prog: $DOMAIN... OK"
rm -rf $PIDFILE
}

restart() {
  stop
  sleep 10
  start
}

reload() {
        restart
}

case "$1" in
start)
        start
pidfile
        ;;
stop)
pidfile
stop
        ;;
reload)
        reload
        ;;
restart)
        restart
        ;;
status)
#STATUS=`ps -ef | grep java | grep weblogic | wc -l`
PID=`cat $PIDFILE`
if `ps -p $PID > /dev/null`; then
             echo "$prog: $DOMAIN is running, PID=$PID ok."
        else
             echo "$prog: $DOMAIN is not running ..."
        fi
;;
*)

echo $"Usage: $prog {start|stop|status|restart|reload}"
esac

exit 1

3) chang the file permission
  #chmod  +x /etc/init.d/wlsdomains

4) add in to service 
  #cd /etc/init.d
  #chconfig --add wlsdomains
  #chkconfig wlsdomains on
  #service wlsdomains start

Nodemanager linux Init script

1) create a file 'nodemanager'
   vi /etc/init.d/nodemanager
2)copy the below script in to that file
#!/bin/bash
#
# Weblogic Nodemanager Startup Script
#
# chkconfig: 345 95 05
# description: Weblogic Node Manager
# processname: Nodemgr

# Source function library
. /etc/rc.d/init.d/functions

WLS_HOME=/opt/apps/wls/Oracle/Middleware
DOMAIN_HOME=/opt/apps/wls/domains
WLS_USER=wlsadmin
#set the return value of the script to 0, which means no error.
RETVAL=0
PROCESS_STRING="^.*$WLS_HOME/.*weblogic.NodeManager.*"
prog="WebLogic Nodemanager"
NODEMANAGER_PIDFILE=$WLS_HOME/wlserver_10.3/common/nodemanager/nodemanager_pid

function pidfile()
{
    PID=`cat $NODEMANAGER_PIDFILE`
    echo "PID=$PID"
}

start() {
echo -n $"Starting $prog: "
nohup su - $WLS_USER -c $WLS_HOME/wlserver_10.3/server/bin/startNodeManager.sh > /tmp/nodemanager.log &
echo $! > $NODEMANAGER_PIDFILE
echo "Starting $prog.... OK"
}

stop() {
echo -n $"Stopping $prog: "
OLDPID=`/usr/bin/pgrep -f $PROCESS_STRING`
if [ "$OLDPID" != "" ]; then
/bin/kill -TERM $OLDPID
else
echo " $prog is already shutdown..."
fi
rm -rf $NODEMANAGER_PIDFILE
}

restart() {
  stop
  sleep 10
  start
}

reload() {
        restart
}

case "$1" in
start)
        start
pidfile
        ;;
stop)
pidfile
stop
        ;;
reload)
        reload
        ;;
restart)
        restart
        ;;
status)
OLDPID=`/usr/bin/pgrep -f $PROCESS_STRING`
if [ "$OLDPID" != "" ]; then
/bin/echo "$prog is running (pid: $OLDPID)"
else
/bin/echo "$prog is not running"
fi
RETVAL=$?
;;

*)

echo $"Usage: $prog {start|stop|status|restart|reload}"
esac

exit 1

3) change the file permission
   #chmod +x /etc/init.d/nodemanager
4) add in to service
  #chkconfig --add /etc/init.d/nodemanager
5) enable the service 
  #chkconfig nodemanager on
6) start the nodemanager
   #service nodemanager start
7)status of nodemanager
  #service nodemanager status 
8)stop the nodemanager 
  #service nodemanager stop

Tuesday, March 12, 2013

Generating Weblogic server JVM report on HTML format using wlst script



Generating JVM report on HTML format using wlst script .

This wlst script source got it from google search and modified .

jvm_status.py


import os
import sys
import datetime
username='weblogic'
password='webl0gic'
ipaddr=os.environ["HOSTNAME"]
url='t3://'+ipaddr+':7001'
lmtime =str(datetime.datetime.now())
fo = open("jvm.html", "wb+")
fo.write('<html><body bgcolor="lightblue"><center><h3>Weblogic server  &quot;'+ipaddr.upper()+'&quot; Status Updated At :'+lmtime+'</h3>')
fo.write('<table border="1" style="border:1px ;width:80%;border-collapse:collapse;">')
# This module is for retrieve the JVM statistics

def monitorJVM():
     connect('weblogic', 'webl0gic',url)
     serverNames = getRunningServerNames()
     for name in serverNames:
      try:
       cd("/Servers/"+name.getName()+"/ServerStart/"+name.getName())
       jvm = str(cmo.getArguments())
       cpath = str(cmo.getClassPath())
       fo.write('<tr align="center"><h2><td>Server Name: '+ name.getName() + '</td></h2></tr>')
       fo.write('<tr align="center"><td>JVM ARGUMENTS</td></tr>')
       fo.write('<td> '+jvm+' </td>')
       fo.write('<tr align="center"><td>CLASS PATH</td></tr>')
       fo.write('<tr><td> '+cpath+' </td></tr>')
      except WLSTException,e:
       pass
# This module for managed Servers list
def getRunningServerNames():
     config()
     return cmo.getServers()

if __name__== "main":
     monitorJVM()
     fo.write('</table></html>')
     disconnect()




Weblogic patching using off line updater



Weblogic  patching  using off line updater  - linux 64 bit

1) copy patch to weblogic cache directory  (/apps/oracle/wls11g/utils/bsu/cache_dir)
           cp *.jar /apps/oracle/wls11g/utils/bsu/cache_dir/
           cp *.xml /apps/oracle/wls11g/utils/bsu/cache_dir/

2) Check the patch status on current system

           cd /apps/oracle/wls11g/utils/bsu/
           sh bsu.sh  -prod_dir=/apps/oracle/wls11g/wlserver_10.3 -patch_download_dir=/apps/oracle/wls11g/utils/bsu/cache_dir/ -status=downloaded -view -verbose

3) Install the patch
             cd /apps/oracle/wls11g/utils/bsu/
             ./bsu.sh -patch_download_dir=/apps/oracle/wls11g/utils/bsu/cache_dir/ -   prod_dir=/apps/oracle/wls11g/wlserver_10.3/ -patchlist=9ZW7 -install -verbose

4)Verify the current patch

cd /apps/oracle/wls11g/utils/bsu/;
sh bsu.sh -prod_dir=/apps/oracle/wls11g/wlserver_10.3 -status=applied -view -verbose


sample script .

killall java
killall -9 java
sleep 1
cd /apps/oracle/wls11g/utils/bsu/

./bsu.sh -patch_download_dir=/apps/oracle/patch/p10076424/  -prod_dir=/apps/oracle/wls11g/wlserver_10.3/ -patchlist=VJPE -install -verbose;

./bsu.sh -patch_download_dir=/apps/oracle/patch/p10166432/  -prod_dir=/apps/oracle/wls11g/wlserver_10.3/ -patchlist=H3QP -install -verbose;

./bsu.sh -patch_download_dir=/apps/oracle/patch/p10276172/  -prod_dir=/apps/oracle/wls11g/wlserver_10.3/ -patchlist=8IWX -install -verbose;

./bsu.sh -patch_download_dir=/apps/oracle/patch/p9324911/  -prod_dir=/apps/oracle/wls11g/wlserver_10.3/ -patchlist=Y3IR -install -verbose;

./bsu.sh -patch_download_dir=/apps/oracle/patch/p9412909/  -prod_dir=/apps/oracle/wls11g/wlserver_10.3/ -patchlist=R4P6 -install -verbose;

Saturday, April 28, 2012

DNS server configuration on REDHAT ENTERPRISE LINUX 6


ADD THE BELOW ENTRY IN TO THE RESPECT FILES
SERVER NAME = server6.linux.com
IP ADDRESS = 192.168.1.222

1)/etc/resolve 
search linux.com
nameserver 192.168.1.222

2)/etc/hosts
192.168.1.222 server6.linux.com server6

3)/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=server6.linux.com

4)check the bind package installations 
yum list bind*
       or
rpm -qa bind*

bind
bind-utils
bind-chroot
bind-libs
bind-dyndb

5)add zone configuration files details in /etc/sysconfig/named
ROOTDIR=/var/named

6)add these lines into /etc/named.conf 

 options {
    listen-on port 53 { 127.0.0.1; 192.168.1.222; };
    listen-on-v6 port 53 { ::1; };
    directory     "/var/named";
    dump-file     "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
    allow-query     { localhost; all; };
    recursion yes;

    dnssec-enable yes;
    dnssec-validation yes;
    dnssec-lookaside auto;

    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
    type hint;
    file "named.ca";
};

zone "server6.linux.com" {
    type master;
    file "forward.zone";
    };

zone "1.168.192.in-addr.arpa" IN {
    type master;
    file "reverse.zone";
};
//include "/etc/named.rfc1912.zones";

7) forward zone configuraion file /var/named/forward.zone 

$TTL 1D
@       IN SOA  server6.linux.com. root.server6.linux.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                        IN      NS      server6.linux.com.
server6.linux.com.      IN      A       192.168.1.222
host1                   IN      CNAME   www1.linux.com.

8) reverse zone configuration file /var/named/reverse.zone 

$TTL 1D
@       IN SOA  server6.linux.com.      root.server6.linux.com.  (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN      NS      server6.linux.com.
222     IN      PTR     server6.linux.com.

9) named configuration file and zone configuration files syntax checking 

#named-checkconfig named.conf

#named-checkzone server6.linux.com forward.zone 


zone server6.linux.com/IN: loaded serial 0
OK

#named-checkzone 192.168.1.222 reverse.zone 


zone 192.168.1.222/IN: loaded serial 0
OK

10) start the named service 

#service named start
#chkconfig named on

11) Check the dns name 

#nslookup server6.linux.com

Server:         192.168.1.222
Address:        192.168.1.222#53

Name:   server6.linux.com
Address: 192.168.1.222

# nslookup 192.168.1.222

Server:         192.168.1.222
Address:        192.168.1.222#53

222.1.168.192.in-addr.arpa      name = server6.linux.com.

Local yum repository configuration on REDHAT ENTERPRISE LINUX 6


configure you local yum repository on REDHAT ENTERPRISE LINUX 6

1)mount REDHAT EL6 DVD IN TO /mnt

#mount /dev/cdrw /mnt

2) copy rpms from Packages directory into /opt/repo

#cd /mnt/Packages
#mkdir -p /opt/repo
#cp *.* /opt/repo

3)verify reporcrete utility  rpm installation 

#rpm -qa repocreate*

if not installed then install it with its dependancies

#rpm -ivh  createrepo-0.9.8-4.el6.noarch.rpm deltarpm* python-deltarpm*


4)create repository under /opt/repo

#createrepo `pwd`

5) add your repo configuration details in  yum configuration file /etc/yum.conf 

add the below line under this  /etc/yum.conf

"# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d"

[base-local]
name=RHEL6 $releasever - $basearch
failovermethod=priority
baseurl=file:/opt/repo
enabled=1
gpgcheck=0

6)check your current local repository 

#yum repolist
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
repo id                        repo name                                  status
base-local                     RHEL6 6Server - x86_64                     3,544
repolist: 3,544

Friday, March 23, 2012

Tomcat 6.0.35 Installation on RedHat Enterprise Linux 6

1) Download Tomcat server from apache repository

2) Untar the compressed zip file in to installation location.

3)set java home directory and catalina home directory.