5/26/06

Logging Levels

The "Logging levels" table describes the different logging levels that you can set through the administrative console.
Note: To view log events that are below the Detail level, you must enable the Diagnostic Trace Service. Log events that are at Detail level or above can be viewed in the SystemOut log, the IBM(R) Service log (when enabled), or the Diagnostic Trace Service (when enabled).
Logging levels

5/11/06

IBM Test 252

1. After changing the JNDI name of a datasource, what must be changed within an application using this datasource to keep them running correctly?
A. The reference to resource mappings.
B. The EJB references to match the new JNDI name.
C. The name of the JDBC provider to match the new datasorce name.
D. The datasources.xml file for the application.
-A
2. A security role has been mapped to the special group Everyone. What is the result of this action?
A. Every user defined for the group has access to the resource.
B. Everyone will be denied access to the resource.
C. Every user has access to the resource.
D. Anyone logged in has access to the resource.
Security role to user and group mapping
Use this page to map security roles to users. You can map roles to specific users, to specific groups, or to different categories.
To view this administrative console page, click Applications > Install New Application. While running the Application Installation Wizard, prompts display to help you map security roles to users or groups. To change role to user or group mappings for deployed applications, click Applications > Enterprise Application > deployed_application > Security roles to user/group mapping.
Everyone
Specifies to map roles to everyone. Mapping a role to everyone means that anyone can access resources protected by this role, and essentially, there is no security.
-D
3. A WAR file in an enterprise application has been changed. How can a system administrator update it on the server with a minimal amount of work?
A. Re-package the EAR file using Application Server Toolkit then use the "Update -> Full application" function on the administrative console.
B. Use the "Update -> Single file" function of the Administrative console to replace the WAR file.
C. Use the "Update -> Single module" of the Administrative console to replace the WAR file.
D. Use the "Update -> Partial application" of the Administrative console to replace the WAR file.
Single module
Under Update options, specifies to replace a module in or add a module to an installed application. The module can be a Web module (.war file), enterprise bean module (EJB .jar file), or resource adapter module (connector .rar file).
After selecting this option, specify whether the module is on a local or remote file system and the full path name of the module. The path provides the location of the updated module before installation. For information on Local file system and Remote file system, refer to the description of Full application above.
-C
If you select Update, you will be given with four options
Full Application
Single Module
Single File
Partial Application
Full Application :
Select this option to replace the enterprise archive (*.ear) file for an installed application. The uploaded enterprise archive replaces the existing installed application.
Single module
Select this option to update an existing module or to add a new module to the application. If the relative path to the module matches an existing path to a module in the installed application, the uploaded module replaces the existing module. If the relative path to the module does not exist in the installed application, the uploaded module is added to the application.
Single file
Select this option to update an existing file or to add a new file to the application. If the relative path to the file matches an existing path to a file in the installed application, the uploaded file replaces the existing file. If the relative path to the file does not exist in the installed application, the uploaded file is added to the application.
Partial application
Select this option to update or add several files to an application. Use a valid compressed file format such as .zip or .gzip. The compressed file is unzipped into the installed application directory. If the uploaded files exist in the application with the same paths and file names, the uploaded files replace the existing files. If the uploaded files do not exist, the files are added to the application. You can remove existing files from the installed application by specifying metadata in the compressed file.
4. While performing a node federation, the addNode operation failed. From the following list of options, what would MOST likely induce this failure?
A. The cell already exists
B. The cell's deployment manager is running before the addNode command was run
C. The name of the new node is not unique in the cell
D. The addNode did not specify to carry over the applications
-A
5.Cluster creation requires the system administrator to specify the weight for a cluster member. This weight is significant because it is used in the WebSphere WLM runtime by the:
A. Random scheduling algorithm
B. Round Robin scheduling algorithm
C. Both Random and Round Robin scheduling algorithm
D. Weighted Random algorithm

