KEMBAR78
Full Weblogic Course PDF | PDF
0% found this document useful (0 votes)
149 views87 pages

Full Weblogic Course PDF

The document provides an overview of concepts related to installing and configuring Oracle WebLogic Server. It discusses prerequisites for installation like Java, describes common directories and paths used, and covers core WebLogic concepts like domains, administration servers, managed servers, deployments, clusters, and other configuration-related topics.

Uploaded by

mohammed almoor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
149 views87 pages

Full Weblogic Course PDF

The document provides an overview of concepts related to installing and configuring Oracle WebLogic Server. It discusses prerequisites for installation like Java, describes common directories and paths used, and covers core WebLogic concepts like domains, administration servers, managed servers, deployments, clusters, and other configuration-related topics.

Uploaded by

mohammed almoor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 87

Weblogic Intro

Tuesday, July 21, 2015 8:16 PM

Part 2: Weblogic Concepts and Introduction

Weblogic Concepts:

RAC is called Real time Application Cluster -> should be configured as grid link.

Thin driver we use for multiple transition

One phase commit, one transition of the happening it will keep this data commit, two phase means we need to have two query committing the same then only it
will commit.

WLS L2 - Temp Page 1


WLS L2 - Temp Page 2
a. Installation:

Any software requires installation. Installation of a software to your computer so that you can use the software from your HD D frequently.

For any JAVA based application we need a software called JAVA installed first.

Linux has its own directory structure, when you install weblogic/java it would be in this directory structure.

/<Installation Path>/
bin folder -> contains binary files
Config -> where all configuration files would reside
Log -> where all log files would be there
Modules -> where all modules would be present
Lib -> library files

Pre - Requisites before installation.

14C - 1.8 Java.


2GB Ram -> 3 GB
1GHZ of Processor 1 core.
20gb HDD

Installation of JAVA

Installation of weblogic

Post Installation

b. Home Path:

JAVA_HOME=/u01/apps/java/
MW_Home = /u01/apps/Oracle/Middlware/
Oracle_Home =/u01/apps/Middlware/Oracle_Home/
WLS_HOME = /u01/apps/Middlware/Oracle_Home/wlserver/
Domain_Home = /u01/apps/<name of the domain>

c. Domain:

What is a domain:

If your creating two websites on prod env or pre prod env or stage env or DR env,

www.google.com
www.facebook.com

We will create one domain only for www.google.com. This will isolate the configuration, logs, executable or bin files, deployed content from
www.facebook.com.

Because both these websites would have their own HOME directory.

Domain is nothing but folder where you store you website's content individually so that you can personalise things you want.

WLS L2 - Temp Page 3


Domain is nothing but folder where you store you website's content individually so that you can personalise things you want.

Domain Creation:

We use templates to create domains, while creating a domain you can find the option to select which type of template you need base this domain on.
You can also customize or create your own template by domain template builder tool

d. JVM:
What is a JVM ?

Java Virtual Machine. Anything runs with java is called as a JVM.

In weblogic:

e. Node Managers / Machines:

A Node Manager is JVM process,

Arch of Node Manager:

Node Manager is used for:

Types Of Node Manager:

f. Admin Server:

Once you have created a domain, the first thing you want to do is to start the Admin Server in that domain you have created.

i) Admin server is a JVM process, which gets created by default when you create a domain.
ii) Admin Server is where you can perform any modification to your configuration & control(stop / start) your entire domain.
iii) You cannot access the Admin Server directly but you have tools to do so.
One. Admin Console -> Web Based interface.
Two. WLST (weblogic scripting tool) -> A command line tool to do everything what was said earlier
iv) To access the Admin Console or to connect from WLST to the Admin Server, you need your Admin Server to be up and running

The conclusion is Admin Server is default in every domain, where it is the first thing we start in the domain, and once you start you will have to way of
accessing the admin server using admin console or WLST.

Admin Server

Admin Console WLST

g. Managed Server:

Managed Servers are JVM process which runs under an Admin Server's control or independently when Admin Server is unavailable ( but it will resume
connection once Admin Server is available).

The Uses of Managed Server:

First. The Code which is designed by the developers would be archived Into .war or .ear, we deploy them from the Admin Console or WL ST. When
you do so, it would ask you for a target, target means what is going to process these codes, you would assigning either an Ma naged Server or
a Cluster ( a group of managed servers) to process these codes and display the result on the website.
Second. We can have multiple number of ear or war on one JVM or Managed Server. It can handle any number of request based on the RAM usage &
CPU Usage.

h. Deployments:
This is where your content will be deployed, where you have the option of installing a new ear file or war file or update the existing war or ear or deleting
the war or ear file.

When you deploy you set targets, security, and staging of your content

WLS L2 - Temp Page 4


i. Clusters:

Cluster is a group of servers.

Load Balancing Feature:

Failover Feature:

j. Web Server:

What is a static content:

What is a dynamic content:

Different versions and new features:

VH configuration of both the websites:

Plugin or integration of Apache HTTP Server with Weblogic:

JDBC:

Provider:
On further classes

Datasource:
On further classes

Connection Pool:
On further classes

JMS:

On further classes

SSL:

On further classes

RAM:

On further classes

HEAP & Thread Dump:

On further classes

WLS L2 - Temp Page 5


Installation
17 April 2014 18:45

Installations:

Agenda:

i. Java - Sun
ii. Weblogic 14c.
1) GUI
2) Silent

To login:
Username: weblogic
Password: weblogic123

To login as root ( only when specified )


Username: root
Password: Weblogic123

You need to install Java.

Major Providers of JAVA

Sun JDK Sun java for Weblogic 12c, 14c & Tomcat
IBM JDK IBM Java for Websphere
JRockit JDK Oracle java for weblogic 8x 9x 10x 11x
Open JDK Redhat java for JBOSS

JROCKIT as our JAVA. Version 1.6


Sun JDK as our JAVA. Version 1.8

JAVA Installation:

CLI:

Go to the location

cd /opt/software/

Extract the tar file of the jdk1.8.0_202

tar -zxvf jdk-8u202-linux-x64.tar.gz

Running the installation:

[weblogic@PRD-NODE1 java]$ mv /opt/software/jdk1.8.0_202 /u01/apps/java/

Uninstallation of Java /u01/apps/java/:

rm -rf /u01/apps/java/

Post installation of JAVA:

Checking the version of JAVA:

[weblogic@PRD-NODE1 java]$ /u01/apps/java/bin/java -version


java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

WLS L2 - Temp Page 6


Installation of Weblogic Application Server:

System Requirements

Component Requirement
Platform A supported configuration of hardware, operating system, JDK, and database specific to the product you are installing.
configuration For the most up-to-date information about other prerequisites and recommendations, such as recommended versions of the JDK, see the Oracle Fusion Middleware Supported System Configurations page
athttp://www.oracle.com/technology/software/products/ias/files/fusion_certification.html

.
Processor 1-GHz CPU
Hard disk drive A complete installation (including SDKs) requires approximately 3.9 GB of disk space. This includes temporary disk space thatis needed during installation. Depending on the components you choose to install, and the installer that you are using,
less disk space may be needed.
For more information, see Temporary Disk Space Requirements.
Memory A minimum of 1 GB RAM, although Oracle recommends 2 GB of RAM.
Color bit depth For graphical-mode installation, 8-bit color depth (256 colors) is required.
display For console-mode and silent-mode installation, there is no color bit depth requirement.
JDK The installation program requires a Java run-time environment (JRE) to run. A JRE is bundled in the Windows 32-bit and Linux x86 installation programs, as well as in some UNIX installation programs (those with file names ending in.bin).
For other platforms, the installation program does not install a JDK. File names for these installation programs end in.jar. To run the .jar installation programs, you must have the appropriate version of the JDK installed on your system, and include
the bin directory of the JDK at the beginning of the PATH variable definition.
Note: It is important that you use a JDK because the installation process assigns values toJAVA_HOME and related variables to point to the JDK directory. All scripts installed by the installation program use this JDK by default, including scripts to
start sample applications, the Configuration Wizard, and other development tools.

Pre Installation:

Make sure the following:

Ram: at least 1GB if installation of Weblogic on Unix O/S, If your using a virtual machine over an O/S make sure 2 GB (1.2 GB for O/S, .5
GB for your VM and .2 GB for emergency).

CPU: Dual Core 2.0 Ghz+

GPU: No Needed

O/S: 64 bit or 32 bit. Download the software accordingly.

Software:
Win: .exe, .zip, .msi
Unix: .rpm (Redhat package manager), .bin, .tar.gz, .tar.bz, .sh, .dpg
Java: .jar

Setting up Environment Variable for JAVA:

Before setting this PATH Variable.

Set All the available environment variable

Set PATH=<existing path which is displayed in the above command>: /opt/java/bin/

Actual Command Looks like:

[wlsuser@wls-node40 ~]$ set PATH=/u01/apps/java/bin/:$PATH


[wlsuser@wls-node40 ~]$ export PATH=/u01/apps/java/bin/:$PATH
[wlsuser@wls-node40 ~]$ java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

TO make a permanent entry,

Do the set & export in the following file

* Add only highlighted

Vi /etc/bashrc (Root User)


WLS L2 - Temp Page 7
Vi /etc/bashrc (Root User)

# /etc/bashrc

# System wide functions and aliases


# Environment stuff goes in /etc/profile

# By default, we want this to get set.


# Even for non-interactive, non-login shells.
if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002
else
umask 022
fi

set PATH=/u01/apps/java/bin/:$PATH
export PATH=/u01/apps/java/bin/:$PATH
JAVA_HOME=/u01/apps/java/
# are we an interactive shell?
if [ "$PS1" ]; then
case $TERM in
xterm*)
if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
PROMPT_COMMAND=/e

Note: Restart your system / server.

If you have multiple version of java ( but java needs to be running at that point of time when you executing the below command ):

ps -ef |grep java

Java <program name>


/u01/apps/java/bin/java <program name>

GUI(Graphical User Interface):

GUI Mode:
Graphical User Mode needs X windows or VNC server running on your Linux machine or you have to install some Xserver for
windows and tunnel your GUI with the servers. ( youtube.com/venkatramanvv )

When you perform installation, make sure that you remember the two home path,

Previous to 12C

One, Middleware Home


Two, Weblogic Home

After 12C

One, Oracle Home


Two, Weblogic Home

The folder structure should be like this:

/u01/apps/Oracle/Middleware/Oracle_Home/
| -> It's an optional Folder which is created by default in Unix
| -> This is the software developer's name
| -> Oracle Home

Start the installation with the following command:

Go to: cd /opt/software/
Run: java -jar <name of the file> ----------- Make sure PATH is exported.
Or
Run: /u01/apps/java/bin/java -jar <name of the file>

[weblogic@PRD-NODE1 software]$ /u01/apps/java/bin/java -jar fmw_14.1.1.0.0_wls_lite_generic.jar


Launcher log file is /tmp/OraInstall2021-11-19_12-50-04AM/launcher2021-11-19_12-50-04AM.log.

WLS L2 - Temp Page 8


Launcher log file is /tmp/OraInstall2021-11-19_12-50-04AM/launcher2021-11-19_12-50-04AM.log.
Extracting the installer . . . . . Done

Note: the above should be selected in terms of installation through CLI. Save the above file in some location for eg:
/opt/software/scripts/

Name it as : 14_repository_file.xml

To uninstall:

Stop All the running services:

Remove the Weblogic First:


rm -rf /u01/apps/Oracle/Middleware/

Remove the Oracle Inventory:


rm -rf /u01/apps/Oracle/oraInventory/

CLI Mode:

You need to do the installation with the inventory location:

Create a directory like below and vi the below file:


/u01/apps/Oracle/oraInventory/oraInst.loc

[wlsuser@wls-node40 WLS]$ mkdir -p /u01/apps/Oracle/oraInventory/


