Automated Logic Web Ctrl Demo
Beyond simplistic automated scanning. Automated tools have their place to identify known and potential issues in large amounts of code. However, it’s no secret they can’t find everything. The critical missing piece is a security expert who understands code logic and determines if flaws are exploitable. Control-M helps you speed up and simplify application delivery, improve SLAs, and manage the behind-the-scenes data and applications that batch jobs require. It integrates, automates, and orchestrates application workflows across on-premises, private, and public cloud environments, so your jobs get delivered on time, every time.
This chapter describes how to start and stop server instances in WebLogic Server 10.3.6. The method you choose depends on whether you prefer using the Administration Console or a command line, and on whether you are using Node Manager to manage the server's life cycle. No matter how you start a server, the end result passes a set of configuration options to initialize a Java Virtual Machine (JVM). The server instance runs within the JVM, and the JVM can host only one server instance.
This chapter includes the following sections:
For a concise overview of starting and stopping servers, see Chapter 6, 'Starting and Stopping Servers: Quick Reference.'
Starting Servers: Before You Begin
Depending on the method you choose to manage server startup and what setup tasks you have already performed, you might need to complete the following procedures before you can start server instances:
Meet version requirements— Version Requirements for a Domain.
Create a domain—'Choosing the Appropriate Technology for Your Administrative Tasks' in Introduction to Oracle WebLogic Server.
Provide user credentials— Provide User Credentials to Start and Stop Servers.
Set up Node Manager—'General Node Manager Configuration' in the Node Manager Administrator's Guide for Oracle WebLogic Server.
Configure Managed Server connections to the Administration Server— Configuring Managed Server Connections to the Administration Server.
Specify Java startup options— Specifying Java Options for a WebLogic Server Instance.
Version Requirements for a Domain
The Administration Server and all Managed Servers in a domain must be the same WebLogic Server version. The Administration Server must be either at the same Maintenance Pack (MP) level or at a later MP level than the Managed Servers. For example, if the Managed Servers are at version 9.1, then the Administration Server can be either version 9.1, 9.1 MP1 or higher. However, if the Managed Servers are at MP1, then the Administration Server must be at MP1 or higher.
Starting an Administration Server with a Startup Script
An Administration Server is a WebLogic Server instance that maintains configuration data for a domain. In a development environment, it is usually sufficient to start an Administration Server and deploy your applications directly onto the Administration Server. In a production environment, you create Managed Servers to run applications. For more information about Administration Servers and Managed Servers, see 'Understanding WebLogic Server Domains' in Understanding Domain Configuration for Oracle WebLogic Server.
You can start an Administration Server with a default startup script or create your own. To start an Administration Server with the WebLogic Server-included startup script:
If you have not already done so, use the Configuration Wizard or WebLogic Scripting Tool (WLST) to create a domain.
See Creating Domains Using the Configuration Wizard or 'Creating Domains Using WLST Offline' in Oracle WebLogic Scripting Tool.
Open a shell (command prompt) on the computer on which you created the domain.
Change to the directory in which you located the domain.
By default, this directory is
MW_HOME
user_projectsdomains
DOMAIN_NAME
, whereDOMAIN_NAME
is the root directory of the domain. (The name of this directory is the name of the domain.)Run one of the following scripts:
bin/startWebLogic.cmd
(Windows)binstartWebLogic.sh
(UNIX and Windows. On Windows, this script supports the MKS and Cygnus BASH UNIX shell emulators.)Note:
If you use a Configuration Wizard template that is provided by WebLogic Server, your domain directory includes a start script namedstartWebLogic
. If you use a domain template from another source, the wizard might not create a start script, or it might create a script with a different name. The template designer determines whether the wizard creates a start script and the name of the script.The following error occurs when using
startWebLogic.cmd
to boot WebLogic Server:This error is caused by installing a 32-bit JDK on a 64-bit OS. To avoid this error, install a 64-bit JDK on a 64-bit OS.
The startWebLogic
script does the following:
Sets environment variables by invoking
DOMAIN_NAME
binsetDomainEnv.cmd
(setDomainEnv.sh
on UNIX), whereDOMAIN_NAME
is the directory in which you located the domain; for example,WL_HOME
user_projectsdomains
DOMAIN_NAME
, and whereWL_HOME
is the location in which you installed WebLogic Server.Note:
setDomainEnv
is designed to be sourced from other scripts, such as thestartWebLogic
script.setDomainEnv
should not be called directly from within an interactive shell. Doing so can cause unpredictable issues in the domain.Invokes the
java weblogic.Server
command, which starts a JVM that is configured to run a WebLogic Server instance.When the server successfully completes its startup process, it writes the following message to standard out (which, by default, is the command window):
Starting an Administration Server from the Windows Start Menu
When you create an Administration Server on a Windows computer, the Configuration Wizard creates a shortcut on the Start Menu for starting the server (User Projects > DOMAIN_NAME
> Start Admin Server for WebLogic Server Domain).
The command that the Configuration Wizard adds to the Start menu opens a command window and calls the startup script that is described in Starting an Administration Server with a Startup Script. When the server has successfully completed its startup process, it writes the following message to standard out (which, by default, is the command window):
Starting an Administration Server with the java weblogic.Server Command
The weblogic.Server
class is the main class for a WebLogic Server instance. You start a server instance by directly invoking weblogic.Server
in a Java command.
Note:
Oracle recommends usingjava weblogic.Server
primarily for initial development but not as a standard mechanism for starting production systems for the following reasons:java weblogic.Server
will not function if you select a product directory outside of the Oracle Middleware Home directory.When executing
java weblogic.Server
, patches will not be recognized by the WebLogic Server run time.
For more information, see 'weblogic.Server Command-Line Reference' and 'Using the weblogic.Server Command Line to Start a Server Instance' in Command Reference for Oracle WebLogic Server.
Starting an Administration Server Using WLST and Node Manager
Node Manager is a utility for remote control of WebLogic Server instances. Using Node Manager you can control and monitor Managed Servers and also, start, stop, and restart Administration Servers.
You can access these Node Manager features using the WebLogic Scripting Tool commands and scripts. If you use the nmStart
command with WLST connected to a Node Manager, Node Manager supports monitoring, stopping, and restarting the Administration Server.
'Using WLST and Node Manager to Manage Servers' in Oracle WebLogic Scripting Tool describes how to start the Administration Server with WLST and Node Manager. 'How Node Manager Starts an Administration Server' in the Node Manager Administrator's Guide for Oracle WebLogic Server describes how Node Manager accomplishes this process.
The WebLogic Server custom installation process optionally installs and starts Node Manager as a Windows service on Windows systems. Oracle recommends running Node Manager as an operating system service so that it automatically restarts in the event of system failure or reboot, and using Node Manager to start and restart both Administration and Managed Servers.
For more information, see 'About Installing Node Manager as a Windows Service' in the Oracle WebLogic Server Installation Guide and 'Restart Administration and Managed Servers' in the Node Manager Administrator's Guide for Oracle WebLogic Server.
Starting an Administration Server Using WLST Without Node Manager
The WLST startServer
command starts the Administration Server without using Node Manager. The server runs in a separate process from WLST; exiting WLST does not shut down the server. See 'Starting an Administration Server Without Node Manager' in Oracle WebLogic Scripting Tool.
Starting Managed Servers with a Startup Script
A Managed Server is a WebLogic Server instance that runs deployed applications. It refers to the Administration Server for all of its configuration and deployment information. Usually, you use Managed Servers to run applications in a production environment.
For more information about Managed Servers and Administration Servers, see 'Understanding WebLogic Server Domains' in Understanding Domain Configuration for Oracle WebLogic Server.
If you use one of the Configuration Wizard templates that WebLogic Server provides, your domain directory includes a start script named startManagedWebLogic
that you can use to start Managed Servers. You can use this script to start all the Managed Servers in a cluster.
For more information on domain directory files, see 'Domain Configuration Files' in Understanding Domain Configuration for Oracle WebLogic Server.
This script does not use the Node Manager to start and manage the server. Instead, it uses a Java command to invoke the weblogic.Server
class, which is the main class for a WebLogic Server instance. For information about invoking weblogic.Server
in a Java command, see 'weblogic.Server Command-Line Reference' in Command Reference for Oracle WebLogic Server.
To use the WebLogic Server scripts to start Managed Servers:
Refer to Starting Servers: Before You Begin for prerequisite tasks.
If you have not already done so, create one or more Managed Servers.
See Creating Domains Using the Configuration Wizard or 'Create Managed Servers' in the Oracle WebLogic Server Administration Console Help.
If you have not already done so, start the domain's Administration Server.
In a shell (command prompt) on the computer that hosts the Managed Server, change to the directory that contains the
startManagedWebLogic
script:DOMAIN_NAME
binstartManagedWebLogic.cmd
(Windows)DOMAIN_NAME
/bin/startManagedWebLogic.sh
(UNIX)where
DOMAIN_NAME
is the directory in which you located the domain. By default, this directory isMW_HOME
user_projectsdomains
DOMAIN_NAME
.
Enter one of the following commands:
startManagedWebLogic.cmd
managed_server_name
admin_url
(Windows)startManagedWebLogic.sh
managed_server_name
admin_url
(UNIX)where
managed_server_name
specifies the name of the Managed Server andadmin_url
specifies the listen address (host name, IP address, or DNS name) and port number of the domain's Administration Server.For example, the following command uses
startManagedWebLogic.cmd
to start a Managed Server named myManagedServer. The listen address for the domain's Administration Server isAdminHost:7001
:
For each Managed Server that you want to start, open a separate command shell and follow steps 4 and 5. If you are starting Managed Servers on another machine, log in to that machine (remotely or locally) and then follow steps 4 and 5.
For information on running Managed Servers on a remote WebLogic Server host, see 'Creating and Starting a Managed Server on a Remote Machine' in Creating Templates and Domains Using the Pack and Unpack Commands.
For information on configuring a connection to the Administration Server, see Configuring Managed Server Connections to the Administration Server.
The startManagedWebLogic
script does the following:
Calls the startWebLogic script, which sets the environment variables by invoking
WL_HOME
user_projectsdomains
DOMAIN_NAME
binsetDomainEnv.cmd
(setDomainEnv.sh
on UNIX), whereWL_HOME
is the location in which you installed WebLogic Server.Note:
setDomainEnv
is designed to be sourced from other scripts, such as thestartWebLogic
script.setDomainEnv
should not be called directly from within an interactive shell. Doing so can cause unpredictable issues in the domain.Invokes the
java weblogic.Server
command, which starts a JVM that is configured to run a WebLogic Server instance.When the server successfully completes its startup process, it writes the following message to standard out (which, by default, is the command window):
Starting Managed Servers from the Administration Console
To use the Administration Console to start a Managed Server, see 'Start Managed Servers from the Administration Console' in the Oracle WebLogic Server Administration Console Help.
Starting Managed Servers and Clusters with WLST and Node Manager
To start Managed Servers and clusters using WLST and Node Manager, see 'Using Node Manager to Start Managed Servers in a Domain or Cluster' in Oracle WebLogic Scripting Tool. For detailed information about WebLogic Server clusters, see 'Setting up WebLogic Clusters' in Using Clusters for Oracle WebLogic Server.
Starting Managed Servers with the java weblogic.Server Command
The weblogic.Server
class is the main class for a WebLogic Server instance. You start a server instance by directly invoking weblogic.Server
in a Java command. See 'weblogic.Server Command-Line Reference' and 'Using the weblogic.Server Command Line to Start a Server Instance' in Command Reference for Oracle WebLogic Server.
Starting a Managed Server When the Administration Server Is Unavailable
Usually, a Managed Server contacts the Administration Server during its startup sequence to retrieve its configuration information. If a Managed Server cannot connect to the Administration Server during startup, it can retrieve its configuration by reading its locally cached configuration data from the config
directory.
Note:
The first time you start a Managed Server instance, it must be able to contact the Administration Server. Thereafter, the Managed Server instance can start even if the Administration Server is unavailable.For more information on starting Managed Servers when the Administration Server is unavailable, see Starting a Managed Server When the Administration Server Is Not Accessible.
Limiting Run-Time Footprint When Starting WebLogic Server
Typically when you start a WebLogic Server instance, all services are started including EJB, JMS, Connector, Clustering, Deployment, Management, and so forth. However, WebLogic Server provides a startup option that offers a lighter weight run-time footprint by excluding a subset of these services from being started. This startup mode can result in quicker startup times for WebLogic Server and a smaller resource footprint on the host machine.
The set of services started in a WebLogic Server instance are determined by the Server Type startup command, which takes a server type option. There are two server type options:
wls
— All services are started (default)wlx
— All but the following services are started:Enterprise JavaBeans (EJB)
Java EE Connector Architecture (JCA)
Java Message Service (JMS)
If a WebLogic Server instance does not require the use of these services, running the lighter weight run time instead can provide a number of performance efficiencies.
Server Type Startup Command
You can run the lighter weight run-time instance in any WebLogic domain. A WebLogic domain does not require any additional configuration settings to support this server type. However, any JMS or Messaging Bridge resources and applications that include EJBs or resource adapters will fail to deploy on servers started with the wlx
server type option.
You can start a lighter weight run-time instance by specifying the following weblogic.Server
command option:
You can use the -DserverType='wlx'
option in any of the methods for starting WebLogic Server, such as:
Directly on the command line, as described in Starting an Administration Server with the java weblogic.Server Command and Starting Managed Servers with the java weblogic.Server Command
In a server start script, as described in Starting an Administration Server with a Startup Script and Starting Managed Servers with a Startup Script
When using WLST, as described in 'Managing the Server Life Cycle' in Oracle WebLogic Scripting Tool
When using Node Manager, as described in 'Using Node Manager to Control Servers' in Node Manager Administrator's Guide for Oracle WebLogic Server.
When using the
weblogic.Server
command to create a domain, as described in 'Using the weblogic.Server Command Line to Create a Domain' in Command Reference for Oracle WebLogic Server
Limitations
Note the following limitations regarding lighter weight run-time instances of WebLogic Server:
WebLogic Server contains several services that internally use the EJB service. If you start a lighter weight run-time instance, some the following features are not available:
Management EJBs
These EJBs are used to support JSR-77. If the EJB service is disabled, JSR-77 support is unavailable, too. However, all other management APIs are still available.
Remote Deployer from WebLogic Server 9.0 and 9.1
The Remote Deployer EJB is only used by the
weblogic.Deployer
utility in WebLogic Server 9.0 and 9.1 when the-remote
option is specified. You can still use the-remote
option from theweblogic.Deployer
utility in Version 9.2 and later releases.
If the Administration Server is started as a lighter weight run-time instance, the Administration Console does not display links to JMS, EJB, and Resource Adapters. This provides a visual cue regarding the server type of the Administration Server. However, if the Administration Server is started as the default server type (that is, not started using the
wlx
server type option), the Administration Console does not distinguish lighter weight Managed Server instances that are running in the domain.
Provide User Credentials to Start and Stop Servers
To start and stop WebLogic Server instances, you must provide the credentials of a user who is permitted to start and stop servers for the domain. For information on user credentials, roles, and permissions, see 'Users, Groups, and Security Roles' in Securing Resources Using Roles and Policies for Oracle WebLogic Server.
Table 2-1 describes providing user credentials when starting a WebLogic Server instance.
Table 2-1 Providing User Credentials
If you specify this.. | The server instance does this.. |
---|---|
Username and password on the command line. | Uses them and does not prompt you for either credential. |
Username and password in | Uses them and does not prompt you for either credential. |
Neither username nor password on the command line. |
|
Username but no password on the command line. |
|
Password but no username on the command line. |
|
These sections describe the following tasks:
Specifying an Initial Administrative User for a Domain
When you create a domain, the Configuration Wizard prompts you to provide the username and password for an initial administrative user. The Configuration Wizard does the following with this information:
Assigns the user to the Administrators security group.
The Administrators group grants the highest level of privileges for starting and managing WebLogic Server. For information on administrative privileges, see 'Users, Groups, And Security Roles' in Securing Resources Using Roles and Policies for Oracle WebLogic Server.
Adds the user to the
myrealm
security realm.A security realm is a collection of components (providers) that authenticate usernames, determine the type of resources that the user can access, and provide other security-related services for WebLogic resources. WebLogic Server installs the
myrealm
security realm and uses it by default.You can use the Administration Console to add users to security realms. If you use an Authentication provider other than the one that WebLogic Server installs, you must use the provider's administration tools to create at least one user with administrative privileges.
If you are creating a domain in development mode, the wizard creates a boot identity file in the
security
directory of the Administration Server's root directory. The boot identity file contains an encrypted version of the username and password which lets you bypass the login prompt during subsequent instantiations of the server. See Boot Identity Files.In production domains, you are prompted to enter user credentials on the command line when booting the server.
Boot Identity Files
A boot identity file is a text file that contains user credentials for starting and stopping an instance of WebLogic Server. An Administration Server can refer to this file for user credentials instead of prompting you to provide them. Because the credentials are encrypted, using a boot identity file is much more secure than storing unencrypted credentials in a startup or shutdown script. If there is no boot identity file when starting a server, the server instance prompts you to enter a username and password.
If you start a Managed Server from a script that invokes the java weblogic.Server
command (or if you invoke the java weblogic.Server
command directly), a Managed Server can also refer to a boot identity file. If the Managed Server and Administration Server use the same root directory, the Managed Server can refer to the Administration Server's boot.properties
file. If a Managed Server's security
directory contains a valid boot.properties
file, it uses this file during its startup process by default. The boot.properties
file can be different for each server instance in the domain.
If you use the Node Manager to start a Managed Server, the Node Manager encrypts and saves the credentials with which it started the server in a server-specific boot.properties
file for use in automatic restarts. This file is located in DOMAIN_NAME
/servers/
SERVER_NAME
/data/nodemanager
, where DOMAIN_NAME
is the name of the directory in which you located the domain and SERVER_NAME
is the name of the server. For more information, see 'Node Manager Configuration and Log Files' in the Node Manager Administrator's Guide for Oracle WebLogic Server.
The following sections describe working with boot identity files:
Creating a Boot Identity File for an Administration Server
If you use the Configuration Wizard to create a domain in development mode, the Configuration Wizard creates an encrypted boot identity file in the security
directory of the Administration Server's root directory. For more information on domain directory files, see 'Domain Directory Contents' in Understanding Domain Configuration for Oracle WebLogic Server.
If a boot identity file for an Administration Server does not already exist, and if you want to bypass the prompt for username and password, create one as follows.
Start the Administration Server at least once and provide the user credentials on the command line.
During the Administration Server's initial startup process, it generates security files that must be in place before a server can use a boot identity file.
Place the following two lines in a text file:
The username and password values must match an existing user account in the Authentication provider for the default security realm and must belong to a role that has permission to start and stop a server. For information on roles and permissions, see 'Users, Groups, And Security Roles' in Securing Resources Using Roles and Policies for Oracle WebLogic Server.
Save the file.
If you save the file as
boot.properties
and locate it in thesecurity
directory of the server's root directory, the server automatically uses this file during its subsequent startup cycles. For more information, see How a Server Uses a Boot Identity File at Startup.The first time you use this file to start a server, the server reads the file and then overwrites it with an encrypted version of the username and password.
Using java weblogic.Server to Create a Boot Identity File for an Administration Server
Note:
Use this technique only if you invoke thejava weblogic.Server
command from the command line. If you use a script to start an Administration Server, Oracle recommends that you do not use the technique described in this section for the following reasons:It requires you to store an unencrypted password in the startup script.
Each time you run the script, the server boots with the supplied user credentials and then creates a new boot identity file.
Instead of following the steps in the previous section, Creating a Boot Identity File for an Administration Server, you can create a boot identity file by invoking the weblogic.Server
class directly on the command line and including the following options in the Java command:
These options cause the server instance to boot with the supplied user credentials and then store them in a file named boot.properties
.
For example, the following command starts an Administration Server named myAdminServer and creates a boot identity file:
For more information about invoking the weblogic.Server
class directly from a command line, see 'weblogic.Server Command-Line Reference' in Command Reference for Oracle WebLogic Server.
Creating Boot Identity Files for Managed Servers
If a Managed Server uses the same root directory as the Administration Server, it can use the same boot properties file as the Administration Server. If you use a Node Manager to start a Managed Server, you do not need to create a boot identity file. For more information, see 'Node Manager Configuration and Log Files' in the Node Manager Administrator's Guide for Oracle WebLogic Server.
To create a boot identity file for a Managed Server instance:
Start the domain's Administration Server to make sure that the required security files are in the
security
directory of the Administration Server's domain and root directories. If the files are not present, the Administration Server generates them.For more information on domain directory files, see 'Domain Configuration Files' in Understanding Domain Configuration for Oracle WebLogic Server.
Place the following two lines in a text file:
The username and password values must match an existing user account in the Authentication provider for the default security realm and must belong to a role that has permission to start a server. For information on roles and permissions, see 'Users, Groups, And Security Roles' in Securing Resources Using Roles and Policies for Oracle WebLogic Server.
Save the file.
If you save the file as
boot.properties
and locate it in thesecurity
directory of the server's root directory, the server automatically uses this file during its subsequent startup cycles. For more information, see How a Server Uses a Boot Identity File at Startup.Repeat steps 2 and 3 for each Managed Server in the domain for which you want to create a boot identity file.
The first time you use this file to start a server, the server reads the file and then overwrites it with an encrypted version of the username and password.
How a Server Uses a Boot Identity File at Startup
A server instance uses a boot identity file during its startup process as follows:
If a server's
security
directory contains a validboot.properties
file, it uses this file during its startup process by default. For information about a server's root directory, see 'A Server's Root Directory' in Understanding Domain Configuration for Oracle WebLogic Server.If you want to specify a different file (or if you do not want to store boot identity files in a server's
security
directory), you can include the following argument in the server'sweblogic.Server
startup command:-Dweblogic.system.BootIdentityFile=
filename
where
filename
is the fully qualified pathname of a valid boot identity file.To specify this argument in the
startWebLogic
script, add-Dweblogic.system.BootIdentityFile
as a value of theJAVA_OPTIONS
variable. For example:set JAVA_OPTIONS=-Dweblogic.system.BootIdentityFile=C:Oracleuser_domainsmydomainmyidentity.prop
If you do not want a server instance to use a boot identity file during its startup cycle, include the following options in the server's
weblogic.Server
startup command:-Dweblogic.management.username=
username
-Dweblogic.management.password=
password
These options cause a server instance to ignore any boot identity files and override other startup options that cause a server to use boot identity files during it startup cycle.
Note:
If you use a script to start a server instance, Oracle recommends that you do not use this technique because it requires you to store an unencrypted password in the startup script. Use this technique only if you invoke theweblogic.Server
class directly from the command line. For more information, see 'weblogic.Server Command-Line Reference' in Command Reference for Oracle WebLogic Server.If a server is unable to access its boot identity file during its startup cycle, it displays the username and password prompt in its command shell and writes a message to the log file.
For a given server instance, use only the boot identity file that the instance has created. WebLogic Server does not support copying a boot identity file from one server root directory to another.
For example, if you use ServerA to generate a boot identity file, use only that boot identity file with ServerA. Do not copy ServerA's boot identity file into the security
directory of ServerB. Instead, create a boot identity file for ServerB as described in Creating a Boot Identity File for an Administration Server or Creating Boot Identity Files for Managed Servers.
Removing Boot Identity Files After Startup
If you want to remove the boot identity file after a server starts, you can include the following argument in the server's weblogic.Server
startup command:
This argument removes only the file that the server used to start. For example, if you specify -Dweblogic.system.BootIdentityFile=c:secureboot.MyServer
, only boot.MyServer
is removed, even if the server's root directory contains a file named boot.properties
. Open a separate command shell and include the -Dweblogic.system.RemoveBootIdentity=true
argument in each Managed Server's weblogic.Server
startup command to remove its boot identity file.
To specify this argument in the startWebLogic
script, add -Dweblogic.system.RemoveBootIdentity=true
as a value of the JAVA_OPTIONS
variable. For example:
Limitation Regarding User weblogic
If you install the WebLogic Server Examples component, the default user weblogic
is created that has permission to start and stop WebLogic Server. The default password is welcome1
. If you change the password of the weblogic
user, WebLogic Server does not automatically update this password in the boot.properties
file, which is located in the DOMAIN_NAME
/servers/AdminServer/security
directory.
If you change the password for user weblogic
, you can use either of the following workarounds so that you can continue to boot a WebLogic Server instance using that username and its new password:
Remove the
boot.properties
file. Subsequently each time you start WebLogic Server, you are prompted for the username and password. The changed password for theweblogic
user will be accepted.Modify the existing
boot.properties
file, changing the username and password as follows:Subsequently during the server startup process, the
boot.properties
file is encrypted again.Caution:
Do not install the WebLogic Server Examples on a production machine. Keeping the samples software and other development tools off the production machine reduces the leverage intruders potentially have if they were to get partial access to a WebLogic Server production machine.
Specifying User Credentials for Starting a Server with Node Manager
If you use the Node Manager to start a Managed Server, you must provide user credentials on the server's Configuration > Server Start page of the Administration Console. If you do not provide these credentials, the Node Manager throws an exception when it tries to start the server.
When you use the Administration Console or the Configuration Wizard to create a Managed Server, WebLogic Server adds the user credentials to the server's Configuration > Server Start page. If you want the server instance to run under a different WebLogic Server user account, see 'Configure startup arguments for Managed Servers' in the Oracle WebLogic Server Administration Console Help.
Other Startup Tasks
The following sections describe miscellaneous startup tasks:
Making Java Classfiles Globally Available
There are two methods for making java classes globally available to WebLogic Server:
Setting the
$DOMAIN_DIR/lib
environment variable.Specifying the
-Dweblogic.ext.dirs
startup option.
You can specify either or both of these methods. When specifying both, classes defined using the startup option take precedence.
In both cases, you must ensure that your classes are packaged into .jar
files.
Configuring Managed Server Connections to the Administration Server
If you will be starting a Managed Server from a script that invokes the java weblogic.Server
command, or if you invoke the java weblogic.Server
command directly, you must make sure that the Managed Server specifies the correct listen address of the Administration Server. A Managed Server uses this address to retrieve its configuration from the Administration Server.
Use the following format to specify the listen address:
For
protocol
, specify any of the following:t3
t3s
http
https
If you will be using the domain-wide administration port, you must specify either
T3S
orHTTPS
. If you do not specify a value, the servers useT3
.Note:
Regardless of which protocol you use, the initial download of a Managed Server's configuration is overHTTP
orHTTPS
. After the RMI subsystem initializes, the server instance can use theT3
orT3S
protocol.
For
Admin-host
, specify any of the following:localhost
.Valid only if you are starting the Managed Server on the same computer as the Administration Server.
The DNS name of the computer that is hosting the Administration Server.
Configuring a DNS name for the Administration Server that maps to multiple IP addresses is particularly useful for Managed Servers to trying to reconnect after an Administration Server is restarted on a different IP address. For more information, see Managed Servers and the Re-started Administration Server.
If you are using the demo certificates in a multi-server domain, Managed Server instances will fail to boot if you specify the fully-qualified DNS name. For information about this limitation and suggested workarounds, see 'Limitation on CertGen Usage' in Securing Oracle WebLogic Server.
The IP address of the computer that is hosting the Administration Server.
Because of the following security issue, Oracle recommends that you do not use IP addresses for
Admin-host
in a production environment:To connect to the Administration Server through an SSL port, the Managed Server verifies that the Administration Server's host name matches the host name that is specified in the URL. If you specify an IP address, and if host name verification is enabled, the connection fails because the IP address, which is a series of numbers, does not match the name of the host, which is a string of characters.
In a development environment, where security is less of a concern, you can disable host name verification on the Managed Server so SSL connections that specify an IP address will succeed. See 'Using Hostname Verification' in Securing Oracle WebLogic Server.
If the Administration Server has been configured to use some other listen address, you must specify the configured listen address.
For
port
, specify any of the following:The domain-wide administration port.
When configured, the administration port is used by each Managed Server in the domain exclusively for communication with the domain's Administration Server. See 'Configure the domain-wide administration port' in the Oracle WebLogic Server Administration Console Help.
If you have enabled the domain-wide administration port, you must specify this port. You must specify either the T3S or HTTPS protocol to use this port.
The non-SSL listen port for the Administration Server's default network configuration (
7001
by default).If this listen port has been disabled for the Administration Server, you must use one of the other listen ports described in this list. You must specify either the T3 or HTTP protocol to use this port.
The SSL listen port for the Administration Server's default network configuration (
7002
by default).If this listen port has been disabled for the Administration Server, you must use one of the other listen ports described in this list. You must specify either the T3S or HTTPS protocol to use this port.
The port number that is associated with an optional, custom network channel.
If the port is secured with SSL, you must specify either the T3S or HTTPS protocol.
To verify the host IP address, name, and default listen port of the Administration Server, start the Administration Server in a shell (command prompt). When the server successfully finishes its startup cycle, it prints to standard out messages that are similar to the following (among other messages):
For information on enabling SSL, see 'Set up SSL' in the Oracle WebLogic Server Administration Console Help. For more information on network channels, see 'Understanding Network Channels' in Configuring Server Environments for Oracle WebLogic Server.
Specifying Java Options for a WebLogic Server Instance
You use Java options to configure operating parameters for the JVM that runs a WebLogic Server instance. For example, you use Java options to tune the performance and monitoring capabilities of the JRockit JVM.
You can also use Java options to override a server's configuration temporarily. The Java options apply only to the current instance of the server. They are not saved in the domain's config.xml
file and they are not visible from the Administration Console. For example, if a server is configured to listen on port 7201, you can use a Java option to start the server so that it listens on port 7555. The Administration Console will still indicate that the server is configured to listen on port 7201. If you do not use the Java option the next time you start the server, it will listen on port 7201.
If you use a WebLogic Server script to start servers, do the following. If you use the Node Manager to start servers, see 'Set Java options for servers started by Node Manager' in the Oracle WebLogic Server Administration Console Help.
Create a backup copy of the WebLogic Server start scripts:
For scripts that start an Administration Server, back up
DOMAIN_NAME
binstartWebLogic.cmd
(startWebLogic.sh
on UNIX)For scripts that start a Managed Server, back up
DOMAIN_NAME
binstartManagedWebLogic.cmd
(startManagedWebLogic.sh
on UNIX)where
DOMAIN_NAME
is the name of the directory in which you located the domain. By default, this directory isMW_HOME
user_projectsdomains
DOMAIN_NAME
.
Open the start script in a text editor.
Edit the
set JAVA_OPTIONS
command to specify the Java options. If you specify multiple options, separate each option by a space, and place quotes around the entire set of options. For example:set JAVA_OPTIONS='-Xgc:gencopy -Xns:30'
For more information, see:
'weblogic.Server Command-Line Reference' for information on the Java options that set run-time behavior of a WebLogic Server instance.
'Using Start Scripts' in Node Manager Administrator's Guide for Oracle WebLogic Server for detailed information on how
JAVA_OPTIONS
are combined and how duplicate values are handled.'Using Oracle JRockit JDK' for information on the Java options that the JRockit Virtual Machine supports.
The documentation that the JVM vendor provides for information on the Java options that other JVMs support.
Save the start script.
Start the server.
Changing the JVM That Runs Servers
When you create a domain, if you choose to customize the configuration, the Configuration Wizard presents a list of SDKs that WebLogic Server installed. From this list, you choose the JVM that you want to run your domain, and the wizard configures the Oracle start scripts based on your choice.
After you create a domain, if you want to use a different JVM, you can modify the scripts as follows:
Change the value for the
JAVA_HOME
variable.Specify an absolute pathname to the top directory of the SDK that you want to use. For example,
c:OracleMiddlewarejrockit_160_05_R27.6.1-25
.On a Windows or Linux platform, Oracle recommends the following JVMs:
For development mode, the Sun SDK with the HotSpot Client JVM.
For production mode, the Oracle JRockit SDK. This SDK provides optimal running performance but initial startup cycles can require more time than other SDKs.
Change the value for the
JAVA_VENDOR
variable.Specify the vendor of the SDK. Valid values depend on the platform on which you are running. For more information, see the WebLogic Platform Supported Configurations page.
For example:
Oracle
indicates that you are using the JRockit SDK. It is valid only on platforms that support JRockit.Sun
indicates that you are using the Sun SDK.HP
andIBM
indicate that you are using SDKs that Hewlett Packard or IBM have provided. These values are valid only on platforms that support HP or IBM SDKs.
Restart any servers that are currently running.
Configuring Server Level Startup and Shutdown Classes
Startup and shutdown (SU/SD) classes are Java programs that you create to provide custom, system-wide services for your applications. You add the classes to the WebLogic Server classpath and then configure them to load and run when a server starts or shuts down. You must deploy each class on one or more specific servers.
By default, startup classes are loaded and run after all other server subsystems have initialized and after the server deploys modules. See ”Ordering Startup Class Execution and Deployment” in Deploying Applications to Oracle WebLogic Server. Shutdown classes are loaded and run when you gracefully shut down a server.
WebLogic Server 9.0 introduced a new and simpler POJO-based approach for SU/SD classes. This approach requires only that SU/SD classes have a static main(String args[])
method, which the server invokes after instantiating the class. Any arguments that you configure for SU/SD classes are passed via the String args []
parameter.
The POJO-based SU/SD classes follow the same deployment and configuration steps used in earlier versions—the classes needs to be made available on the server classpath, SU/SD classes are configured using the Administration Console, and ultimately stored as an entry in config.xml
.
For details, see Example 2-1, Example 2-2, and 'Use custom classes to configure servers' in the Oracle WebLogic Server Administration Console Help.
Example 2-2 config.xml
Shutting Down Instances of WebLogic Server
It is recommended that you shutdown WebLogic Server instances through the Administration Console. See 'Shut Down a Server Instance,' 'Control Graceful Shutdowns', and 'Shutdown servers in a cluster' in the Oracle WebLogic Server Administration Console Help.
On Windows, you can stop Administration Servers that you have created using the Configuration Wizard from the Start menu.
Shutting Down Servers with a Stop Script
If you use a Configuration Wizard template that is provided by WebLogic Server, the bin
directory under your domain directory includes a stop script named stopWebLogic
that you can use to stop an Administration Server and one named stopManagedWebLogic
for stopping Managed Servers. To use the scripts, you must set SERVER_NAME
, ADMIN_URL
, USERID
, and PASSWORD
as environment variables or specify them on the command line. When using the stopWebLogic
script, if you do not specify SERVER_NAME
, the Administration Server name is used by default.
For an Administration Server, invoke:
DOMAIN_NAME
binstopWeblogic.cmd
username
password
admin_url
(Windows)DOMAIN_NAME
/bin/stopWeblogic.sh
username
password
admin_url
(UNIX)For Managed Servers, invoke:
DOMAIN_NAME
binstopManagedWeblogic.cmd
managed_server_name
admin_url
username
password
(Windows)DOMAIN_NAME
/bin/stopManagedWeblogic.sh
managed_server_name
admin_url
username
password
(UNIX)Note:
On the command line, specify parameters in the order shown. User credentials come before theADMIN_URL
withstopWebLogic.cmd
and after theADMIN_URL
withstopManagedWebLogic.cmd
.
Killing the JVM
Each WebLogic Server instance runs in its own JVM. If you are unable to shut down a server instance using the methods described in the previous sections, you can use an operating system command to kill the JVM.
Caution:
If you kill the JVM, the server immediately stops all processing. Any session data is lost. If you kill the JVM for an Administration Server while the server is writing to theconfig.xml
file, you can corrupt the config.xml
file.Some common ways to kill the JVM are as follows:
If the shell (command prompt) in which you start the server is still open, you can type
Ctrl-C
.On a Windows computer, you can use the Task Manager to kill a JVM.
On a UNIX computer, you can use the
ps
command to list all running processes. Then you can use thekill
command to kill the JVM.