In the simplest case, the cluster contains only one server definition. In the case in which more than one server is defined, the plug-in will load balance across the defined servers using either a Round Robin or a Random algorithm. The default is Round Robin.
LoadBalanceWeight (zero or one attribute for each Server)
Specifies the weight associated with this server when the plug-in does weighted Round Robin load balancing. The starting value for a server can be any integer between 0 and 20. However, zero should be specified only for a server that is shut down.
The algorithm for this attribute decrements all weights within the server cluster until all weights reach zero. After the weight specified for a particular server reaches zero, no more requests are routed to that server until all servers in the cluster have a weight of zero. After all servers reach zero, the weights for all servers in the cluster are reset and the algorithm starts over.
When a server is shut down, it is recommended that you set the weight for that server to zero. The plug-in can then reset the weights of the servers that are still running, and maintain proper load balancing.
The answer for this is Weighted Round Robin
6. A new JDBC provider is being created in a cell in which the servers run on different operating systems. Which of the following scopes should be used?
A. Cluster scope
B. Server scope
C. Node scope
D. Cell scope
??
7. A system administrator is asked to help explain why a NameNotFoundException is happening while attempting to access an enterprise bean, data source, messaging resource, or other resource. What action would be the LEAST useful to do to explain the problem?
A. Browse the properties of the target object in the administrative console, and verify that the JNDI name it specifies matches the JNDI name the client is using.
B. Browse the properties of the target object in its deployment descriptor, and verify that the JNDI name it specifies matches the JNDI name the client is using.
C. Determine if the object being looked up resides on a server different from the one from which the initial context was obtained since, in this case, the fully qualified name must be used.
D. Use the showNameSpace utility to export the entire JNDI tree to determine if the desired resource is listed.
Incorrect lookup name
If you encounter a NameNotFoundException when trying to access an enterprise bean, data source, messaging resource, or other resource:
Determine the cause of the NameNotFoundException.
Browse the properties of the target object in the administrative console, and verify that the JNDI name it specifies matches the JNDI name the client is using.
If you are looking up an object that resides on a server different from the one from which the initial context was obtained, you must use the fully qualified name.
If access is from another server object such as a servlet accessing an enterprise bean and you are using the default context, not specifying the fully qualified JNDI name, you might get a NameNotFoundException if the object is hosted on a different server.
If access is from a standalone client, it might be that the object you are attempting access is on a server different from the server from which you obtained the initial context.
Use the fully-qualified JNDI name to correct the problem.
If the object is in a single server, the fully-qualified JNDI name is as follows:
cell/nodes/nodeName/servers/serverName/jndiName
Restriction: Objects are not supported in this release.
If the object is on a server cluster, the fully-qualified JNDI name is as follows:
cell/clusters/clusterName/jndiName
-A

5/6/06

WebSphere Administration

WebSphere Administration
I would like to post some information on WebSphere Application Server Administration, starting from How to start, Wherer to Start, Installation Issues, Configuring, Performance Tuning.
-: Installation :-
So, How to install WebSphere 6.0, Base/ND on Windows/Solaris?
Recently I got to install and provide WAS on Solaris Hardware. The requirement was to provide a DEV enviroment for a development team. The demand was to provide WAS 6.0.2.5 on Solaris 10 Hardware. We have license of WAS 6.0.
The installation process I have followed goes like this.
1. Identification of Installation Topology.
2. Preparing the Hardware for Installation.
3. Installation Steps
4. Post Installation Steps.

1. Identification of Installation Topology.
First we need to identify what is the installation topology. Means, How we have to proceed for installation. The scenarios for installation are
* Scenario 1: Single-machine installation of WebSphere Application Server
* Scenario 2: Single-machine installation of WebSphere Application Server and a Web server
* Scenario 3: Two-machine installation of WebSphere Application Server and a Web server
* Scenario 4: Creating multiple profiles that use one installation of WebSphere Application Server
The Demand for my DEV Team matches Secnario 1.

2. Preparing the Hardware for Installation.
Refer this link for this step
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/
txml_callappinstall.html