[wlsuser@wls-node40 WLS]$ vi /u01/apps/Oracle/oraInventory/oraInst.loc

Enter the following values in the above oraInst.loc:


inventory_loc=/u01/apps/Oracle/oraInventory/
inst_group=weblogic

Execute the command:


[wlsuser@wls-node40 scripts]$ cd /opt/software
[wlsuser@wls-node40 WLS]$/u01/apps/java/bin/java -jar fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /opt/software/scripts/fmw_14.1.1.0.0_wls_lite_generic.txt -invPtrLoc /u01/apps/Oracle/oraInventory/oraInst.loc

To uninstall:

Stop All the running services:

Remove the Weblogic First:


rm -rf /u01/apps/Oracle/Middleware/

Remove the Oracle Inventory:


rm -rf /u01/apps/Oracle/oraInventory/

Important Note Before proceeding:

Check the IP Address


[root@wls-node40 bin]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:39:F8:51
inet addr:192.168.224.140 Bcast:192.168.224.255 Mask:255
inet6 addr: fe80::20c:29ff:fe39:f851/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1648 errors:0 dropped:0 overruns:0 frame:0
TX packets:726 errors:0 dropped:0 overruns:0 carrier:0

WLS L2 - Temp Page 9


TX packets:726 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:113106 (110.4 KiB) TX bytes:30708 (29.9 KiB)
Interrupt:67 Base address:0x2024

lo Link encap:Local Loopback


inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4311 errors:0 dropped:0 overruns:0 frame:0
TX packets:4311 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3832585 (3.6 MiB) TX bytes:3832585 (3.6 MiB)

Copy the ip address by opening the /etc/hosts (Root Requried) (su - )


[root@wls-node40 bin]# vi /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

Note: the above is already done but then you can verify the same as a wlsuser if needed a modification you should use SU
command to switch to root user.

Restart the VM or all the JVM.

Post Installation Checks:

Check if the folder structure exists.

WLS L2 - Temp Page 10


Domain Creation
Monday, September 15, 2014 7:49 PM

Agenda:

Domain Intro:
Possibilities with Domains:
Features of Domains:
Creating A GUI Based Development Domain:

Domain:

Folders which separates different websites from one another. If there is no domain, if there is three websites called ivr.com,
phonebanking.com & lac.com

Both will be configured under one folder,

Bin/
Logs/
Conf/
Stage/
Temp/
Servers/MS_server1

Possibilities With a domain:

1) One Managed Server (JVM) under one domain and you can deploy, ivr, lac & PB.

1) Three Managed Server (JVM) Under one domain and deploy ivr to 1st managed server and lac to 2rd and pb to the 3rd

1) Three separate managed server three separate domains.


i. One Managed server Under one domain and deploy ivr to that.
ii. One Managed server Under one domain and deploy lac to that.
iii. One Managed server Under one domain and deploy pb to that.

WLS L2 - Temp Page 11


iii. One Managed server Under one domain and deploy pb to that.

1) Two or More Domains can be created and create two or more Managed servers on each of the domains and deploy Ivr / lac
/ pb to that.
Three Domains with same name , but these three domains are created in different servers. How many servers is involved
here ? 3 servers.

I start a Admin server on the first domain.


And Configure The Node Manager of all the domains in that Admin Server.
I create 3 Managed Servers each domain. And Deploy 1'st series of managed server with IVR Application. Second
Series of managed server with Lac Application and Next series of managed server with PB Application.

IVR App

WLS Node 40 WLS Node 41 WLS Node 42

WLS Installation WLS Installation WLS Installation

IVR_DOMAIN IVR_DOMAIN IVR_DOMAIN

Admin Server Admin Server Admin Server


192.168.224.140 192.168.224.141 192.168.224.142
7001 7001 7001

IVR_MS01 IVR_MS02 IVR_MS03


192.168.224.140 192.168.224.141 192.168.224.142
8080 8080 8080

Features of A Domain:

▪ A domain can be configured with config.sh which is under $WLS_HOME/common/bin/config.sh


▪ A Domain will have their own Managed Servers which will report under one Admin Server for that domain.
▪ You can create domain using GUI, Script.
▪ Domain will have its own home path called Domain_home which will not be under WLS_HOME but it would be under
ORACLE_home so the structure would be like /ORACLE_home/user_projects/domain/<name of the domain>/
▪ A Domain will have its own bin directory, config directory, logs directory, etc. To sustain without the help of WLS_HOME.
▪ The first thing you need to do after creating a domain is to start the Admin server which was created by default. Then
only you can access the Admin Console to configure or WLST.

Note: You can create n number of domains in a weblogic instance. For eg: If you have created your first domain, the Admin
server will be created with it correct ? Yes. So the Admin server runs on a default port number which is 7001, as you
WLS L2 - Temp Page 12
only you can access the Admin Console to configure or WLST.

Note: You can create n number of domains in a weblogic instance. For eg: If you have created your first domain, the Admin
server will be created with it correct ? Yes. So the Admin server runs on a default port number which is 7001, as you
remember that we are building domains based out of a single template or default template. It would create the second
domain also with the same template which means the Admin server which is supposed to be created on the second domain
will also have the same Admin Server port number which is 7001 again. Can we have two 7001 port on one server ? No. So
when you create this second domain don’t forget to change the port number from 7001 to 8001

Creating A Domain:

Standalone GUI Mode:


[root@localhost bin]# cd /opt/Oracle/Middleware/Oracle_Home/wlserver/common/bin/
[root@localhost bin]# pwd
/opt/Oracle/Middleware/wlserver_10.3/common/bin
[root@localhost bin]# ./config.sh

Domain Name: /u01/apps/DEV_PB_Domain

WLS L2 - Temp Page 13


Password: weblogic123

Prod Mode Or Dev Mode:

Prod Mode: Dev Mode:


No boot.properties by default We get this file by default
Lock & Edit No such feature
Activate Changes No such feature
Disabled Auto Deploy
For Prod, Pre-Prod, Stage Env Dev, QA

WLS L2 - Temp Page 14


WLS L2 - Temp Page 15
Domain Template
Wednesday, January 25, 2017 9:47 AM

Agenda:

Building A Domain:

Building A Domain:
Opening the Domain Template:

Cd /u01/apps/Oracle/Middleware/Oracle_Home/wlserver/common/bin
./config_builder.sh

WLS L2 - Temp Page 16


WLS L2 - Temp Page 17
Admin Server
Tuesday, September 16, 2014 7:24 PM

Agenda:

a. Admin Server Arch


b. Introduction Admin Server
c. Configuration of Admin Server
d. Port Numbers of Admin Server
e. Starting Admin Server
f. Checking the status of AS
g. Browsing the Admin Server

DEV_IVR_Domain

AS NM

Introduction to Admin Server:

Admin Servers is a JVM Process.

JVM Process:

It’s a Java Virtual Machine, where the java codes would be processed using the same. So Admin server is the first JVM
Process which we will discuss about.

Admin Server gets created with every domain.

Admin Server takes care of the entire domain/domains.

Admin Server uses two methods to take care of the domain.

Admin Server

Admin Console Weblogic Scripting Tool (WLST)

When you start the Admin Server the admin server establish with unique port numbers. HTTP & HTTPS. Using those port
numbers you can access the Admin Console or WLST.

Using Admin console or WLST you can perform two major task:

Configuration Changes:

Creating Managed Server:


Configuring Port number:
Conf, SSL:
Creating Clusters:
So n so..

Control Changes:

WLS L2 - Temp Page 18


Control Changes:

Stopping / Starting / Restarting / Admin mode.

Note: All the above can be done to that particular domain which your Admin Console points to.

Checking the configuration of Admin Server:

Admin Server & Managed Server: all the configuration regarding to that domain would be under Domain_home/config/

Checking the configuration of Admin Server:


[root@localhost domains]# less /u01/apps/DEV_PB_Domain//config/config.xml

This file, starts with Security configuration, and then it goes to the username and password and it goes to port number of
each JVM process which we have configured with the domain.
<server>
<name>AdminServer</name>
<ssl>
<name>AdminServer</name>
<enabled>true</enabled>
<listen-port>8002</listen-port>
</ssl>
<listen-port>8001</listen-port>
<listen-address/>
</server>

Note: Sometimes the server will be admin server and there won't be a listen-port defined. It means it's using the default port
number.

Start the Admin Server:


[wlsuser@wls-node40 bin]$ cd /u01/apps/DEV_PB_Domain//bin
[root@localhost bin]# nohup ./startWebLogic.sh &

Where,

Nohup will push the output of this command to a nohup.out file and "&" will push this command as a bg process.

To check the status of startup of weblogic Admin Server, tail -f nohup.out


Alternatively you can check the logs of the weblogic Admin server for that domain under.

tail -f Domain_Home/servers/AdminServer/logs/AdminServer.log

Note: You can run the same command in all the domains which you have created. But remember if it’s a dev mode on the
domain it would start without any error because there is no security for starting or stopping JVM process.

Stop The Weblogic Admin Server:


[root@wls-node40 bin]# ./stopWebLogic.sh

Browse the running Admin Server:

Making a URL:
<Protocol>://<SN/HN/DN>:<Port>/<Context Root>
http://wls-node40:8001/console

WLS L2 - Temp Page 19


Making a URL:
<Protocol>://<SN/HN/DN>:<Port>/<Context Root>
http://wls-node40:8001/console
http://wls-node40:7001/console

WLS L2 - Temp Page 20


Deployments
Monday, November 17, 2014 8:10 PM

Agenda:

What is deployment:
Deployment from Local or Remote:
Deployment Target:
Staging of the Deployed Content:
Deployment States:
Deployment Stop / Start:
Different Files can be deployed:
How are we planning to deploy:
Standalone Deployment:

What is deployment ?

Your Java Application Team, would create a package to deploy to your application Server. When you deploy an application
to an managed server. The customer will browse the application which you have deployed. How a customer can browse
the deployed application is by the Port number which is defined in the Managed Server. Hence, you need to deploy these
applications to a target which is one or more managed servers/ cluster.

Deployment from Local or Remote:

The content which your deploying, can be in the server itself or in client desktop which your browsing the admin console
from.

Deployment Target:

Now these targets should be stopped at the time of deployment (though you can also deploy when they are running but
complex Java codes requires a request once the deployment is completed).

Staging of the Deployed Content:

Staging is where you make the content stay. A directory which is dedicated to keep the application which is deployed to
the managed servers. When ever a resource is being looked up.

The methods you can stage your deployed content.

Stage Mode:

WLS L2 - Temp Page 21


By default this mode is selected. Where, the content will be staged in the respective target folders.

Domain_Home/servers/<name of the targeted managed server>/stage/< deployed file location>/

No Stage Mode:

No stage, is just opposite to stage mode, Than copying to the stage folder of the targeted managed servers, it
access the file from the location where it deployed it from. Say for eg, a developer has copied the deployment
files to /tmp/<deployment Name> so /tmp/ is a temporary folder.

When your deploying you will be asked for three options. If you select the option " Make this deployment
available from this location /tmp/ "

If anyone deletes this file the next time it will look for the files it would be missing. Hence the problem happens
with the end user.

External Stage Mode:

It cannot enabled at the time of deployment. But can be changed in the Managed Server. Now this is just like
the stage mode, but in stage mode the content will be copied into the targeted managed server automatically,
but here it will be a manual copy.

Deployment States:

When you deploy the application in weblogic and get it completed, then the next is that you need to activate the changes
you just did. When you check status of the Deployment it will be DISTRIBUTED state.

After few sec it goes to the NEW state.

From NEW State it will go to PREPARED State as it will prepare the application.

It will be in the PREPARED state until you start the Application which you just deployed.

Once your start the Deployed application then it will go to the state called ACTIVE.

If you want to stop you can bring it from the ACTIVE to Shutdown / stopped state.

Deployment Stop / Start:

To stop a particular deployment you can use stop / start option.

Three options for configuration on deployment:

Install:

WLS L2 - Temp Page 22


For installation of new application.

Update:

For updating a file or group of files to a deployment.

Delete:

Deleting the application.

Different Files can be deployed:

.war -> Web Archive


.ear -> Enterprise Archive
.jar -> Java Archive -> You can deploy this .jar file as a library. Where other deployment can refer to this library for
reference objects.
.sar -> web service Archive

Note: Sometimes, a .ear file will have

.war
.jar
.jar
.war

You need to deploy this as both library + application.

How we are planning to deploy:

Domain -> PB Dev -> pb.war

Standalone Deployment:
================================

Deployment:

WLS L2 - Temp Page 23


Admin Server's drive:

Remote System File:

WLS L2 - Temp Page 24


Deploy it over the admin Server.

Use Default Defined when you have modified the Managed Server to use the External Stage mode ( look below for more
information on how to do that ).

Use Application onto ever target for me is nothing but stage mode / you can use the defaults defiled itself if you have not
modified as above point.

Use the third option Make this deployment accessible from the following location is nothing but the no stage mode.

To change the stage mode to EXT Stage:

WLS L2 - Temp Page 25


You can also change the location where your staging your content by default in Stage or EXT Stage mode:

WLS L2 - Temp Page 26


How is it going ?
Saturday, March 3, 2018 6:25 AM

How is it going so far ?

Reach out to me at venkatramanvv@gmail.com

YouTube: geeksidea
Linked In: venkatramanvv
Facebook: venkatramanvv

WLS L2 - Temp Page 27


Standalone Domain
28 September 2015 18:38

Agenda:

Arch:
Checking the port number of the admin server:
Start the Admin Server:
Accessing the Admin Console:
Deploying Applications:
Browsing the Applications:
Stopping the Admin Server:

Arch:

Checking the port number of the admin server:


[wlsuser@wls-node40 config]$ cd /config
[wlsuser@wls-node40 config]$ less config.xml

Remember we have configured the application on the default port number which is 7001 & 7002 if so you cannot find the
same on the config.xml.

Start the Admin Server:


[wlsuser@wls-node40 bin]$ cd /u01/apps/DEV_PB_Domain//bin
[wlsuser@wls-node40 bin]$ nohup ./startWebLogic.sh &

Check the server startup using the following line:


[wlsuser@wls-node40 bin]$ tail -f nohup.out

You can check this additional logs:


[wlsuser@wls-node40 bin]$ tail -f /u01/apps/DEV_PB_Domain//servers/AdminServer/logs/AdminServer.log

How do you know the Admin Server JVM has been started ?
<Sep 25, 2015 10:12:15 PM IST> <Notice> <WebLogicServer> <BEA-000331> <Started the WebLogic Server Administration Server "AdminServer" for domain "DEV_IVR" running in development mode.>
<Sep 25, 2015 10:12:15 PM IST> <Notice> <WebLogicServer> <BEA-000360> <The server started in RUNNING mode.>
<Sep 25, 2015 10:12:15 PM IST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>

[wlsuser@wls-node40 bin]$ ps -ef|grep java


wlsuser 3170 3118 11 22:11 pts/0 00:00:19 /opt/java/bin/java -server -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -
Djava.security.policy=/opt/Oracle/Middleware/Oracle_Home/wlserver/server/lib/weblogic.policy -Xverify:none -
Djava.endorsed.dirs=/opt/java/jre/lib/endorsed:/opt/Oracle/Middleware/Oracle_Home/wlserver/../oracle_common/modules/endorsed -da -Dwls.home=/opt/Oracle/Middleware/Oracle_Home/wlserver/server -

WLS L2 - Temp Page 28


Djava.endorsed.dirs=/opt/java/jre/lib/endorsed:/opt/Oracle/Middleware/Oracle_Home/wlserver/../oracle_common/modules/endorsed -da -Dwls.home=/opt/Oracle/Middleware/Oracle_Home/wlserver/server -
Dweblogic.home=/opt/Oracle/Middleware/Oracle_Home/wlserver/server -Dweblogic.utils.cmm.lowertier.ServiceDisabled=true weblogic.Server

Accessing the Admin Console:

Open the browser:

Access the following URL:


http://wls-node40:7001/console/
http://localhost:7001/console/

Deploying Applications:

WLS L2 - Temp Page 29


Browsing the Applications:

WLS L2 - Temp Page 30


http://192.168.224.140:7001/Calendar_1.0/
http://wls-node40:7001/Calendar_1.0/
http://localhost:7001/Calendar_1.0/

Stopping the Admin Server:

GUI:

CLI:
[wlsuser@wls-node40 DEV_IVR]$ cd /u01/apps/DEV_PB_Domain//bin/
[wlsuser@wls-node40 bin]$ ./stopWebLogic.sh

WLS L2 - Temp Page 31


Node Manager
Wednesday, September 17, 2014 7:10 PM

Agenda:

NM Arch:
Node Manager Introduction:
Node Manager Configuration files:
Node Manager Startup:
Node Manager Logs:
Node Manager Setup:

NM Arch:

Node Manager:

What is a Node Manager ?

Node Manager is a JVM Process. Node Manager is to manage the Node, Node is a physical machine. NM is available when
you create each domain. But using these NM is up to you. Or you can configure the NM for all the domains.

Every time you create a new domain a NM is registered with that domain. But you can change that when you're creating the
domain itself. Hence you can use the pre-defined method or you can create a new domain. We will have configuration which
we can customize in case if your using multiple NM.

Uses of Node Manager:

□ When you want to start a Managed Server from Admin Console, you need the Node manager up and running and also
the node manager should be added to the Managed Server.
□ The Node Manager is not used when you're starting the managed server from command line method.
□ When you start the Managed Server using the Node Manager, when suddenly you kill the managed server process or it
dies, the Node Manager will restart this managed server process again.
□ When you start the Managed server using the Node Manager, there would be an extra log file .out file. This records
more information towards the Managed server.

Types of Node Managers:

JAVA Based Node Manager:

SSL ( Recommended )
PLAIN

Script Based Node Managers ( NOT RECOMMANDED ):


WLS L2 - Temp Page 32
Script Based Node Managers ( NOT RECOMMANDED ):

SSH
RSH

Control Arch of Node manager:

When you start a Admin Server:

CLI Mode -> DOMAIN_HOME/bin/startWebLogic.sh

Note: We don’t need the Node Manager.

When you start a Node Manager :

CLI Mode -> DOMAIN_HOME/bin/startNodeManager.sh

Note: We don’t need the Node Manager.

When you start a managed server from the Admin Console:

Admin Console -> start MS1 -> Node Manager -> startup of MS1.

1. Machine is configured
2. Machine is mapped to the MS1
3. NM is running

When you stop a Managed Server from the Admin Console:

Step 1:
Admin Console -> stop MS1 -> Stop of MS1

If the first step fails

Step 2:

Admin Console -> stop MS1 -> Node Manager -> stop of MS1

If the above step fails

Step 3:

Admin Console -> stop MS1 -> O/S -> Kill the MS1 process.

WLS L2 - Temp Page 33


Start the Managed server from Command Line Mode:

CLI -> Start MS1 -> server started.

Note: We don’t need the Node Manager.

Stopping of Managed Server from Command Line Mode:

CLI -> Stop MS1 -> Server stopped.

Note: We don’t need the Node Manager.

Home path for Node Manager:

Control Home path:

/Domain_HOME/bin/

To start:
startNodeManager.sh
To Stop:
stopNodeManager.sh

Configuration Home Path:

/Domain_HOME/nodemanager/

Node Manager Configuration Files:

nodemanager.properties

Will have the port number and the directory structure.

nodemanager.domains

This file holds the information about the Domains which you have in the weblogic application server.

WLS L2 - Temp Page 34


This file holds the information about the Domains which you have in the weblogic application server.

To create more configuration files you need to start the Node Manager.

nodemanager.log

Where it will be logging all the information towards the nodemanager's activity.

Starting of the Node Manager:

Control home folder.


[wlsuser@wls-node40 bin]$ cd /u01/apps/DEV_PB_Domain//bin/
[root@localhost bin]# nohup ./startNodeManager.sh &

[root@localhost bin]# tail -f nohup.out

Confirm the Node Manager has been started or not by checking this line:
<Dec 29, 2015 12:33:29 PM IST> <INFO> <Secure socket listener started on port 5556, host wls-node40/192.168.224.140>

Check the above either on the nohup.out or on the NM log file under:

DOMAIN_HOME/nodemanager/nodemanager.log

Setting up the Node Manager on the Admin console:

Go to admin console, expand environment:

WLS L2 - Temp Page 35


Adding Managed Server to the Node Manager.

WLS L2 - Temp Page 36


Checking the status of the Node Manager:

WLS L2 - Temp Page 37


Managed Servers
Sunday, September 21, 2014 5:39 PM

Managed Server is a JVM Process.

In managed server you're going to add the Node Manager (if you want to start the managed server from Admin console), also
when you deploy application ( war or ear ) to your Weblogic Application Server, you would be assigning a managed server or a
cluster (group of managed servers) to the same.

The Managed servers are basically used for the following purpose:

• To process the java based application which is deployed over it. For eg, the ear or war which you deploy over this managed
server. The codes which is written in those files will be processed by the JVM which is in the managed server and will be
executed on a browser which is present in the remote or local machine.
MS1 : 256 MB to 512 MB

• Managed server have dedicated port numbers where you can browse the executed codes or output in those port numbers.
• Managed servers take care of the request based on the amount of RAM your assigned in to. If you assign more ram for a non-
complicated code it's going to waste the ram because most of the time ram would ideal.
• Managed server also treats request as threads, as too many threads could create problems for the CPU to handle.

When you configure a managed servers,

• First, name the managed servers correctly,


The name of the application which you're going to deploy for eg, yahoo website, my app name would be yahoo_1_0.ear
file. So, my managed server name should be PRD_yahoo_ms1 -> prod is the name of the environment. yahoo is the
name of the app and ms is managed server and 1 is the first server in that series.
• Port numbers needs to checked before assigning. Because weblogic don’t check if the ports are already occupied or not. Use
telnet command to check the same `telnet localhost 7001` So it's better to check before assigning.
• Memory is not needed to be set at this point, as the default memory parameters applies for the same.

Let's create a managed server:

Managed server state:

In weblogic the managed server or any server JVM starts though specific process or stages. It is vital that every stage has to be
successful.

Shutdown -> Starting -> Standby -> Started -> Admin -> Resuming -> Running

Starts Starting -> Standby -> Started -> Admin -> Resuming -> Running

Shutdown Stopped <- Stopping <- Standby <- Admin <- Running

Administration Starting -> Standby -> Started -> Admin

WLS L2 - Temp Page 38


Resume -> Admin -> Resuming -> Running

Administration Mode:

When you application is configured to go to admin mode, it means that it will start all the application deployed to it, it will
start the security SSL and all the sub systems but, it will not establish the port numbers. Which is very important for the client
to browse the application. Where it will be held off. Where you can click on Resume button to resume the server from Admin
to Running mode.

Bringing up the managed server from Admin Console:

To get the MS to Admin Mode:

WLS L2 - Temp Page 39


After changing apply.

To resume from Admin mode to running mode:

Command line mode of starting an Managed Server:

Note: We don’t need the node manager process for the same.
[wlsuser@wls-node40 bin]$ nohup ./startManagedWebLogic.sh prod_IVR_server01 http://localhost:7001 &

Note: Make sure you have boot.properties file in place.


[wlsuser@wls-node40 bin]$ vi /u01/apps/DEV_PB_Domain/servers/<JVM>/security/boot.properties