3. Installation Process
You have prepared the OS for the WAS Installation. Now it is the time to install WAS 6.0.
You can do that manually, or you can develop script for this process. Before coming into the details of developing of script or manual installation, you need to know some more things. In Solaris, you cannot see the GUI. Everything will be at the command line and you have to chose non UI installation.
For any software to install, you see different modes of installations, viz. Typical, Custom. When you are installation in the UI Mode, you can select the appropriate option. But, in a non UI mode how will you do that? You have to mention all your properties in a file and give that file, means pass that file to the installation process, called RESPONSE_FILE.
To install WAS on Solaris, you need to select the silent installation process.
These are the steps:
1. Have the path of the software.
For example, a CD_SHARE_SERVER, or media. Or ask your Solaris Admin to give the path. In my case, the Solaris Admin mapped the CD_SHARE_SERVER for me.
2. Prepare the Response file.
You can have the sample response file from the following location.
You can take that modify that.

My responsefile goes like this:
I have stored this as responsefile.base.txt in /myfolder on the server box.

-W silentInstallLicenseAcceptance.value="true"
-P wasProductBean.installLocation="/software/IBM/WebSphere/AppServer"
-W setuptypepanelInstallWizardBean.selectedSetupTypeId="Custom"
-P samplesProductFeatureBean.active="true"
-P javadocsProductFeatureBean.active="true"
-W defaultprofileportspanelInstallWizardBean.WC_defaulthost="9080"
-W defaultprofileportspanelInstallWizardBean.WC_adminhost="9060"
-W defaultprofileportspanelInstallWizardBean.WC_defaulthost_secure="9443"
-W defaultprofileportspanelInstallWizardBean.WC_adminhost_secure="9043"
-W defaultprofileportspanelInstallWizardBean.BOOTSTRAP_ADDRESS="2809"
-W defaultprofileportspanelInstallWizardBean.
SOAP_CONNECTOR_ADDRESS="8880"
-W defaultprofileportspanelInstallWizardBean.
SAS_SSL_SERVERAUTH_LISTENER_ADDRESS="9401"
-W defaultprofileportspanelInstallWizardBean.
CSIV2_SSL_SERVERAUTH_LISTENER_ADDRESS="9403"
-W defaultprofileportspanelInstallWizardBean.
CSIV2_SSL_MUTUALAUTH_LISTENER_ADDRESS="9402"
-W defaultprofileportspanelInstallWizardBean.ORB_LISTENER_ADDRESS="9100"
-W defaultprofileportspanelInstallWizardBean.DCS_UNICAST_ADDRESS="9353"
-W defaultprofileportspanelInstallWizardBean.SIB_ENDPOINT_ADDRESS="7276"
-W defaultprofileportspanelInstallWizardBean.
SIB_ENDPOINT_SECURE_ADDRESS="7286"
-W defaultprofileportspanelInstallWizardBean.SIB_MQ_ENDPOINT_ADDRESS="5558"
-W defaultprofileportspanelInstallWizardBean.
SIB_MQ_ENDPOINT_SECURE_ADDRESS="5578"
-W nodehostandcellnamepanelInstallWizardBean.nodeName="bristowNode01"
-W nodehostandcellnamepanelInstallWizardBean.hostName="bristow"
-W setcellnameinglobalconstantsInstallWizardBean.value="bristowCell01"
-W winservicepanelInstallWizardBean.accountType="localsystem"
-W winservicepanelInstallWizardBean.startupType="manual"
-W winservicepanelInstallWizardBean.userName="websphe"
-W winservicepanelInstallWizardBean.password="admin1"


4. Once you have the response file, it’s the time to actual installation.
Goto the CD_SHARE_PATH or Media Mount, locate WAS6.0 installable folder.
For example
/koppell_cd_share/cd_share/WebSphere/wasv6_base_solsparc
This is my installable folder.
Traverse to WAS folder.
U r at
/koppell_cd_share/cd_share/WebSphere/wasv6_base_solsparc/WAS/
now, issue the command
install -options “/myfolder/responsefile.base.txt” -silent

This silently installs the WAS 6.0.