MSI MODE:
WLS L2 - Temp Page 40
MSI MODE:

Managed Server Independent Mode:

In your env. You have

1 Admin Server
5 Managed Servers.

Now 4 managed server are in stopped state and 1 managed server is in running state.

Now admin Server goes down.

Can you start Your 4 managed servers ? And what will happen to the 1 managed server which is already running ?

If you want to start 4 Managed Server you can still start it ( in CLI ) but not with the help of Node Manager but with
the help of MSI Mode. Which means even if the Admin Server is not running still you will have the managed server
working.

The 1 managed server which is already running will still be running. There is no impact on the existing servers.

MSI mode is enabled by default. You can disable this by going to the managed servers.

Note: If you turn it off you cannot start it by Command Line Mode.

Starting the Managed Server in CLI:


[root@wls-node40 bin]# ./startManagedWebLogic.sh Prod_IVR_MS01 http://localhost:7001

Stopping the Managed Server in CLI:


[wlsuser@wls-node40 bin]$ ./stopManagedWebLogic.sh Prod_IVR_MS01 t3://localhost:7001 weblogic weblogic1

Note: Make sure the admin server is running when you're trying to stop.

WLS L2 - Temp Page 41


Clusters
Wednesday, December 10, 2014 8:04 PM

Agenda:

Introduction & Arch of clusters:


Features of Clusters:
Grouping of Server
Load Balancing
Fail Overs
Cluster Creation:
Cluster Configuration:

Introduction & Arch of Clusters:

Clusters are a virtual component. Clusters are not processes but it's just an configuration. Using Clusters you can deploy
application/JMS/JDBC configuration to a group of servers than one server / multiple server at an time.

DMGR

App Server App Server App Server


Cluster1
Server1 Server3 Server 5
Server2 Server4 Server 6

Features of An Cluster:

Grouping of Servers:

Cluster's on of the features is grouping of JVM together. In this way the deployment of Application is going to be simply a
selection of:

Cluster:
When you select the whole cluster which would have one more or more JVM process, the JMS's are going to help
the application by splitting up the load btw, the servers. And also used for an easier management of application.

You can view the group of JVM's involved in an cluster by going to the cluster and checking the server members.

WLS L2 - Temp Page 42


Part of a cluster:

Not going to be on a cluster but would your application can be deployed to one or more JVM of your cluster. Make
sure you use the check box instead of option box in terms of selecting part of a cluster configuration.

Now this will enable application to directly access themselves as its not part of a cluster.

Load Balancing:

Load Balancing as the name implies it's all about balancing the load you have on the JVM process.

Now load is considered as request which is coming from the client. So huge load in the sense huge amount of request.
Which in-turn tells us that the JVM process would have having huge amount of request coming in. Say for eg, one r which
is configured with a 1GB of RAM and a dual core processor can only handle 10 request at a point of time. But when 100
request comes at a point of time.

a) Memory will not be available


b) Too many threads would be created and the CPU threads will not be able to handle the request on time.

To avoid this over load to the servers. We share the load amount many JVM.

5GB of Ram 4Cores Process

3MS LB -> 1 GB 1Core each. -> 100 Request => 33 Request per MS JVM
3GB 3 Core -> 3 MS JVM Process. -> 100 Request

Round Robin Method:


R1 R1 R1 R1
MS1 W2 = W1 W1 W1 W0 W2 W2 =2 33
MS2 W2 = W2 W1 W1 W1 W0 W2 =2 33
MS3 W2 = W2 W2 W1 W1 W1 W0 =2 33
R1 R1
=====
6

Weighted Avg Method:

R1 R1 R1 R1 R1
MS1 W2 = W1 W1 W1 W0 W2 W2 W2 =2
MS2 W3 = W3 W2 W2 W2 W1 W1 W0 =3
MS3 W2 = W2 W2 W1 W1 W1 W0 W2 =2
R1 R1

Random Method:

Failovers:

WLS L2 - Temp Page 43


Failovers:

Failover is a concept as to which the cluster keep listening to the heart beat of each server configure under it and when one
of the server or multiple server fail's or skip's the heart beat will be marked an unavailable or down. Once it marks in that
status, it will not be sending request to those servers. The listening to the heard beat is a continuous process as in, if the
marked server comes up it will change the status from unavailable to available.

This means cluster is not just for Load Balancing but also there is a logic inside which knows when the server is up or down
so that it can route the request or not.

There are three ways we can configure the servers ( JVM ) Which is part of the cluster.

Horizontal Cluster:

----------------

When we want to configure a horizontal cluster we simply one MS JVM under two or more physical servers.

So under a cluster you would have one MS JVM from each Physical Server added.

Vertical Cluster:

|
|
|
|

This is a configuration of a cluster's members, where in which we configure multiple JVM within one Physical Server.

Hybrid Cluster:

--------|
|
|

This is a configuration of a cluster's members, where you can configure multiple JVM's can be configured under
multiple Physical Machines.

WLS L2 - Temp Page 44


Clustering Messaging Modes:

Unicasting:

One to many connectivity. It’s a type of communication in which cluster member connects to the other cluster member
to share the session related information, JMS related information, Failover related information and Load balancing
information.

Multicasting:

One to many, Where the cluster members will all get connected to a single Multicasting HW. The information like session
related information, JMS related information, Failover related information and Load balancing information will be shared
with the Multicasting HW and the same would be shared by the same.

<Multicasting IP>:port

Under the Hw Multicasting Server, the members details will be listed, where clustering would happen from this end.

Configuration Of Clusters:

WLS L2 - Temp Page 45


To Add Servers into the cluster:

Shutdown all the running MS.

WLS L2 - Temp Page 46


Changing the Weight of the cluster:

WLS L2 - Temp Page 47


WLS L2 - Temp Page 48
Clustered Deployment
Friday, November 19, 2021 17:17

Agenda:
Cluster Deployment
Deployment Order:

Cluster Deployment:

Do the deployment just like above but when it asks to select the targets you need to do the following:

Full Cluster:

Part of a cluster:

After Completing the deployment in the above manner.

Go to:

WLS L2 - Temp Page 49


Start the Managed Servers:

Note: This will start serving the request to all the servers it has been assgined to.
Note: This will start serving in Admin Mode which we will see it on the Adv Deployment

Note: State would be changed to Active.

Now Go and test the application by selecting the deployed app:

Deployment Order:

Every deployment you do will have the default order number of 100. When you have 3 application deployed to weblogic
and you want the A Application to start after B Application And B Application to start after C application.

You assign
C application with a deployment order as 10
B application with a deployment order as 20
A application with a deployment order as 30

In the above way, the application " C " Will start first.

WLS L2 - Temp Page 50


WLST
Monday, October 6, 2014 7:09 PM

WLST = Weblogic Scripting Tool

WLST is designed with JYTHON. You can work with WLST in different ways and methods.

WLST is nothing but another method to approach the Admin Server's configuration & control.

WLST_HOME= /u01/app/Oracle/Middleware/Oracle_home/wlserver/common/bin/

Interactive Mode:

Students and teacher teaching via, asking questions and answers. Where you would be entering into a CLI Console
which is designed for WLST.

Method 1:
/u01/app/Oracle/Middleware/Oracle_home/wlserver/common/bin/

./wlst.sh

Method 2:
java -cp /u01/app/Oracle/Middleware/Oracle_home/wlserver/server/lib/weblogic.jar weblogic.WLST

Non-Interactive Mode:

Method 1:
Go to: <WLS_HOME>/common/bin

./wlst.sh <name of the script file>

Once you enter WLST there are two Modes available:

OFFLINE:

Earlier, we discussed about Private and Public commands.

Just a reminder,
Private:
Admin Server for that Domain is private, or Managed Server for that Domain is private. This
means when you want to start an Admin Server for google domain you need to be in Google
<Domain_home>/bin and you need to start nohup ./startWebLogic.sh &.

Correct ? Yes

Public Means ?

Weblogic Home Directory, which is common for all the domains.


Node Manager(till 11G), which is also common for all the domains.
WLS L2 - Temp Page 51
Node Manager(till 11G), which is also common for all the domains.
WLST, which is also common for all the domains,

When you start WLST, it will not connect to any domain because its public. So it will go to Offline mode by
default. So all the public activities you can do in WLST when it's in offline mode. Public activities like, Creating a
Domain or creating a domain template or starting a Admin Server, Starting a Node Manager.

ONLINE:

How do we connect to Online Mode ?

You have to use a command called

connect('weblogic','weblogic123','t3://192.168.243.161:7001')

Now you would be a part of that domain which runs on the port number 7001 on localhost using the
username and the password.

What can you do in an online mode ?

You can do the same exact thing in WLST as you do in Admin Console.

Working with WLST:

First load WLST, it will go to a command prompt mode of WLST:

You can type help to see the possible options:


wls:/offline> help()

WLST is a command line scripting tool to configure and administer WebLogic Server. Try:

help('all') List all WLST commands available.


help('browse') List commands for browsing the hierarchy.
help('common') List the most commonly used commands.
help('control') List commands for controlling the domain/server.
help('deployment') List commands for deploying applications.
help('diagnostics') List commands for performing diagnostics.
help('editing') List commands for editing the configuration.
help('information') List commands for displaying information.
help('lifecycle') List commands for managing life cycle.
help('nodemanager') List commands for using Node Manager.
help('offline') List all offline commands available.
help('online') List all online commands available.
help('storeadmin') List all store admin commands.
help('trees') List commands use to navigate MBean hierarchy.
help('variables') List all global variables available.

wls:/offline>

You can also give help on various other topics:

WLS L2 - Temp Page 52


help('offline')

Starting Admin Server using WLST:

First take the Help of HELP Command:

==========================
wls:/offline> help('startServer')

Description:

Starts the Administration Server. In the event of an error, the command


returns a WLSTException.

Syntax:

startServer([adminServerName], [domainName], [url], [username], [password], [domainDir], [block], [timeout], [serverLog], [systemProperties], [jvmArgs], [spaceAsJvmArgsDelimiter])
- adminServerName = Optional. Name of the Administration Server to
start. This argument defaults to myserver.

- domainName = Optional. Name of the domain to which the Administration


Server belongs. This argument defaults to mydomain.

- url = Optional. URL of the Administration Server. This argument


defaults to t3://localhost:7001.

- username = Optional. Username use to connect WLST to the server.


This argument defaults to weblogic.

- password = Optional. Password used to connect WLST to the server.


This argument defaults to weblogic.

- domainDir = Optional. Domain directory in which the Administration


Server is being started. This argument defaults to the current
directory in which WLST is running.

- block = Optional. Boolean value specifying whether WLST blocks user


interaction until the server is started. This argument defaults to
true, indicating that user interaction is blocked. In the block="false" case,
WLST returns control to the user after issuing the command and assigns
the task MBean associated with the current task to a variable that you
can use to check its status. If you are importing WLST as a Jython
module, block is always set to true. For more information, see
"Importing WLST as a Jython Module" in "WebLogic Scripting Tool" at
http://www.oracle.com/technology/products/weblogic/index.html.

- timeout = Optional. Time (in milliseconds) that WLST waits for the
server to start before canceling the operation. The default value is
60000 milliseconds. This argument is only applicable when block is set
to true.

- serverLog = Optional. Location of the server log file. This argument


defaults to stdout.

- systemProperties = Optional. System properties to pass to the server


process. System properties should be specified as comma-separated
name-value pairs, and the name-value pairs should be separated by
equals sign (=).

- jvmArgs = Optional. JVM arguments to pass to the server process.


Multiple arguments can be specified, separated by commas by default.

- spaceAsJvmArgsDelimiter = Optional. Boolean value specifying whether


JVM arguments are space delimited. The default value is false.

Example:

wls:/offline> startServer('demoServer','demoDomain',
't3://localhost:8001','myweblogic','wlstdomain','c://mydomains/wlst',
'false', 60000,jvmArgs='-XX:MaxPermSize=75m, -Xmx512m, -XX:+UseParallelGC')
wls:/offline>

==========================
wls:/offline> startServer('AdminServer','DEV_PB_Domain','t3://PRD-NODE1:7001','weblogic','weblogic123','/u01/apps/DEV_PB_Domain/',jvmArgs='-XX:MaxPermSize=125m, -Xmx512m, -XX:+UseParallelGC')
Starting weblogic server ...
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:12 PM IST> <Info> <Security> <BEA-090905> <Disabling the CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -
Dweblogic.security.allowCryptoJDefaultJCEVerification=true.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:12 PM IST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG128 to FIPS186PRNG. To disable this change, specify -
Dweblogic.security.allowCryptoJDefaultPRNG=true.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:13 PM IST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) Client VM Version 24.51-b03 from Oracle Corporation.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:13 PM IST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 12.1.3.0.0 Wed May 21 18:53:34 PDT 2014 1604337 >
.WLST-WLS-1444982172068: <Oct 16, 2015 1:26:15 PM IST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.>

WLS L2 - Temp Page 53


.WLST-WLS-1444982172068: <Oct 16, 2015 1:26:15 PM IST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:15 PM IST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:15 PM IST> <Notice> <Log Management> <BEA-170019> <The server log file
/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/servers/AdminServer/logs/AdminServer.log is opened. All server side log events will be written to this file.>
.WLST-WLS-1444982172068: <Oct 16, 2015 1:26:19 PM IST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>
.WLST-WLS-1444982172068: <Oct 16, 2015 1:26:20 PM IST> <Notice> <Security> <BEA-090171> <Loading the identity certificate and private key stored under the alias DemoIdentity from the jks keystore file
/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/security/DemoIdentity.jks.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:21 PM IST> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /opt/Oracle/Middleware/Oracle_Home/wlserver/server/lib/DemoTrust.jks.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:21 PM IST> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /opt/java/jre/lib/security/cacerts.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:21 PM IST> <Alert> <Security> <BEA-090152> <Demo trusted CA certificate is being used in production mode: [
WLST-WLS-1444982172068: [
WLST-WLS-1444982172068: Version: V3
WLST-WLS-1444982172068: Subject: CN=CACERT, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
WLST-WLS-1444982172068: Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4
WLST-WLS-1444982172068:
WLST-WLS-1444982172068: Key: Sun RSA public key, 512 bits
WLST-WLS-1444982172068: modulus:
95501928778692442588384807033904560150464253752522782791906730635441225109254821799633292360521460473564159575876280112824847 72458983977898996276815440753
WLST-WLS-1444982172068: public exponent: 65537
WLST-WLS-1444982172068: Validity: [From: Fri Mar 22 01:42:27 IST 2002,
WLST-WLS-1444982172068: To: Wed Mar 23 01:42:27 IST 2022]
WLST-WLS-1444982172068: Issuer: CN=CACERT, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
WLST-WLS-1444982172068: SerialNumber: [ 33f10648 fcde0deb 4199921f d64537f4]
WLST-WLS-1444982172068:
WLST-WLS-1444982172068: Certificate Extensions: 1
WLST-WLS-1444982172068: [1]: ObjectId: 2.5.29.15 Criticality=true
WLST-WLS-1444982172068: KeyUsage [
WLST-WLS-1444982172068: Key_CertSign
WLST-WLS-1444982172068: ]
WLST-WLS-1444982172068:
WLST-WLS-1444982172068: ]
WLST-WLS-1444982172068: Algorithm: [MD5withRSA]
WLST-WLS-1444982172068: Signature:
WLST-WLS-1444982172068: 0000: 9D 26 4C 29 C8 91 C3 A7 06 C3 24 6F AE B4 F8 82 .&L)......$o....
WLST-WLS-1444982172068: 0010: 80 4D AA CB 7C 79 46 84 81 C4 66 95 F4 1E D8 C4 .M...yF...f.....
WLST-WLS-1444982172068: 0020: E9 B7 D9 7C E2 23 33 A4 B7 21 E0 AA 54 2B 4A FF .....#3..!..T+J.
WLST-WLS-1444982172068: 0030: CB 21 20 88 81 21 DB AC 90 54 D8 7D 79 63 23 3C .! ..!...T..yc#<
WLST-WLS-1444982172068:
WLST-WLS-1444982172068: ]. The system is vulnerable to security attacks, since it trusts certificates signed by the demo trusted CA.>
..WLST-WLS-1444982172068: <Oct 16, 2015 1:26:27 PM IST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:27 PM IST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.>
WLST-WLS-1444982172068: Oct 16, 2015 1:26:27 PM weblogic.wsee.WseeCoreMessages logWseeServiceStarting
WLST-WLS-1444982172068: INFO: The Wsee Service is starting
.WLST-WLS-1444982172068: <Oct 16, 2015 1:26:28 PM IST> <Warning> <Munger> <BEA-2156203> <A version attribute was not found in element "web-app" in the deployment descriptor /opt/software/ear/Calendar_1.0.war/WEB-
INF/web.xml. A version attribute is required, but this version of the WebLogic Server will assume that the latest version is used. Future versions of WebLogic Server will reject descriptors that do not specify the Java EE version. To
eliminate this warning, add an appropriate "version=" to element "web-app" in the deployment descriptor.>
.WLST-WLS-1444982172068: <Oct 16, 2015 1:26:32 PM IST> <Notice> <Log Management> <BEA-170027> <The server has successfully established a connection with the Domain level Diagnostic Service.>
.WLST-WLS-1444982172068: <Oct 16, 2015 1:26:33 PM IST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:34 PM IST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:34 PM IST> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 192.168.224.140:8001 for protocols iiop, t3, ldap, snmp, http.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:34 PM IST> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure" is now listening on 192.168.224.140:8002 for protocols iiops, t3s, ldaps, https.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:34 PM IST> <Notice> <Server> <BEA-002613> <Channel "Default[2]" is now listening on 0:0:0:0:0:0:0:1:8001 for protocols iiop, t3, ldap, snmp, http.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:34 PM IST> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[2]" is now listening on 0:0:0:0:0:0:0:1:8002 for protocols iiops, t3s, ldaps, https.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:34 PM IST> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[3]" is now listening on 127.0.0.1:8002 for protocols iiops, t3s, ldaps, https.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:34 PM IST> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[1]" is now listening on fe80:0:0:0:20c:29ff:fef8:205f:8002 for protocols iiops, t3s, ldaps, https.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:34 PM IST> <Notice> <Server> <BEA-002613> <Channel "Default[3]" is now listening on 127.0.0.1:8001 for protocols iiop, t3, ldap, snmp, http.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:34 PM IST> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on fe80:0:0:0:20c:29ff:fef8:205f:8001 for protocols iiop, t3, ldap, snmp, http.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:34 PM IST> <Notice> <WebLogicServer> <BEA-000329> <Started the WebLogic Server Administration Server "AdminServer" for domain "Prod_IVR" running in production mode.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:34 PM IST> <Notice> <WebLogicServer> <BEA-000360> <The server started in RUNNING mode.>
WLST-WLS-1444982172068: <Oct 16, 2015 1:26:34 PM IST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>
Server started successfully.

DON’T PRESS CONTROL+C USE exit()

Now you will get a lot of commands, still you can give help on those,
wls:/offline> help('startNodeManager')

Description:

Start Node Manager at default port (5556).

NOTE: The WebLogic Server custom installation process


optionally installs and starts Node Manager as a Windows
service on Windows systems. For more information, see
"About Node Manager Installation as a Windows Service"
in "Oracle Products Installation Guide" at
http://www.oracle.com/technology/products/weblogic/index.html.
In this case, you do not need to start the Node Manager manually.

If Node Manager is already running when you invoke the startNodeManager


command, the following message is displayed:
A Node Manager has already been started.
Cannot start another Node Manager process via WLST

WLS L2 - Temp Page 54


In the event of an error, the command returns a WLSTException.

Syntax:

startNodeManager([verbose], [nmProperties])
- verbose = Optional. Boolean value specifying whether WLST starts
Node Manager in verbose mode. This argument defaults to false, disabling
verbose mode.

- nmProperties = Optional. Comma-separated list of Node Manager properties,


specified as name-value pairs. Node Manager properties include, but are not
limited to, the following: NodeManagerHome, ListenAddress, ListenPort, and
PropertiesFile.

Example:

wls:/mydomain/serverConfig> startNodeManager(verbose='true', NodeManagerHome='c:/bea/weblogic90/common/nodemanager', ListenPort='6666', ListenAddress='myhost')


Launching Node Manager ...
Successfully launched the Node Manager.
The Node Manager process is running independent of the WLST process
Exiting WLST will not stop the Node Manager process. Please refer
to the Node Manager logs for more information.
The Node Manager logs will be under c:\bea\weblogic90\common\nodemanager
wls:/mydomain/serverConfig>

Starting Node Manager using WLST:

Note: The Node Manager has to be started for the first time using CLI Mode but NOT USING WLST.

If Node Manager is already running please kill the process, this won't affect the process which was started using Node
Manager.
startNodeManager(NodeManagerHome='/u01/apps/DEV_PB_Domain/nodemanager',ListenPort='5559',ListenAddress='PRD-NODE1')
Launching NodeManager ...
Running startNodeManager.sh from the directory /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/bin
NMProcess: NODEMGR_HOME is already set to /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/nodemanager
NMProcess:
CLASSPATH=/opt/java/lib/tools.jar:/opt/Oracle/Middleware/Oracle_Home/wlserver/server/lib/weblogic_sp.jar:/opt/Oracle/Middleware/Oracle_Home/wlserver/server/lib/weblogic.jar:/opt/Oracle/Middleware/Oracle_Home/oracl
e_common/modules/net.sf.antcontrib_1.1.0.0_1-0b3/lib/ant-contrib.jar:/opt/Oracle/Middleware/Oracle_Home/wlserver/modules/features/oracle.wls.common.nodemanager_
2.0.0.0.jar:/opt/java/lib/tools.jar:/opt/Oracle/Middleware/Oracle_Home/wlserver/server/lib/weblogic_sp.jar:/opt/Oracle/Middleware/Oracle_Home/wlserver/server/lib/weblogic.jar:/opt/Oracle/Middleware/Oracle_Home/oracle_
common/modules/net.sf.antcontrib_1.1.0.0_1-0b3/lib/ant-contrib.jar:/opt/Oracle/Middleware/Oracle_Home/wlserver/modules/features/oracle.wls.common.nodemanager_
2.0.0.0.jar::/opt/Oracle/Middleware/Oracle_Home/oracle_common/modules/features/cieCfg_wls_lib_
12.1.3.jar::/opt/Oracle/Middleware/Oracle_Home/wlserver/common/derby/lib/derbynet.jar:/opt/Oracle/Middleware/Oracle_Home/wlserver/common/derby/lib/derbyclient.jar:/opt/Oracle/Middleware/Oracle_Home/wlserver/co
mmon/derby/lib/derby.jar:/opt/Oracle/Middleware/Oracle_Home/wlserver/common/derby/lib/derbytools.jar:/opt/Oracle/Middleware/Oracle_Home
NMProcess: + /opt/java/bin/java -server -Xms32m -Xmx200m -XX:MaxPermSize=128m -Dcoherence.home=/opt/Oracle/Middleware/Oracle_Home/coherence -Dbea.home=/opt/Oracle/Middleware/Oracle_Home -DListenAddress= -
DNodeManagerHome=/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/nodemanager -DQuitEnabled=true -DListenPort=5557 -
Dweblogic.RootDirectory=/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR -Dweblogic.RootDirectory=/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR -Xverify:none -
Djava.endorsed.dirs=/opt/java/jre/lib/endorsed:/opt/Oracle/Middleware/Oracle_Home/oracle_common/modules/endorsed -Djava.security.policy=/opt/Oracle/Middleware/Oracle_Home/wlserver/server/lib/weblogic.policy -
Dweblogic.nodemanager.JavaHome=/opt/java weblogic.NodeManager -v
NMProcess: <Oct 16, 2015 1:27:16 PM IST> <INFO> <Loading domains file: /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/nodemanager/nodemanager.domains>
NMProcess: <Oct 16, 2015 1:27:17 PM IST> <INFO> <Loading identity key store: FileName=/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/security/DemoIdentity.jks, Type=jks, PassPhraseUsed=true>
NMProcess: <Oct 16, 2015 1:27:17 PM IST> <INFO> <Loaded NodeManager configuration properties from '/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/nodemanager/nodemanager.properties'>
NMProcess: Node manager v12.1.3
NMProcess:
NMProcess: Configuration settings:
NMProcess:
NMProcess: DomainsFile=/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/nodemanager/nodemanager.domains
NMProcess: LogLimit=0
NMProcess: DomainsDirRemoteSharingEnabled=false
NMProcess: AuthenticationEnabled=true
NMProcess: LogLevel=INFO
NMProcess: DomainsFileEnabled=true
NMProcess: ListenAddress=
NMProcess: NativeVersionEnabled=true
NMProcess: ProcessDestroyTimeout=20000
NMProcess: ListenPort=5557
NMProcess: LogToStderr=true
NMProcess: weblogic.StartScriptName=startWebLogic.sh
NMProcess: SecureListener=true
NMProcess: LogCount=1
NMProcess: QuitEnabled=true
NMProcess: LogAppend=true
NMProcess: weblogic.StopScriptEnabled=false
NMProcess: StateCheckInterval=500
NMProcess: CrashRecoveryEnabled=false
NMProcess: weblogic.StartScriptEnabled=true
NMProcess: LogFile=/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/nodemanager/nodemanager.log
NMProcess: LogFormatter=weblogic.nodemanager.server.LogFormatter
NMProcess: coherence.StartScriptEnabled=false
NMProcess: ListenBacklog=50
NMProcess: NodeManagerHome=/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/nodemanager
NMProcess: weblogic.startup.JavaHome=/opt/java
NMProcess: weblogic.startup.MW_Home=
NMProcess: coherence.startup.JavaHome=/opt/java
NMProcess: coherence.startup.MW_Home=
NMProcess:
NMProcess: Domain name mappings:
NMProcess:
NMProcess: Prod_MYTEL -> /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_MYTEL
NMProcess: Prod_LAC -> /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_LAC