The another way of doing this writing as shell script like, name it as installer.sh
#!/usr/bin/ksh
MEDIA_DIR=/koppell_cd_share/cd_share/WebSphere/wasv6_base_solsparc
INSTALL_DIR=/software/IBM
RESPONSEFILE=/myfolder/responsefile.base.txt
if [[ ! -f ${MEDIA_DIR}/WAS/install ]]
then
echo "\nCannot find webSphere Install Program"
exit 1
fi

umask 022

echo "\nNow installing websphere..."
${MEDIA_DIR}/WAS/install -options ${RESPONSEFILE} -silent

sleep 15
FOUND=0
while [[$FOUND -eq 0 ]]
do
sleep 5
if [[ `/usr/bin/grep INSTCONFFAIL
${INSTALL_DIR}/WebSphere/AppServer/logs/log.txt /usr/bin/wc -l` -gt 0
]]
then
echo "\nWebSphere install Failed"
FOUND=1
exit 1
fi
if [[ `/usr/bin/grep INSTCONFPARITALSUCCESS
${INSTALL_DIR}/WebSphere/AppServer/logs/log.txt /usr/bin/wc -l` -gt 0
]]
then
echo "\nWebSphere install partial success"
FOUND=1
exit 1
fi
if [[ `/usr/bin/grep INSTCONFSUCCESS
${INSTALL_DIR}/WebSphere/AppServer/logs/log.txt /usr/bin/wc -l` -gt 0
]]
then
echo "\nWebSphere Installation Success"
FOUND=1
fi
done
echo "\nWebSphere products installed SUCCESSFULLY"
exit 0

Hopefully this should work with out any script errors, anyhow, my idea is to give an idea about the script, but not to see the script errors.
5. Post Installation
What Now!! We have installed the Application server. Now, this is the time to check post installation steps. Remeber that, the installation creates a profile for you called default. You can find that at WAS_HOME/profiles directory.

First you need to see the logs
WAS_HOME/logs
check the log.txt.

Goto the WAS_HOME (WAS_HOME is nothing but the Installed path of the WAS). That is /software/IBM/WebSphere/AppServer/profiles/default/bin.
Give this command
$ ivt.sh SERVER_NAME PROFILE_NAME
that is
ivt.sh server1 default
This will tell you whether the installation is successful or not.

I said that the installation will create a default profile for you called “default”. You should know what a profile is and how it can help you.
The WebSphere Application Server profile defines the runtime environment. The profile includes all of the files that the server processes in the runtime environment and can change.

Administration is greatly enhanced when using profiles instead of multiple product installations. Not only is disk space saved, but updating the product is simplified when you maintain only a single set of product core files. Also, creating new profiles is faster and less prone to error than full product installations, allowing a developer to create separate profiles of the product for development and testing.

Now, the WAS is installed. You can access the admin console like this
http://hostName:9060/ibm/console/

If you have planned to have a Web Server, it is the time for you to install it. You do the same steps for installing Web Server. The WAS Supports Apache, IHS, IIS, etc. Pick yous choice of Web Server and proceed for the installation.

After installing the Web Server, You have to install Plugins. This installation will generate plugin-config.xml, which is supposed to be the communication between Web Server and the WAS.
6. Refresh Packs and Fix Packs
As I said, my goal is to install WAS 6.0.2.5 and I have installed only WAS6.0. How to bring the installation to 6.0.2.5? For that, you need to goto ibm and download fix packs and refresh packs. What I did is, first I have installed Refresh Pack 2 and on that I have installed a fix pack.
Note: Before applying fix packs or refresh packs, make sure that you have stopped the server.
This raises a question, How to install these fix packs and refresh packs?
Note: As a good practice, before installing any fix packs or patches, or refresh packs, take a backup of the existing configuration. How to do that?
Goto WAS_HOME/profiles/default/bin
issue this command
./stopServer.sh server1
This will stops the server.

Now, goto the WAS_HOME/bin
$./backupConfig.sh
This will take the backup of the server including the default profile.
The back will be stored as WebSphereConfig_YYYY_MM_DD.zip
Again it is a good practice to have separate folder for backups, and this will be according to the company policy.