WLS L2 - Temp Page 55


NMProcess: Prod_LAC -> /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_LAC
NMProcess: Prod_IVR -> /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR
NMProcess: Prod_IVR_wls-node41 -> /home/wlsuser/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR_wls-node41
NMProcess:
NMProcess: <Oct 16, 2015 1:27:17 PM IST> <INFO> <WebLogic Server 12.1.3.0.0 Wed May 21 18:53:34 PDT 2014 1604337 >
NMProcess: <Oct 16, 2015 1:27:18 PM IST> <INFO> <Prod_LAC> <Prod_LAC_Server01> <Startup configuration properties loaded from
"/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_LAC/servers/Prod_LAC_Server01/data/nodemanager/startup.properties">
NMProcess: <Oct 16, 2015 1:27:18 PM IST> <INFO> <Prod_IVR> <prod_IVR_server02> <Startup configuration properties loaded from
"/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/servers/prod_IVR_server02/data/nodemanager/startup.properties">
NMProcess: <Oct 16, 2015 1:27:18 PM IST> <INFO> <Prod_IVR> <prod_IVR_server01> <Startup configuration properties loaded from
"/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/servers/prod_IVR_server01/data/nodemanager/startup.properties">
NMProcess: <Oct 16, 2015 1:27:19 PM IST> <INFO> <Secure socket listener started on port 5557>
The Node Manager is launched.
The Node Manager process is running independent of the WLST process.
Exiting WLST will not stop the Node Manager process. Please refer to the Node Manager logs for more information.
The Node Manager logs will be under /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/Prod_IVR/nodemanager
Launching Node Manager is completed.

Don’t give Control+C to exit. Use the exit() command.

Decrypting Node Manager Password from Config.xml

wls:/offline> domain = "/u01/apps/DEV_PB_Domain"


wls:/offline> service = weblogic.security.internal.SerializedSystemIni.getEncryptionService(domain)
wls:/offline> encryption = weblogic.security.internal.encryption.ClearOrEncryptedService(service)
wls:/offline> print encryption.decrypt("{AES}WDhZb5/IP95P4eM8jwYITiZs01kawSeliV59aFog1jE=")

Connecting to the Admin Server:


connect('weblogic','weblogic123','t3://PRD-NODE1:7001')

To list the configuration & folders:

ls()

Changing the port number of the second Managed Server:

I want to change from 9080 to 9090

First thing understand what would you do to change the same from the Admin Console,

Go to Admin Console -> Servers -> Lock and Edit -> start the editing -> change the port number -> Activate the
changes -> Stop or exit the edit state.

WLS L2 - Temp Page 56


wls:/google_prod_domain/serverConfig/Servers/google_ms2> edit()
Location changed to edit tree. This is a writable tree with
DomainMBean as the root. To make changes you will need to start
an edit session via startEdit().

For more help, use help(edit)

wls:/google_prod_domain/edit> startEdit()
Starting an edit session ...
Started edit session, please be sure to save and activate your
changes once you are done.
wls:/google_prod_domain/edit !> cd('Servers/google_ms2')
wls:/google_prod_domain/edit/Servers/google_ms2 !> set('ListenPort',9090)
wls:/google_prod_domain/edit/Servers/google_ms2 !> save()
wls:/google_prod_domain/edit/Servers/google_ms2 !> ls()

-rw- ListenPort 9090

wls:/google_prod_domain/edit/Servers/google_ms2 !> activate()


Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released
once the activation is completed.

Activation completed
wls:/google_prod_domain/edit/Servers/google_ms2 !> stopEdit()

To State / Start / Stop:

help('state')
==================
wls:/mydomain/serverConfig> state('managed1','Server')
Current state of 'managed1': SUSPENDED
wls:/mydomain/serverConfig>

wls:/mydomain/serverConfig> state('mycluster','Cluster')
There are 3 server(s) in cluster: mycluster

States of the servers are


MServer1---SHUTDOWN
MServer2---SHUTDOWN
MServer3---SHUTDOWN
wls:/mydomain/serverConfig>

==================
wls:/google_prod_domain/serverConfig> state('Prod_Yahoo_MS1','Server')
Current state of 'google_ms1' : RUNNING
wls:/google_prod_domain/serverConfig>

This will tell you the status of the server / cluster.

To Stop MS1 & Start MS2:


wls:/google_prod_domain/serverConfig> shutdown('google_ms1','Server')
Shutting down the server google_ms1 with force=false while connected to AdminServer ...
wls:/google_prod_domain/serverConfig> start('Prod_Yahoo_MS1','Server')

Starting server google_ms2 .........................................................


Server with name google_ms2 started successfully
wls:/google_prod_domain/serverConfig>

Deployment

Checking out what is deployed on the servers:


wls:/Google_domain/edit> cd('AppDeployments')

WLS L2 - Temp Page 57


wls:/Google_domain/edit> cd('AppDeployments')
wls:/Google_domain/edit/AppDeployments> ls()
dr-- SwiffChartJSPSamples

wls:/Google_domain/edit/AppDeployments>

Delete this application which is already installed and reinstall the same application again:
wls:/Google_domain/edit/AppDeployments> undeploy('SwiffChartJSPSamples')
Undeploying application SwiffChartJSPSamples ...
<Oct 5, 2014 12:34:33 AM IST> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating undeploy operation for application, SwiffChartJSPSamples [archive: null], to google_cluster .>
.Completed the undeployment of Application with status completed
Current Status of your Deployment:
Deployment command type: undeploy
Deployment State : completed
Deployment Message : [Deployer:149194]Operation 'remove' on application 'SwiffChartJSPSamples' has succeeded on 'google_ms2'
wls:/Google_domain/edit/AppDeployments> ls()

wls:/Google_domain/edit/AppDeployments>

Installation of new ear file:


wls:/Google_domain/edit/AppDeployments>
deploy('SwiffChartJSPSamples','/opt/software/EAR/SwiffChartJSPSamples.ear',targets="Prod_IVR_Cluster01",planPath="/opt/Oracle/Middleware/user_projects/domains/Google_domain/Plan.xml")
Deploying application from /opt/software/ear/SwiffChartJSPSamples.ear to targets google_cluster (upload=false) ...
<Oct 5, 2014 12:48:29 AM IST> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating deploy operation for application, SwiffChartJSPSamples [archive: /opt/software/ear/SwiffChartJSPSamples.ear], to google_cluster .>
.Completed the deployment of Application with status completed
Current Status of your Deployment:
Deployment command type: deploy
Deployment State : completed
Deployment Message : [Deployer:149194]Operation 'deploy' on application 'SwiffChartJSPSamples' has succeeded on 'google_ms2'
wls:/Google_domain/edit/AppDeployments>

deploy('PB','/opt/software/ear/PB.war',targets="DEV_PB_Cluster01")

Disconnect from admin server:

disconnect()
exit()

Non-Interactive method:

Put the following commands into the following file named execute.py:
startServer('AdminServer','DEV_PB_Domain','t3://PRD-NODE1:7001','weblogic','weblogic123','/u01/apps/DEV_PB_Domain/',jvmArgs='-XX:MaxPermSize=125m, -Xmx512m, -XX:+UseParallelGC')
print 'admin server is started'
startNodeManager(NodeManagerHome='/u01/apps/DEV_PB_Domain/nodemanager',ListenPort='5556',ListenAddress='PRD-NODE1')
print 'NM server is started'
connect('weblogic','weblogic123','t3://PRD-NODE1:7001')
print 'connected to the admin server'
#shutdown('DEV_PB_MS1','Server')
#print 'shutdown the server 2'
#shutdown('DEV_PB_MS2','Server')
#print 'shutdown the server 1'
undeploy('PB')
print 'undeployment completed sucessfully'
deploy('PB','/opt/software/ear/PB.war',targets="DEV_PB_Cluster01")
print 'deploying'
print 'starting up the servers'
start('DEV_PB_Cluster01','Cluster')
print 'Job Completed'

Run this command.


[root@localhost bin]# ./wlst.sh /tmp/execute.py

WLS L2 - Temp Page 58


WLS L2 - Temp Page 59
JDBC
Sunday, December 21, 2014 7:47 AM

Agenda:
Introduction:
Creating a Provider:
Creating a DS:
Configuring a Connection Pool:
Testing with the database:

JDBC: O/S Derby (derbydb)


Localhost: 1527
App Server
JDBC Provider

Data Source

Host: Port: DB: Username: Password:


URL: JDBC:derby://localhost:1527/demodb
JNDI: jdbc/derbydb | DS: derbydb

Introduction:

Java DataBase Connectivity. Where we use JDBC to connect to different databases to get the values from the database in
terms of updating the client with them. You can create new tables or modify existing or delete the tables.

To create a database connectivity, the following should be created first:

A Weblogic Application Server. -> WLS


A Database Server ( could be any database ). -> Derby/MYSQL

A Provider Created. -> Provider gives the details of what the database is and how weblogic has to communicate with it.
So basically we need to load a module to the WLS and implementation class and helper class ( default ). These details
can be either collected from the internet or got from DB Admin's.