I have first downloaded refresh pack 2. That comes as a tar.
Download the tar 6.0-WS-WAS-SolarisSparc-RP0000002.tar into the WAS_HOME. Untar it like this.
tar -xvf 6.0-WS-WAS-SolarisSparc-RP0000002.tar

This will create a folder updateinstaller in the WAS_ROOT.
In the updateinstaller folder, search for responsefiles subfolder.
You can see install.txt and uninstall.txt.
These two are responsefiles.
Edit the install.txt for your environment. I have edit that like this


-W maintenance.package="/software/IBM/WebSphere/updateinstaller
/maintenace/6.0-WS-WAS-SolarisSparc-RP0000002.pak"
-W product.location="/software/IBM/WebSphere/AppServer"
-W update.type="install"

Goto the /WAS_HOME/bin
at the command prompt issue this command
$setupCmdLine.sh
Now, again come to the updateinstaller folder and at the command prompt issue this
$ ./update -options responsefiles/install.txt -silent
This silently installs the refresh pack.
You have to check whether that installer installed properly or not. For that you need to goto the logs.
/WAS_HOME/logs/update/
check all the logs in all the foldrs in this folder.

Once you are done with the confirmation INSTCONFSUCCESS,
goto WAS_HOME/bin/
$./versionInfo.sh
This will give you the version of the current installation.
Now, start the server
WAS_HOME/profiles/default/bin
$./startServer.sh server1
If the installation is successful, the server will start.

Now, I have to install Fix Pack.
For that the procedure is same.
First I have cleaned up updateinstaller.
By the way, how to remove a folder which has files in that in Solaris?
rm -r updateinstaller
This is the command.
Now, the folder is deleted. Again download the fix pack 6.0.2-WS-WAS-SolarisSparc-FP0000005.tar
Stop the server as usual. And take the back up of the server as above.
Prepare the install.txt response file and install the fix pack in the silent mode.
Uff!!! Long process!!
Now, check the versionInfo of the product.
WVER0010I: Copyright (c) IBM Corporation 2002, 2005; All rights reserved.
WVER0011I: WebSphere Application Server Release 6.0
WVER0012I: VersionInfo reporter version 1.15.3.1, dated 4/25/05

-------------------------------------------------------------------
IBM WebSphere Application Server Product Installation Status Report
-------------------------------------------------------------------

Report at date and time 2006-05-02 15:12:41-0400

Installation
-------------------------------------------------------------------
Product Directory /software/IBM/WebSphere/AppServer
Version Directory /software/IBM/WebSphere/AppServer/properties/version
DTD Directory /software/IBM/WebSphere/AppServer/properties/version/dtd
Log Directory /software/IBM/WebSphere/AppServer/logs
Backup Directory /software/IBM/WebSphere/AppServer/properties/version/update/backup
TMP Directory /var/tmp

Installation Platform
------------------------------------------------------------------
Name IBM WebSphere Application Server
Version 6.0

Product List
------------------------------------------------------------------
BASE installed

Installed Product
------------------------------------------------------------------
Name IBM WebSphere Application Server
Version 6.0.2.5
ID BASE
Build Level cf50549.21
Build Date 12/8/05

------------------------------------------------------------------
End Installation Status Report
------------------------------------------------------------------

Start the server, access the Admin Console. You will see the 6.0.2.5 admin console.
7. Profiles:
As I said, the installation will create a default profile. If you want you can create your own profile depending on the need.
I will discuss the process of creating your own profile.
There is a command in WAS to create a profile.
In Solaris, the can be created silently using pctSolaris.bin
pctSolaris.bin is the profile creation tool. How to use it and where to find it.
Goto WAS_HOME/bin/ProfileCreator
You will see
pct.jar
responsefile.BaseProfile..txt
pctSolaris.bin
So, to install a profile u can have a responsefile and use pctSolaris.bin to create it. There is another way of create profile. That is by using wasprofile.sh.
simply call wasprofile.sh at the command prompt, it will give you the available modes : create, augment, delete, etc....
The syntax of creating profile using wasprofile.sh
wasprofile.sh -create -profileName -profilePath -templatePath -nodename -cellName -hostName
Let us see how to create a profile using pctSolaris.bin
First prepare a responsefile for the profile.
My response file goes like this
# Profile Name devirs-
W silentInstallLicenseAcceptance.value="true"
-W profilenamepanelInstallWizardBean.profileName="devirs"
-W profilenamepanelInstallWizardBean.isDefault="false"
-P installLocation="/software/IBM/WebSphere/AppServer/profiles/devirs"
# Node name
-W nodehostnamepanelInstallWizardBean.nodeName="bristowdevirsNode"
# Host name
-W nodehostnamepanelInstallWizardBean.hostName="bristow"
# Cell name
-W setnondmgrcellnameinglobalconstantsInstallWizardBean.value="bristowdevirsCell"
# Port value assignment
-W pctdefaultprofileportspanelInstallWizardBean.WC_defaulthost="9081"
-W pctdefaultprofileportspanelInstallWizardBean.WC_adminhost="9063"
-W pctdefaultprofileportspanelInstallWizardBean.WC_defaulthost_secure="9446"
-W pctdefaultprofileportspanelInstallWizardBean.WC_adminhost_secure="9044"
-W pctdefaultprofileportspanelInstallWizardBean.BOOTSTRAP_ADDRESS="2899"
-W pctdefaultprofileportspanelInstallWizardBean.SOAP_CONNECTOR_ADDRESS="8881"
-W pctdefaultprofileportspanelInstallWizardBean.
SAS_SSL_SERVERAUTH_LISTENER_ADDRESS="9406"
-W pctdefaultprofileportspanelInstallWizardBean.
CSIV2_SSL_SERVERAUTH_LISTENER_ADDRESS="9407"
-W pctdefaultprofileportspanelInstallWizardBean.
CSIV2_SSL_MUTUALAUTH_LISTENER_ADDRESS="9408"
-W pctdefaultprofileportspanelInstallWizardBean.ORB_LISTENER_ADDRESS="9102"
-W pctdefaultprofileportspanelInstallWizardBean.DCS_UNICAST_ADDRESS="9355"
-W pctdefaultprofileportspanelInstallWizardBean.SIB_ENDPOINT_ADDRESS="7279"
-W pctdefaultprofileportspanelInstallWizardBean.
SIB_ENDPOINT_SECURE_ADDRESS="7289"
-W pctdefaultprofileportspanelInstallWizardBean.SIB_MQ_ENDPOINT_ADDRESS="5588"
-W pctdefaultprofileportspanelInstallWizardBean.
SIB_MQ_ENDPOINT_SECURE_ADDRESS="5598"
-W winservicepanelInstallWizardBean.accountType="localsystem"
-W winservicepanelInstallWizardBean.userName="websphe"
-W winservicepanelInstallWizardBean.password="admin1"
-W winservicepanelInstallWizardBean.startupType="manual"
-W profiletypepanelInstallWizardBean.selection="default"
Now, your responsefile is ready.
Start creating a profile using pctSolaris.bin like this:
goto WAS_HOME/bin/ProfileCreator
$pctSolaris.bin -options "mypath/responsefile.txt" -silent
Thats it.
Now, Where to see the logs of your profile for the verification?
goto WAS_HOME/logs/wasprofile
This is the place to check for the creation and deletion logs for your profile. The logs will be created like this wasprofile_create_YOURPROFILENAME.log and wasprofile_delete_YOURPROFILENAME.log. If in creation is not successful, that pctSolaris command will throw errors into the wasprofile_create_YOURPOFILENAME.log
Assume that we have created a profile called "Gongura"
What to do next? You need to verify the installation. How to do that? as I said earlier, you need to goto the WAS_HOME/profiles/Gongura/bin. From now on, WAS_HOME/profiles/Gongura is our PROFILE_HOME. We need to check for the installation verification by calling the command
ivt.sh server1 profilename
After this is successfully returns the profile creation information, its the time to start the server. Before that check the status of the server. The ivt.sh starts the server. To know the status of the server,
goto PROFILE_HOME/bin
serverStatus.sh server1
If the server is up, it returns
The Application server appears to be started
otherwise
stopped