A Data Source Created. -> Here we provide more details about the database we are connecting with firstly we start with
a JNDI ( Java Naming Directory Interface ) name, where JNDI name would be referred by the application which is trying
to access this database. Hence, the JNDI should match the client requirements. The Database Name. The Database
Server Host Name. The Database User Name. The Database Password. The Database port number.

A Connection Pool Defined. -> We fine tune some values here where these values are used while connecting to the
database.

Note: You can install a database on single system or multiple ( network connectivity is required ).

Configuration of Database:

WLS L2 - Temp Page 60


Configuration in WLS:

WLS L2 - Temp Page 61


Connection pool:

WLS L2 - Temp Page 62


When your M.Server starts, this is what it's going to create. The number of connections to the database.

Min number of the connections with will be maintained all the time.

Max number of connections available at a point of time.

Multi Datasource:

Multi datasource can be only used when you have more than one data source available.

WLS L2 - Temp Page 63


WLS L2 - Temp Page 64
JMS
Monday, October 6, 2014 7:08 PM

JMS:

Java Messaging services are used to send messages to different applications components in your application.

It is designed for interacting with the customers.

JMX:

Java Messaging Extension, are used to send messages to different components in your weblogic server.

This is designed to interact with internal components and sub components of weblogic.

JMS:

Example of how JMS works:

Automobile company:

Manufacturing Team:

Invoice Team:

Sales Team:

We have designed an application using EJB which sends out messages to different teams. Now this communication which
is happening will be used via, JMS.

JMS will have a JMS Servers + Connection Factory + Queues/Topics + Stores.

For anyone who wants to communicate btw, different components in their company uses messages in different ways,
some uses applications which would send out mails to a particular team, and that team can respond immediately or they
might take a while to respond, so they created JMS to have such a facility. Also JMS messages should be sent out in a
way where until the message is actually delivered to the right person a backup of that message should be present.

JMS Advantage:

You can have a,

Synchronized Communication:

The Communication which would happen would be like a voice chat or a video chat, where that other person
should be online and he should be sending out a response to your conversation.

A-Synchronized Communication:

This communication is like the mail communication where, when a mail is sent out it doesn’t require the other

WLS L2 - Temp Page 65


This communication is like the mail communication where, when a mail is sent out it doesn’t require the other
person to be online.

Queues:

SENDER JMS Server Receiver

In this messaging System, the messages are sent out using the following rules,

 Sender knows the receiver. When a sender sends out a message he knows who he is sending to.
 Guaranteed Delivery, Queue maintain a persistent store, where, it stores the messages until it delivers
successfully.
 The Messages which are sent out from the Queue, goes out, in a line / one by one.
 The messages travel from SENDER to the JMS Server and to the receiver.
 There is no time limit for these messages which are stored in the JMS Server. As the messages would wait until
the receiver gets / download the message.

Topics:

Publisher JMS Server Subscriber

 A Publisher publishes a message or broadcast a message, where the message is broadcasted in the JMS Server,
and the subscriber would receive the message from his end.
 A publisher is a person who creates messages and put them on the JMS server where he doesn’t know any
subscribers, which means there is no relation btw, publisher and a subscribers.
 There is no line system in this format of JMS, where these messages can be broadcasted to a lot of subscribers
 There is a time limit for these messages which is broadcasted to the JMS server, where in which if the time limit
expires then the subscribers would not be able to download or get the message.

JMS Server:

This is where the messages are broadcasted or published or sent to.

Connection Factory:

This is where the connectivity btw, the servers are in place. Where the connection btw sender -> JMS Server ->
Receiver is defined here.

Configuration of JMS:

Creating Persistence Store:

WLS L2 - Temp Page 66


* Direct-Write

Direct I/O is supported on all platforms. When available, file stores in direct I/O mode automatically load the native I/O wlfileio driver. This option tends
to out-perform Cache-Flush and tend to be slower than Direct-Write-With-Cache. This mode does not require a native store wlfileio driver, but performs
faster when they are available.

* Direct-Write-With-Cache

Store records are written synchronously to primary files in the directory specified by the Directory attribute and asynchronously to a corresponding
cache file in the Cache Directory. The Cache Directory provides information about disk space, locking, security, and performance implications. This mode
requires a native store wlfileiocode driver. If the native driver cannot be loaded, then the write mode automatically switches to Direct-Write. See Cache
Directory.

* Cache-Flush

Transactions cannot complete until all of their writes have been flushed down to disk. This policy is reliable and scales well as the number of
simultaneous users increases. Transactionally safe but tends to be a lower performer than direct-write policies.

* Disabled

Transactions are complete as soon as their writes are cached in memory, instead of waiting for the writes to successfully reach the disk. This is the
fastest policy because write requests do not block waiting to be synchronized to disk, but, unlike other policies, is not transactionally safe in the event of
operating system or hardware failures. Such failures can lead to duplicate or lost data/messages. This option does not require native store wlfileio drivers,
but may run faster when they are available. Some non-WebLogic JMS vendors default to a policy that is equivalent to Disabled.

WLS L2 - Temp Page 67


Create a JMS Server:

Note: that the server persistent store and the JMS Server should be on the same instance.

Creating A Module:

WLS L2 - Temp Page 68


Creating Sub-Deployments:

WLS L2 - Temp Page 69


Creating a Connection Factory Module:

WLS L2 - Temp Page 70


Creating Distributed Queues:

WLS L2 - Temp Page 71


If there is any error, please shutdown the JVM in the cluster under the target.

Note: The above mentioned procedure is correct, when your mapping to an cluster which is on a distributed queue. If you
need queue you need to map from the beginning to a particular server.

WLS L2 - Temp Page 72


APACHE HTTP SERVER
Wednesday, December 3, 2014 7:28 AM

Webservers:

Apache HTTPD Server:

Apache http servers are the webservers which is available to serve the static file
request like html xml images files.

It is configured as a separate entity or separate services, because it is used for reducing


the load on the Application Servers.
WLS L2 - Temp Page 73
the load on the Application Servers.

Features of Apache HTTP Server:

DSO:

Dynamically Shared Objects:

After Apache httpd server 1.3 version the DSO concept was introduced. What is
DSO ?

Dynamical -> Constant changes


Shared -> one more resources can use this.
Objects -> system objects

Previous to the version 1.3 where there was no DSO concept, whenever they need
to add an object into the apache httpd server they need compile it from the
beginning.

For an eg: if you have installed Apache HTTPD Server without the support of SSL.
Now suddenly the client says I need SSL. You need to start the installation again
adding all the components / features (previously selected) + SSL.

But in the version 1.3+ we don’t need to do that. As you can compile the ssl package
and take the objects and place it in the modules folder and load it into Apache's
configuration and restart. The apache httpd server will have the capability of serving
SSL request.

MPM:

Multi Processing Module:

Multi -> Multiple ways


Processing -> Multiple way of processing a request
Module -> It's an add on.

Previous to version 2.0 we have only one way of handing the request.

WLS L2 - Temp Page 74


A Request is when a person/user, while trying to browse an website. When he
enters the URL in the URL bar and types enter it becomes a request to the
web server / App Server.

All requests would be handled by a process (CPU). In other terms, when a


request hits the web server/ app server a process gets generated. Hence, 500
request means how many process gets created ? 500 process. Process uses high
memory utilization. So your apache http server is worth of 10 MB every process
will take 10 MB each process. 500 request X 10MB for each process = 5,000 MB
required.

Almost 5GB of Ram required only for the Apache HTTPD Server to process 500
clients. This method of handling the request is called PREFORK.

From 2.0 there is another concept came into the picture, where this concept
basically focus on reducing the CPU Usage which is occupied by every process.

The main focus is to distribute the memory for each process, WORKER concept
where each request would be handled by one thread of a process. You can
configure multiple threads for each process, but threads are little risky because if
one thread hung, it would eat all the memory and you have to kill the entire
process to kill the hogging thread.

500 request / 2 Threads = 250 Process X 10MB for each process = 2500 MB
required.

Installation of APACHE HTTPD SERVERS:

WLS L2 - Temp Page 75


Source Installation:

You can choose what objects / modules you want at the time of installation itself.
But these modules requires depended packages. So until you install what’s
dependent you will not be able to proceed with the installation.

The Source installation has three steps:


a) Configure all the resources you need for the installation
b) Compile all the resources you have gathered
c) Moving / Copying files to the installed Location.

Binary Installation:

Already installed version would be zipped and put up in the website. You can
download the appropriate version of the Binary Package extract the package and
move it to the correct location where it was previously installed.

1) Check the appropriate zip file to be downloaded.


2) Download the zip file
3) Extract the zip file
4) Move it to the correct location which was installed previously

Install Apache HTTPD Server:

Locate the file:


[root@localhost software]# cd /opt/software/httpd/
[root@localhost http]#

How to find the correct location where it was installed previously ?

For that you need to check the configuration file of HTTPD Server. In there you need
to search for ServerRoot

First check for the configuration file:

WLS L2 - Temp Page 76


[root@localhost http]# ls
httpd
[root@localhost http]# cd httpd
[root@localhost httpd]# ls
bin build cgi-bin conf error htdocs icons include lib man manual modules
[root@localhost httpd]# cd conf/
[root@localhost conf]# vi httpd.conf

Check for the ServerRoot variable:


ServerRoot "/opt/httpd/"

Now we need to move the whole folder to that location:


[root@localhost conf]# cd ..
[root@localhost httpd]# cd ..
[root@localhost http]# ls
httpd httpd.tar.gz
[root@localhost http]# mv httpd /opt/

Now checking the new location:


[root@localhost http]# cd /opt/httpd/
[root@localhost httpd]# ls
bin build cgi-bin conf error htdocs icons include logs man manual modules
[root@localhost httpd]#

Bin -> Binary executable files.


Conf -> apache http server configuration would be present.
Error -> error documents.
Htdocs -> default document root of apache.
Modules -> which has the third party modules.

Let’s configure a website:

Reality Check:

We don’t have an dedicated IP Address where we can register with DNS


We don’t have a nice website

What we have:

We have a local DNS.


We can make a html file for our website.
We have apache httpd server to serve the website.
WLS L2 - Temp Page 77
We have apache httpd server to serve the website.
You have a browse to browse the website.

Steps:

a. Deciding the Virtual Host.


b. Modifying the configuration
c. Adding Websites files and folder
d. Modifying the Host Entry for DNS purpose
e. Checking for syntax errors
f. Starting up Apache httpd server
g. Browsing our website.

Virtual Host:

Hosting multiple websites in one apache httpd server. Without VH you cannot
browse multiple servers in you HTTPD server. You can only brwose one server per
one HTTPD installation.

Three types of VH:

IP Based VH:

We have multiple IP Addresses and each website would be configured on these


IP Addresses. Say for eg, if you would like to configure 3 websites in one httpd
server you can only do with a virutal host. But if you want to configure these
three website with a dedicated IP Addresses then you should go for the option of
IP Based VH.

<VirtualHost 192.168.1.20:80>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/IVR"
ServerName www.ivr.com
ServerAlias ivr.com
ErrorLog "logs/ivr.com-error_log"
CustomLog "logs/ivr.com-access_log" common
</VirtualHost>

<VirtualHost 192.168.1.21:80>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/IVR"
ServerName www.ivr.com
ServerAlias ivr.com
ErrorLog "logs/ivr.com-error_log"

WLS L2 - Temp Page 78


ErrorLog "logs/ivr.com-error_log"
CustomLog "logs/ivr.com-access_log" common
</VirtualHost>

Name Based VH:

We have only one IP Address. Now you need to configure 3 websites on this one
IP Address, then you need to configure Name based VH settings. So here, the
name of the website will be different hence apache httpd server would
differentiate websites using the name but not the IP Address.

NameVirtualHost *:80

<VirtualHost *:80>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/IVR"
ServerName www.ivr.com
ServerAlias ivr.com
ErrorLog "logs/ivr.com-error_log"
CustomLog "logs/ivr.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/lac"
ServerName lac.com
ServerAlias www.lac.com
DirectoryIndex index.html default.html
ErrorLog "logs/lac.com-error_log"
CustomLog "logs/lac.com-access_log" common
</VirtualHost>

Port Number Based VH:

We have one IP Address one website name but we need to configure three
website with the same name and with the same IP address. In that case
something should be unique which will be the port number.

http://www.yahoo.com
Http://www.yahoo.com:8080
Http://www.yahoo.com:9090

Note Listen should be defined:


Listen 8080
Listen 9090

WLS L2 - Temp Page 79


Listen 9090

<VirtualHost 192.168.1.20:8080>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/IVR"
ServerName www.ivr.com
ServerAlias ivr.com
ErrorLog "logs/ivr.com-error_log"
CustomLog "logs/ivr.com-access_log" common
</VirtualHost>

<VirtualHost 192.168.1.20:9090>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/IVR"
ServerName www.ivr.com
ServerAlias ivr.com
ErrorLog "logs/ivr.com-error_log"
CustomLog "logs/ivr.com-access_log" common
</VirtualHost>

Context Root Based ( Its not part of Apache HTTPD Server ):

Same IP same website name same port number but different context root.

http://www.yahoo.com/abc
http://www.yahoo.com/ncd
http://www.yahoo.com/sdf

http://www.yahoo.com:8080/abc
http://www.yahoo.com:8080/bcd
http://www.yahoo.com:8080/sdf

Configuration of couple of websites:

www.lac.com
www.ivr.com

[root@localhost ~]# vi /opt/httpd/conf/httpd.conf

Note: Go to the end of the file and copy paste the below:
NameVirtualHost *:80

<VirtualHost *:80>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/IVR"

WLS L2 - Temp Page 80


DocumentRoot "/opt/content/IVR"
ServerName www.ivr.com
ServerAlias ivr.com
ErrorLog "logs/ivr.com-error_log"
CustomLog "logs/ivr.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/LAC"
ServerName lac.com
ServerAlias www.lac.com
DirectoryIndex index.html default.html
ErrorLog "logs/lac.com-error_log"
CustomLog "logs/lac.com-access_log" common
</VirtualHost>

Now save and quit.

Check the syntax:


[root@localhost ~]# /opt/httpd/bin/apachectl -t
Warning: DocumentRoot [/opt/content/IVR] does not exist
Warning: DocumentRoot [/opt/content/LAC] does not exist
Syntax OK

Creating the Doucment Root and the content:


[root@localhost ~]# mkdir /opt/content/
[root@localhost ~]# mkdir /opt/content/IVR
[root@localhost ~]# mkdir /opt/content/LAC
[root@localhost ~]# vi /opt/content/IVR/index.html

<HTML>
<BODY BGcolor=green>
<Head>
Hello This is IVR Application..
</HEAD>
<H2> Welcome To IVRS<H2>
</Body>
</HTML>

[root@localhost ~]# vi /opt/content/LAC/index.html

<HTML>
<BODY BGcolor=yellow>
<Head>
Hello This is IVR Application..
</HEAD>
<H2> Welcome To LACSS<H2>
</Body>
</HTML>

Note: The above eg only for IVR change it to LAC in case if your creating another file.

From here on for Apache HTTP Server we need to become Root user to start HTTP
Server:

Port number restriction makes sure that 0 - 1024 port number should be only
started by a root user.

WLS L2 - Temp Page 81


Switch to root user:
[wlsuser@wls-node40 conf]$ su -
Password:

Note the password of the root should be given.

Create the host entry ( DNS entry of the website )


[root@localhost ~]# vi /etc/hosts

127.0.0.1 localhost.localdomain localhost www.ivr.com ivr.com www.lac.com lac.com

:wq

Syntax and Starting:


[root@localhost ~]# /opt/httpd/bin/apachectl -t
Syntax OK
[root@localhost ~]# /opt/httpd/bin/apachectl start
(2)No such file or directory: httpd: could not open error log file /opt/httpd/logs/error_log.
Unable to open logs

It says the logs folder is not able to be opened. Which means the folder might not
exists.
[root@localhost ~]# mkdir /opt/httpd/logs
[root@localhost ~]# /opt/httpd/bin/apachectl start
[root@localhost ~]# /opt/httpd/bin/apachectl start
httpd (pid 3145) already running
[root@localhost ~]# /opt/httpd/bin/apachectl start
httpd (pid 3145) already running
[root@localhost ~]#

Try browsing the website:

Open a browser

www.lac.com

If you're getting forbidden error which means that there is a ACL mentioned in the
apache httpd server.

Now you need to allow the document root to be browsable. Normally the whole "/"
root part will be disallowed.
[root@localhost ~]# vi /opt/httpd/conf/extra/httpd-vhosts.conf

WLS L2 - Temp Page 82


<VirtualHost *:80>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/LAC"
ServerName lac.com
ServerAlias www.lac.com
DirectoryIndex index.html default.html
ErrorLog "logs/lac.com-error_log"
CustomLog "logs/lac.com-access_log" common
<Directory "/opt/content/LAC">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/IVR"
ServerName www.ivr.com
ServerAlias ivr.com
ErrorLog "logs/ivr.com-error_log"
CustomLog "logs/ivr.com-access_log" common
<Directory "/opt/content/IVR">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

You can also give the Directory tag outside the VH configuration:
<Directory "/opt/content/">
Order allow,deny
Allow from all
</Directory>

Once completed restart the apache httpd server


[root@localhost ~]# /opt/httpd/bin/apachectl stop
[root@localhost ~]# /opt/httpd/bin/apachectl stop
httpd (no pid file) not running
[root@localhost ~]# /opt/httpd/bin/apachectl stop
httpd (no pid file) not running
[root@localhost ~]# /opt/httpd/bin/apachectl start
[root@localhost ~]# /opt/httpd/bin/apachectl start
httpd (pid 3258) already running

Browse it using a browser you should be able to get the page.

www.lac.com/

www.ivr.com/

WLS L2 - Temp Page 83


Plugin
Friday, December 5, 2014 6:10 AM

Plugins are used for connectivity btw, the webservers And Application Servers.

When you browse a website you have no idea where the request are being served from. Because the website will be having
too many redirection inside. So all the reduction works when you click or press enter in your keyboard.

Say for eg, if your going to a website called yahoo and you click on an actress image.

www.ivr.com

Link to go to the calender App

http://www.ivr.com/Calendar_1.0/

You can configure the plugin in a way where,

When people type http://www.ivr.com/Calendar_1.0/

Everything from here should be routed to Application Server.

Or

When people type http://www.ivr.com/Calendar_1.0/*.jsp

Everyone who gets redirected to &*.jsp should be routed to application server.

To configure a plugin we need the following:

a. We have the correct plugin modules for the correct version of apahce httpd server

b. Copy the module to the location of apache httpd server and type an entry about this new module to httpd.conf file. We call
this as loadmodule.

c. Restart apache to check if it accepts the new module name

d. Open the httpd.conf file again and enter the details about when and where the routing to the application server should
happen.

Note: Make sure your Apahe HTTPD server & Welogic application server is up and running.

Understanding The URL:

Application Server URL: http://wls-node40:8080/Calendar_1.0


Web Server URL: http://www.ivr.com/

URL together: http://www.ivr.com/Calendar_1.0

Configuration:

WLS L2 - Temp Page 84


Copy the modules and put it on that folder.
[root@localhost i686]# cp /opt/software/64/mod_wl_22.so /opt/httpd/modules/

Load the module and check the apache by restarting:


[root@localhost i686]# cd /opt/httpd/conf/
[root@localhost conf]# vi httpd.conf

LoadModule weblogic_module modules/mod_wl_22.so

To verify that the load module is working:


[root@localhost conf]# /opt/httpd/bin/apachectl -t

Now add the extra details about how request has to route to the application servers ( Standalone Configuration ) :
[root@localhost conf]# vi /opt/httpd/conf/httpd.conf

<VirtualHost *:80>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/LAC"
ServerName lac.com
ServerAlias www.lac.com
DirectoryIndex index.html default.html
ErrorLog "logs/lac.com-error_log"
CustomLog "logs/lac.com-access_log" common
<Directory "/opt/content/LAC">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Location /Calendar_1.0>
SetHandler weblogic-handler
WebLogicHost wls-node40
WebLogicPort 8080
</Location>
</VirtualHost>

<VirtualHost *:80>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/IVR"
ServerName www.ivr.com
ServerAlias ivr.com
ErrorLog "logs/ivr.com-error_log"
CustomLog "logs/ivr.com-access_log" common
<Directory "/opt/content/IVR">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Location /Calendar_1.0>
SetHandler weblogic-handler
WebLogicHost wls-node40
WebLogicPort 9080
</Location>
</VirtualHost>

Note: The above needs to be mentioned inside the virtual Host of lac.

To Stop Start the Server:


[wlsuser@wls-node40 conf]$ su -
[root@localhost conf]# /opt/httpd/bin/apachectl stop
[root@localhost conf]# /opt/httpd/bin/apachectl start
[root@wls-node40 ~]# exit

For allowing only the JSP files routed to the application Server:
<IfModule mod_weblogic.c>
WebLogicHostwls-node40
WebLogicPort 9080
MatchExpression *.jsp
</IfModule>

Cluster configuration of plugins:


WLS L2 - Temp Page 85
Cluster configuration of plugins:

Make sure, you have completed the previous steps and the cluster creation is also completed as per the below topic details.

You should have at least two servers to continue for a cluster based routing of request from webserver to weblogic servers.

Make sure that both the server which are part of the clusters are running

Make sure that the deployment was done on the cluster than on individual servers.

Open the configuration files and make the needed configurations.


[root@localhost bin]# vi /opt/httpd/conf/httpd.conf

Remove the location which is currently set and give the following:
<VirtualHost *:80>
ServerAdmin venkatramanvv@gmail.com
DocumentRoot "/opt/content/IVR"
ServerName www.ivr.com
ServerAlias ivr.com
ErrorLog "logs/ivr.com-error_log"
CustomLog "logs/ivr.com-access_log" common
<Directory "/opt/content/IVR">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Location /Calendar_1.0>
SetHandler weblogic-handler
WebLogicCluster wls-node40:9080,wls-node40:9090
Debug On
DebugConfigInfo On
WLLogFile /tmp/plguin.log
</Location>
</VirtualHost>

Try to browse the website and open the plugin.log to check the logs.

Check for the file:


[root@wls-node40 tmp]# tail -f /tmp/wlproxy.log

WLS L2 - Temp Page 86


Domain Creation in CLI
Sunday, January 2, 2022 5:35 PM

Scripting mode to create a domain:

Create a file with the following lines: under:/opt/software/SCRIPTS/domain_new.xml

readTemplate('/u01/apps/Oracle/Middleware/Oracle_Home/wlserver/common/templates/wls/wls.jar')
cd('Servers/AdminServer')
cmo.setListenAddress('')
set('ListenPort', 8001)
create('AdminServer','SSL')
cd('SSL/AdminServer')
set('Enabled', 'True')
set('ListenPort', 8002)
cd('/')
cd('Security/base_domain/User/weblogic')
cmo.setPassword('weblogic1')
setOption('ServerStartMode','prod')
setOption('OverwriteDomain', 'true')
writeDomain('/opt/Oracle/Middleware/Oracle_Home/user_projects/domains/PROD_LAC_domain')
closeTemplate()
exit()

[wlsuser@wls-node40 bin]$ cd /opt/Oracle/Middleware/Oracle_Home/wlserver/common/bin


[wlsuser@wls-node40 bin] ./wlst.sh /opt/software/SCRIPTS/domain_new.xml

WLS L2 - Temp Page 87

You might also like