Oracle Internet File System Setup and Administration Guide Release 1.1 A81197-05 |
Library | Service | Contents | Index

# 8
Using Server Manager to Start and Stop Servers

Server Manager is a tool that provides managing and monitoring capabilities for the Oracle iFS servers and agents. Custom agents can be written to perform specific tasks on behalf of a user or the system. Topics include:

- Server Manager: An Overview

- Managing Server Manager with Oracle iFS Manager

- Using the Command Line to Manage Server Manager

- Oracle iFS Agents

- Definition Files for Protocol Servers

## Server Manager: An Overview

Using Server Manager, you can start, stop, suspend, resume, and list information for the various servers and agents. You can also use Server Manager to manage the servers and agents remotely from other machines from which the agents and servers may be running. In this way, it is possible to have protocol servers running on different machines, yet managed from a single Server Manager. Server Manager itself is a server, so one Server Manager can manage any other Server Managers in the system.

The default installation is configured for three pre-defined servers to run with Server Managers:

- `IfsAgents`--Loads and manages all agents; runs in the background.

- `IfsProtocols`--Loads and manages External Server agents that start up protocol servers; runs in the background.

- `DefaultManager`--Used to monitor the agents and servers in the system; runs in interactive mode.

In the following diagram, three Server Managers are displayed. The first Server Manager is managing the protocol servers; the second is managing the agents; and the third Server Manager is running interactively, monitoring the servers. In addition, Oracle iFS Manager is running. These Server Managers can be running on either the same or on different machines. All three Server Managers are able to monitor any registered server or agent running in the system.

#### Figure 8-1 Oracle iFS Server Manager Diagram

Another important tool are the log files. The log files detail the activity on the protocol server. Some servers have the option to output verbose logging. As the administrator, you will need to manage these files because over time, these files can become quite large depending upon the activity and type of logging selected. By default logging will be appended to the current log.

## Managing Server Manager with Oracle iFS Manager

To use Oracle iFS Manager to manage the Server Manager instances, you use Oracle iFS Monitor. Oracle iFS Monitor uses the same Server Manager commands you use on a command line, but through a graphical interface. You still have the option of issuing Server Manager commands on the command line, but now there is an easier way of managing the servers and agents monitored by Server Manager through Oracle iFS Manager.

The Oracle iFS Monitor is only used to monitor the servers and agents started by Server Manager. You cannot use Oracle iFS Monitor to start Server Manager; you must start Server Manager from the machine where Oracle iFS was installed. However, you can use Oracle iFS Monitor to stop the agents and the Server Manager instance that is monitoring the agents.

Oracle iFS Monitor displays the servers registered with the database and the agents managed by Server Manager.

### Parts of the Oracle iFS Monitor Window

The Oracle iFS Monitor window has the following parts:

Where:

- Server Manager Instance(s)--Displays the Server Manager instances currently running. Each Server Manager instance includes:

  - Name--The name of the Server Manager.

  - ID--The numeric identifier of the Server Manager.

  - Host Name--The name of the machine where the Server Manager is running.

  - Agents--The number of agents currently managed by the particular Server Manager.

  - Started On--The date and time the Server Manager instance was started.

- Agents (managed by: <Server Manager Name>)--Displays the agents managed by the Server Manager selected in the Server Manager Instances box. Each Agent includes:

  - Name--The name of each agent.

  - Status--The status of each agent. When an agent is stopped, a red light displays and the status is Stopped. When an agent is started, a green light displays and the status is changed to ACTIVE. A yellow light indicates that the agents is still in the process of starting or stopping.

  - Server Type--The type of the running server, such as FTP or CUP.

  - Server ID--The numeric identifier for each server running the agent.

  - Started On--The date and time the agent was started.

  Note: Information for server type and server ID is only displayed for an external server agent whose server is currently running.

#### Task Buttons

The buttons on the right side of the Oracle iFS Monitor window are used to perform Server Manager tasks. The following table describes the buttons and their purpose.

Button | Purpose
--- | ---
Stop Server | Stops the selected Server Manager instance and all protocols.
Get Server Info | Describes the selected Server Manager instance in a separate window.
Stop Agent | Stops a selected agent.
Start Agent | Starts a selected agent.
Show Details | Shows the details of a selected agent in a separate window.

#### Monitor Buttons

The buttons at the bottom of the Oracle iFS Monitor window are used to perform Oracle iFS Monitor window tasks. The following table describes the buttons and their purpose.

Button | Purpose
--- | ---
Refresh | Refresh the data displayed in the Oracle iFS Monitor.
Close | Closes the Oracle iFS Monitor window.

### Starting Oracle iFS Monitor

Oracle iFS Monitor is accessed through Oracle iFS Manager by selecting Monitor from the File menu. A window displays containing the Server Manager instances and agents. If you are starting Oracle iFS Monitor before starting an instance of Server Manager, no information is displayed as shown here:

When a Server Manager instance is started, select the Server Manager for which you want to view agents. The agents display in the Agents box as shown here:

All agents are displayed, even if they are have a status of Stopped.

See AlsoBefore you can use Oracle iFS Monitor, you must start at least one instance of Server Manager. For more information on starting a Server Manager instance, see Chapter 2, "Starting Oracle iFS".

- For a list of Server Manager commands, including the command for starting a Server Manager instance on the machine where Oracle iFS was installed, see "Using the Command Line to Manage Server Manager".

- Oracle iFS Monitor is accessed through Oracle iFS Manager. For more information on starting Oracle iFS Manager, see Chapter 2, "Starting Oracle iFS".

- For more information on the agents that you can manage using Oracle iFS Monitor, see "Oracle iFS Agents".

## Starting An Agent with Oracle iFS Monitor

If an agent has been specified in the definition file to start automatically with Server Manager, then the status of that agent displays as ACTIVE and a green light is displayed when the Oracle iFS Monitor is started. To start an agent manually, do the following:

1. Make sure at least one instance of Server Manager is started.

2. Click the stopped agent you want to start to select it.

3. Click the Start Agent button.

   This action may take several minutes. A yellow light and a status of Starting indicates the in the process of starting. When the agent is started, the status changes to ACTIVE and a green light is displayed.

### Stopping An Agent with Oracle iFS Monitor

To stop an agent, do the following:

1. Make sure at least one instance of Server Manager is started and click the instance where the agent you want to stop is managed.

2. Click the agent you want to stop.

3. Click the Stop Agent button.

   This process may take several minutes. A yellow light and a status of Stopping indicates the agent is in the process of starting. When the agent has been stopped, the status changes to Stopped and a red light is displayed.

### Stopping a Server Manager Instance with Oracle iFS Monitor

To stop a Server Manager instance, do the following:

1. Click the Server Manager instance you want to stop.

2. Click the Quit Server button.

   This process may take several minutes. Each agent managed by the selected Server Manager is stopped and finally the Server Manager instance is stopped.

See Also

You can also perform these same tasks on the machine where Oracle iFS is installed through a command line. For more information on these commands, see "Using the Command Line to Manage Server Manager".

## Using the Command Line to Manage Server Manager

The Server Manager provides the ability to manage agents and protocol servers with the following commands, invoked at the command line:

- Start--Start running the agent.

- Stop--Stop a running agent or manager. When a Server Manager instance is stopped, all protocol servers and all agents that are managed by that instance are stopped, then exits.

- Suspend--Temporarily stop running an agent without actually stopping it. This is useful if an agent collects cumulative data and stopping it would cause the agent to lose this information.

- Resume--Resume running a suspended agent.

- Restart--To stop and restart the agent, generally used for the external server agent. This is useful for restarting a protocol server to pick up new parameter settings in the definition file.

- Modify--Change the thread priority of an agent.

Note: When a Server Manager instance is stopped, all protocol servers and all agents managed by that instance are stopped. Then this Server Manager instance is exited. When a protocol server that is being managed by a Server Manager instance is stopped, the Server Manager instance still manages the other agents, and does not exit. Therefore, the protocols server can then be easily re-started using the `restart` command. When all servers are stopped using the `stop servers` command in the Server Manager instance, all instances of Server Manager are stopped, except for the instance from which the `stop servers` command was issued.

### Monitoring Server Manager Servers and Agents

Server Manager also provides good monitoring functionality. If you issue the `LIST AGENTS` command, the following would be returned:

- Name--The name of the agent.

- Status--The current status of the agent; possible status values are:

  - Active--The agent is running.

  - Resumed--The agent was resumed and in the process of running.

  - Starting--The agent is in the process of starting.

  - Stopped--The agent is not running.

  - Suspended--The agent has been suspended.

- Priority--The thread priority; default value is 5.

The following list describes the sort of information that is provided when issuing the `LIST SERVER` command:

- Server Name--The name of the running server and, optionally, its unique ID.

- Managing Server--The name of the Server Manager that is managing it, if any; if a protocol server was started directly from the operating system, there would be no managing server.

- Hostname--The machine on which the server is running.

- Server Type--The type of the running server, such as FTP or SMB.

When the `DESCRIBE` command is issued, more detailed information is provided on an agent or server, although the information returned depends upon the agent or the server.

### Server Manager Commands--The Complete List

The complete list of commands and their syntax are below. The parameters:

- `<agent>`--The name of the agent.

- `<server>`--The name of the server.

- `<manager>`--Either the name of the Server Manager or its ID.

- `<priority>`--An integer value, ranging from 1 to 10, representing the thread priority.

Command | Description
--- | ---
LIST AGENTS | Lists all local agents.
LIST AGENTS -m <manager> | Lists all agents managed by the specified manager.
LIST SERVERS [-i] | Lists all servers; the optional -i flag specifies to include the server's ID.
DESCRIBE AGENT <agent> | Describes the specified local agent.
DESCRIBE AGENT <agent> -m <manager> | Describes the specified agent managed by the specified manager.
DESCRIBE SERVER | Describes the local server
DESCRIBE SERVER <server> | Describes the specified server.
DESCRIBE SERVER <server> -m <manager> | Describes the specified server managed by the specified manager.
START AGENT <agent> | Starts the specified local agent.
START AGENT <agent> -m <manager> | Starts the specified agent managed by the specified manager.
SUSPEND <agent> | Suspends the specified local agent.
SUSPEND <agent> -m <manager> | Suspends the specified agent managed by the specified manager.
RESUME <agent> | Resumes the specified local agent.
RESUME <agent> -m <manager> | Resumes the specified agent managed by the specified manager.
MODIFY AGENT <agent> -p <priority> | Modify the specified local agent with the specified thread priority.
MODIFY <agent> -p <priority> -m <manager> | Modify the specified agent managed by the specified manager with the specified thread priority.
STOP AGENT <agent> | Stops the specified local agent
STOP AGENT <agent> -m <manager> | Stops the specified agent managed by the specified manager.
STOP AGENTS | Stops all local agents.
STOP AGENTS -m <manager> | Stops agents managed by the specified manager.
STOP SERVER <server> | Stops the specified server.
STOP SERVER <server> -m <manager> | Stops the servers managed by the specified manager.
STOP SERVERS | Stops all servers, except this Server Manager.
RESTART AGENT <agent> | Restarts the specified local agent.
RESTART AGENT <agent> -m <manager> | Restarts the specified agent managed by the specified manager.
HELP | Displays summary help information.
HELP KEYWORDS | Displays a list of command keywords.
HELP <command> | Displays help on the command specified.
EXIT | Shuts down this server manager.

## Oracle iFS Agents

Oracle iFS provides agents that perform required tasks to support the Oracle iFS system. Agents run in the same process as the Server Manager that started it. Custom agents can also be written to perform specific tasks. There are four different types of agents:

- Time-based Agents--These agents are triggered by time intervals. The time interval can be configured.

- Event-based Agents--These agents are triggered by events. The agent registers for specific Oracle iFS events and is triggered when they occur.

- Time-based and Event-based Agents--These agents are triggered by time events, Oracle iFS events, or both.

- Agents to Manage Protocol Servers (External Server Agents)--A special agent to start up protocol servers and to respond to unexpected protocol server failures.

Server Manager can be configured to automatically start up any agent. Any agent that is not started automatically can be started manually. Each Server Manager should have its own definition file. The definition file contains information specific to the Server Manager and the list of agents to load and manage. Once Server Manager has started and loaded the agents, any change to the definition file, including modifying the list of agents, will not be picked up until the Server Manager is shut down and restarted.

The following information is found in the definition file:

- Username/Password (optional)--The Oracle iFS user information to log in to the system. The user must be an Oracle iFS administrator. Rather than storing the password in a file, you can enter the username and password interactively by setting `InteractiveCredentials` to true.

- Output File--The location of the log file.

- Manager Name--The name of the Server Manager. If you are running multiple Server Managers, each name must be unique.

- Interactive--Specifies if the Server Manager should run in the background (false) or interactively (true). Running interactively allows the administrator to enter in commands for managing the agents and servers.

- Interactive Credentials--If this option is set to true, a prompt for the username, password, service name, and schema password is displayed when Server Manager is run.

- List of Agents--The agents to be loaded and managed by this Server Manager.

- Agent Specific Information--Information required for that agent to run.

The following agents are provided with Oracle iFS:

- Expiration Agent

- Garbage Collection Agent

- Content Garbage Collection Agent

- Dangling Object AV Cleanup Agent

- Event Exchanger Agent

- External Server Agent

- Service Watchdog Agent

- Quota Agent

- Outbox Agent

### Expiration Agent

All public objects have an attribute called ExpirationDate. Once this date passes, the public objects are automatically deleted. This is handled by the Expiration agent, which periodically deletes expired objects. If the expiration date of a public object passes, the agent deletes the public object. This agent runs at specific times of the day as specified in the definition (.def) file by the parameter `activationtimes`.

The following information must be included in the definition file to run the Expiration agent:

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`Name` | `ExpirationAgent` | The name of the agent. | Can run only one in system; do not modify.
`Class` | `oracle.ifs.agents.server.ExpirationAgent` | The agent class path. | Do not modify.
`Start` | `true` | Specifies if the agent automatically starts up when the Server Manager starts up. | true=automatic start, false=manual
`InitialTimeOfDay` | `02:00:00` | First time event. | Set time based on a 24 hour clock.
ActivationPeriod | 24h | Defines the time interval between when the agent will be triggered. | h = hours, m = minutes, s = seconds
`TwoPhaseDeleteSupport` | false | For future implementation. | Do not modify.

### Garbage Collection Agent

The Garbage Collection agent runs at specific times of the day as specified in the definition (.def) file. Currently, this agent fixes invalid public object owners, creators, deletors, and modifiers. It uses the following four parameters for this purpose, which are specified in the definition file:

- ReplacementOwner

- ReplacementCreator

- ReplacementModifier

- ReplacementDeletor

For example, a document is created and modified by "ssmith." The creator, owner, and last modifier attribute of document are set to ssmith's object id. If "ssmith" is deleted, the attribute value becomes invalid. The agent replaces these invalid attribute values with the ID of the replacement owner, creator, or deletor specified in the definition file.

The following information must be included in the definition file to run the Garbage Collection agent:

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`Name` | `GarbageCollectionAgent` | The name of the agent. | Can run only one in system; do not modify.
`Class` | `oracle.ifs.agents.server.GarbageCollectionAgent` | The agent class path. | Do not modify.
`Start` | `true` | Specifies if the agent automatically starts up when the Server Manager starts up. | true=automatic start, false=manual
`InitialDelay` | `30m` | The initial delay when the agent will first run; this allows the agents' first trigger to be staggered. | h = hours, m = minutes, s = seconds
`ActivationPeriod` | `1h` | The time interval between the agent's subsequent runs. | h = hours, m = minutes, s = seconds
ReplacementOwner | system | User to be replaced as owner. | Modify as needed.
ReplacementDeletor | system | Users to be replaced as deletor. | Modify as needed.
ReplacementCreator | system | User to be replaced as creator. | Modify as needed.
ReplacementModifier | system | User to be replaced as modifier. | Modify as needed.

### Content Garbage Collection Agent

Content is stored separately from file attributes. The Content Garbage Collection agent identifies unreferenced content and deletes it. For performance reasons, the content of a document is not deleted when the document is deleted. The Content Garbage Collection agent deletes the unreferenced content. This agent runs at specific times of the day as specified in the definition (.def) file.

The following information must be included in the definition file to run the Content Garbage Collection agent:

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`Name` | `ContentGarbageCollection Agent` | The name of the agent. | Can run only one in system; do not modify.
`Class` | `oracle.ifs.agents.server. ContentGarbageCollection Agent` | The agent class path. | Do not modify.
`Start` | `true` | Specifies if the agent automatically starts up when the Server Manager starts up. | true=automatic start, false=manual
`InitialTimeOfDay` | `30m` | The initial delay when the agent will first run; this allows the agents' first trigger to be staggered. | h = hours, m = minutes, s = seconds
`ActivationPeriod` | `1h` | The time interval between the agent's subsequent runs. | h = hours, m = minutes, s = seconds

### Dangling Object AV Cleanup Agent

This agent is similar to the Garbage Collection agent. This agent cleans up dangling object type references and identifies all invalid object references, such as references to objects that no longer exist, and sets these references to null for array type attributes and zero for scalar attributes. For example, this agent cleans up the owner attribute of a document pointing to directory object which was deleted and is now invalid.

The following information must be included in the definition file to run the Dangling Object AV Cleanup agent:

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`Name` | `DanglingObjectAV CleanupAgent` | The name of the agent. | Can run only one in system; do not modify.
`Class` | `oracle.ifs.agents.server.DanglingObjectAVCleanup Agent` | The agent class path. | Do not modify.
`Start` | `true` | Specifies if the agent automatically starts up when the Server Manager starts up. | true=automatic start, false=manual
`InitialTimeOfDay` | `00:45:00` | The first time event. | Set time based on a 24 hour clock.
ActivationPeriod | 24h | Time interval to when the agent runs again. | h=hours, m=minutes, s=seconds
ExcludedAttributeList | AUDITENTRY `PUBLICOBJECT:OWNER` `PUBLICOBJECT:DELETOR` `PUBLICOBJECT:LASTMODIFIER` `VERSIONSERIES:RESERVOR` | A list of attributes for which invalid references to Library Objects are not cleaned up. | Modify as needed.

### Event Exchanger Agent

This agent periodically purges expired events from the event queue. The following information must be included in the definition file to run the Event Exchanger agent:

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`Name` | `EventExchangerAgent` | The name of the agent. | Can run only one in system; do not modify.
`Class` | `oracle.ifs.agents.server.EventExchangerAgent` | The agent class path. | Do not modify.
`Start` | `true` | Specifies if the agent automatically starts up when the Server Manager starts up. | true=automatic start, false=manual
`InitialDelay` | `30m` | The initial delay when the agent will first run; this allows the agents' first trigger to be staggered. | h = hours, m = minutes, s = seconds
`ActivationPeriod` | `20s` | The time interval between the agent's subsequent runs. | h = hours, m = minutes, s = seconds
EventLifespan | 1800 | The number of seconds after which an event is assumed to have been delivered and become eligible for purging. | Unit of measure is seconds.

### External Server Agent

This is a special kind of agent used to start protocol servers. The External Server agent reads the command for starting up a server, and executes that command in a separate process. It also re-starts the protocol servers if they go down unexpectedly.

The default entries in the definition file are specific to the protocol server this agent is managing. This example is the External Server agent for the FTP server:

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`Name` | `FtpServerAgent` | The name of the agent. | Modify to be unique.
ServerName | FtpServer | The name the Server Manager uses to identify the protocol server. | Modify to be unique.
`Class` | `oracle.ifs.agents. server. ExternalServerAgent` | The agent class path. | Do not modify.
`Start` | `true` | Specifies if the agent automatically starts up when the Server Manager starts up. | true = automatic start, false = manual
`Activation Period` | `20s` | Period of time the agent waits for a state transition. | Do not modify.
ReStartOnError | true | Specifies if an the agent should restart the server when an unexpected server failure is detected. | true = automatic start up, false = manual
PassCredentials | true | Passes the Oracle iFS credentials to the protocol server. | true = pass credentials, false = do not pass
ConfigurationFilename | FtpServer-Sun.def | The definition file for the protocol server. | Modify as needed.
LogFilename | FtpServer.log | The log file name. | Modify to be unique.
Command | `java -DFtpServer -mx64M oracle.ifs.protocols. ftp.server.FtpServer` | The command to start the server. | Modify as needed; in particular, the heap size depending upon usage and HW resources available.
JavaProcess | false | If true, a java class is running. Uses other parameters (JavaProcessClass, JavaVmArgs, JavaProcessArgs) to construct the command to be run and ignored COMMAND parameter. | Use this if a java class is running.
JavaProcessClass | none | If JavaProcess parameter is set to true, provide the class that needs to be run here. | Not used if JavaProcess=false.
JavaVmArgs | none | If a java class is running, you can provide arguments to java VM here. (not the arguments for the class itself). Not used if JavaProcess=false. | VM arguments like -mx, -ms and others need to be provided here.
JavaProcessArgs | none | If a java class is running, these are the arguments to the java class itself (not the arguments to VM). | Not used if JavaProcess=false.
PropagateClassPath | true | If a java class is running (by setting JavaProcess to true), then setting this to true makes the CLASSPATH of ESA to be passed down to the environment in which the Java class runs. Not used if JavaProcess=false. | Use this if you are running a java class.
PassIfsArgs | true | If this is set (or not specified), the External Server Agent passes internal Oracle iFS arguments to the command or java class being run. | Do not modify this parameter.

### Service Watchdog Agent

The Service Watchdog agent works together with the External Server agents. This agent cleans up after server failures. Immediately after a server failure, the failed server will show up in the list of servers. After a few minutes of server failure, the Service Watchdog agent detects that the server is no longer running and removes it from the list of servers. The following information must be included in the definition file to run the Service Watchdog agent:

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`Name` | `ServiceWatchdogAgent` | The name of the agent. | Can run only one in system; do not modify.
`Class` | `oracle.ifs.agents.server.ServiceWatchdogAgent` | The agent class path. | Do not modify.
`Start` | `true` | Specifies if the agent automatically starts up when the Server Manager starts up. | true=automatic start, false=manual
`ActivationPeriod` | `20s` | The time interval to when the agent will run again. | h = hours, m = minutes, s = seconds
DeadServiceCheck Frequency | 6 | The frequency of activation periods in which a dead service will be checked. The default is to check every 6 x the ActivationPeriod, which defaults to 20 seconds. |
UnlockedServerCheck Frequency | 1 | The frequency of activation periods in which an unlocked server will be checked. The default is to check for dead service every 1 x the ActivationPeriod. | An unlocked server is one that is in the process of shutting down the server.
ServiceTimeoutPeriod | 120 | The time before the Server Manager will kill an unresponsive protocol server. | Unit of measure is seconds.
UnlockedServerTimeout Period | 10 | The time before Server Manager will kill an unlocked protocol server. | Unit of measure is seconds.

### Quota Agent

The Quota agent is triggered by an event to check for any users who may have used up their quota. This agent also periodically checks all users who are active, according to a specified timer period. The agent updates the user's consumed storage. When the consumed storage is over the allocated quota, then the user will not be able to add any more documents to Oracle iFS.

A user's quota is calculated upon the content already consumed. Therefore, a user will go over quota by adding the final file that pushes the consumed storage over the allocated storage. When setting users' allocated quota, remember that a users' last file will put them over quota before being denied.

Quotas will not be enforced if:

- The Quota agent has not been started or running.

- The user's quota has not been enabled.

The following information must be included in the definition file to run the Quota agent:

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`Name` | `QuotaAgent` | The name of the agent. | Can run only one in system; do not modify.
`Class` | `oracle.ifs.agents.server.QuotaAgent` | The agent class path. | Do not modify.
`Start` | `true` | Specifies if the agent automatically starts up when the Server Manager starts up. | true=automatic start, false=manual
`ActivationPeriod` | `15m` | The time interval to when the agent will run again. | h=hours, m=minutes, s=seconds

### Outbox Agent

The Outbox Agent provides a mechanism to deliver Oracle iFS e-mail created programmatically. Oracle iFS applications creating e-mails will place the messages in the system outbox (`/ifs/outbox`). The Outbox agent is notified every time an event is received indicating the insertion of an e-mail into the outbox folder. The agent sends the e-mail to the mail transfer agent (Sendmail) via SMTP.

Note: This agent is only required for custom e-mail applications.

The following information must be included in the definition file to run the Outbox agent:

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`Name` | `OutboxAgent` | The name of the agent. | Modify to be unique.
`Class` | `oracle.ifs.protocols. email.outbox.OutboxAgent` | The agent class path. | Do not modify.
`Start` | `false` | Specifies if the agent automatically starts up when the Server Manager starts up. | true=automatic start, false=manual
`ActivationPeriod` | `15m` | The time interval to when the agent will run again. | h=hours, m=minutes, s=seconds

## Definition Files for Protocol Servers

After setting up the Server Manager's definition file, you may want to modify the definition files for each of the protocol servers. Each definition file contains information specific to the protocol server. If you will be running multiple copies of the same protocol server, it is strongly recommended that you have a uniquely named definition file for each instance of that protocol.

The following definitions files are discussed:

- Windows Client Protocol (WCP) Server

- Windows NT File System Protocol Server (for Windows NT)

- Simple Mail Transfer Protocol (SMTP) Server

- Internet Mail Access Protocol (IMAP) Server

- Server Message Block (SMB) Protocol Server

- File Transfer Protocol (FTP) Server

- Command Line Utilities Protocol (CUP) Server

### Windows Client Protocol (WCP) Server

The Windows Client Protocol (WCP) is the main protocol used by the Oracle iFS Utilities on Windows 95, Windows 98, Windows NT 4.0, and Windows 2000. Only one WCP server is required for each Oracle iFS schema. If you start more than one instance of the WCP server, only the last instance started will take into effect. Make sure the correct instance of the WCP server is available.

The WCP port assignment is different from other protocols used by Oracle iFS because it does not run on any designated port. Each time it is started, the WCP finds an open port on the machine on which it is running. Exactly one WCP server should run in a system.

The following parameters must be included in the definition file to run the WCP server. To include these parameters, edit the `WcpServer.def` file located in the `$ORACLE_HOME/ifs<version>/settings` directory.

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
server | WcpServer | The name of the server properties file. | The properties file defines settings for the Oracle iFS repository.
AppendLog | true | Specifies if the log should be appended to or overwritten each time the server is started. | true = append, false = overwrite
LogCommands | true | Logs every command. | true = log every command, false = do not log every command
ShowConnectLocations | true | Include the location where a connection originates. | true = include location, false = do not include location
WcpServerSocket Timeout | 0 | Amount of time between activities before the WCP server socket times out. Default is 0; no timeout. | Unit of measure is milliseconds.
`AuthenticatedPoolSize` | 2 | The number of concurrent library sessions servings per mounted Oracle iFS drive. Specify the optional maximum number of concurrent Windows utilities you want to run on each mounted drive. |
`AcceptQueueSize` | 50 | The number of server requests back-logged before denying requests. | Do not modify.
WcpClientSize | 10 | Used to track the number of pre-allocated WCP sessions. | Increase to a larger number for better performance if a larger number of clients connect simultaneously.
OptimizeStartup | true | Specifies if the server should "warm up" for better performance. | true = warm up server, initial cost starting up server, need to indicate objects (warm up settings to load, false = do not warm up server
WarmupAcls `WarmupFormats` `WarmupMedias` `WarmupUsers` | `true` `true` `true` `true` | List of the objects to be loaded during start up for better user performance. |

### Windows NT File System Protocol Server (for Windows NT)

The NT File System Protocol Server allows the Oracle iFS repository to appear as a local hard drive on the server machine. When using the NT File System Protocol Server, the Oracle iFS repository will be mapped to a drive letter on the server machine and can be accessed using the file system as if it were a local hard drive.

The following parameters must be included in the definition file to run the NTFS server. To include these parameters, edit the `NtfsServer.def` file located in the `$ORACLE_HOME/ifs<version>/settings` directory.

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`server` | `NtfsServer` | The name of the server properties file. | The properties file defines settings for the Oracle iFS settings.
AppendLog | true | Specifies if the log should be appended to or overwritten. | true = append, false = overwrite
`DriveLetter` | `o` | The drive letter used to map the Oracle iFS drive. | An available and valid drive letter (a-z).
`LogLevel` | `1` | Specifies the type of information listed in the log file. | A number from 1 to 4. 1 is the minimum and 4 is the maximum information in the log file.
`LogStackTrace` | `false` | Specifies if the Java stack trace is listed in the log file. | true = list Java stack trace, false = do not list Java stack trace

### Simple Mail Transfer Protocol (SMTP) Server

This is a base implementation of the Simple Mail Transfer Protocol. Oracle iFS uses Sendmail as the mail transfer agent. The SMTP server is used as the mail delivery agent for Oracle iFS. Sendmail connects to the SMTP server via the SMTP protocol and uses it to check if inboxes for e-mail recipients exist in Oracle iFS and to deliver mail to those inboxes.

The following parameters must be included in the definition file to run the SMTP server. To include these parameters, edit the `SmtpServer.def` file located in the `$ORACLE_HOME/ifs<version>/settings` directory.

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`server` | `SmtpServer` | The name of the server properties file. | The properties file defines settings for the Oracle iFS repository.
`LogCommands` | `true` | Logs every command. | true = log every command, false = do not log every command
`AppendLog` | `true` | Specifies if the log file should be appended to or overwritten. | true = append, false = overwrite
port | 2500 | The port on which the server is running. | This port is also in the `Sendmail.cf` file. If changed, it must be changed in both places.
SmtpSessionCount | 5 | The number of SMTP sessions created at startup time. |
OptimizeStartup | true | Specifies if the server should "warm up" for better performance. | true = warm up server; initial cost starting up server; need to indicate objects (warm up settings), false = do not warm up server
WarmupAcls `WarmupFormats` `WarmupMedias` `WarmupUsers` | `true` `true` `true` `true` | List of the objects to be loaded during start up for better user performance. |

### Internet Mail Access Protocol (IMAP) Server

This is an implementation of Internet Mail Access Protocol. This provides a mechanism for mail clients to access mail from Oracle iFS accounts.

The following parameters must be included in the definition file to run the IMAP server. To include these parameters, edit the `ImapServer.def` file located in the `$ORACLE_HOME/ifs<version>/settings` directory.

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`server` | `ImapServer` | The name of the server properties file. | The properties file defines settings for the Oracle iFS repository.
`LogCommands` | `false` | Logs every command. | true = log every command, false = do not log every command
`AppendLog` | `true` | Specifies if the log file should be appended to or overwritten. | true = append, false = overwrite
ImapTimeout | 600000 | The amount of time before the server waits before timing out; default is 600 seconds or 10 minutes. | Unit of measure is milliseconds.
ImapPortNum | 143 | The port on which the server is running. |
MaxLiteral | 512 | Required by the IMAP command. | Do not modify.
OptimizeStartup | true | Specifies if the server should "warm up" for better performance. | true = warm up server; initial cost starting up server; need to indicate objects (warm up settings), false = do not warm up server
WarmupAcls `WarmupFormats` `WarmupMedias` `WarmupUsers` | `true` `true` `true` `true` | List of the objects to be loaded during start up for better user performance. |

### Server Message Block (SMB) Protocol Server

The SMB server allows Windows users to easily copy files between their local drives and the Oracle iFS repository. It also allows users to browse and edit files and even execute programs directly from the Oracle iFS repository. SMB is best suited for interactive browsing and modifying documents.

The following parameters must be included in the definition file to run the SMB server. To include these parameters, edit the `SmbServer.def` file located in the `$ORACLE_HOME/ifs<version>/settings` directory.

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`server` | `SmbServer` | The name of the server properties file. | The properties file defines settings for the Oracle iFS repository.
`TraceLevel` | `Err` | Specifies the level of output for the log file. | Off = all, ERR = trace errors and significant events only, Low = minimal tracing, High = verbose tracing
`TraceFile` | none | The trace file name. | The default directory is `$ORACLE_HOME/ifs<version>/log/`
`VerboseIfsExceptions` | `true` | Turn on verbose mode for Oracle iFS exceptions. | true = verbose mode, false = succinct mode
`ShowTimeLevel` | `off` | Add millisecond timestamp for this level of tracing. | Err = trace errors and significant events only, off = all
ShareMyHome | true | Specifies if the virtual MyHome is shared as a mount point. | true = MyHome the list of mount points, false = only administer defined mount points
Workgroup | WORKGROUP | Windows workgroup. | This determines the workgroup where the SMB server will appear in the Network Neighborhood.
HostName | machine name | The name of the server when browsing the Network Neighborhood when mounting an Oracle iFS drive. | Default is the name of the machine the SMB server is running on.
SmbPort | 139 | Port for the SMB server to listen on. | Need to run as root since it is the default port. All Windows clients require that this port number is not changed.
BufferLog | true | Specifies if the log file should be buffered. | true = buffer, false = do not buffer
AppendLog | true | Specifies if the log file is appended or overwritten. | true = append, false = overwrite
AllowGuestIfNot User | true | Allows users who do not have valid accounts on this server to browse as a guest. | true = allows non-guest users as guest, false = forces a valid username
MaxOpenFiles | 30 | The maximum number of files a user can have open on a single mountpoint. |
MaxAllOpenFiles | 100 | The total number of open files the SMB server allows across all users. | The total is also limited by the number of connections configured for the SMB server and database.
EnableParsing | true | Enables the parsing feature when saving Oracle iFS files. | true = enables parsing, false = disables parsing
EnableRendering | true | Enables the rendering feature when reading Oracle iFS files. | true = enables rendering, false = disables rendering
SessionTimeout | 43200000 (12 hours) | The server will disconnect idle sessions after this timeout. | Unit of measure is in milliseconds.
NbTraceLevel | ERR | Specifies the level of output for the log file. | Off = all, Err = trace errors and significant events only, Low = minimal tracing, High = verbose tracing
NbTraceFile | none | The file name for the trace file. | The default directory is `$ORACLE_HOME/ifs<version>/log`.
IpAddr | server IP address | The IP address that is advertised as the location for the SMB server. | This value is defaulted from the server IP address and should not be modified except in unusual cases, for example, multi-homed server.
Netmask | 255.255.252.0 | The mask used to determine the address for broadcast packets. | This limits or broadens the scope of broadcast messages. Most networks should use the default.
Broadcast | none | Overrides the default broadcast address from the IP and Netmask packets. | Change only if you need to explicitly specify a broadcast address.
HostAnnouncer | true | Enables the SMB server to be listed in the Network Neighborhood. | true = server will be listed, false = server will not be listed.

### File Transfer Protocol (FTP) Server

The FTP server allows users to easily transfer files between one file system and the Oracle iFS repository. FTP is particularly useful when performing bulk transfers; in regards to both ease and performance. In addition to the common FTP commands, the Oracle iFS server also has built-in parsing and versioning support.

The following parameters must be included in the definition file to run the FTP server. To include these parameters, edit the `FtpServer.def` file located in the `$ORACLE_HOME/ifs<version>/settings` directory.

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`server` | `FtpServer` | The name of the server properties file. | The properties file defines settings for the Oracle iFS repository.
`LogCommands` | `false` | Logs every command. | true = log every command, false = do not log every command
`AppendLog` | `true` | Specifies if the log file should be appended to or overwritten. | true = append, false = overwrite
VerboseLogging | false | Logs detailed information, including exception stacks. | true = log detailed information, false = log summary information
ShowConnect Locations | true | Logs the location where a connection originates. | true = include location, false = do not include location
DateFormat | MMM dd HH:mm | Specifies the default date format. |
Timeout | 900000 | Amount of time between activity before the connection times out; default is 900 seconds or 15 minutes. | Unit of measure is milliseconds.
Delimiter | `/` | Specifies the Folder Path Delimiter. |
port | 21 (Windows NT), 2100 (Unix) | The port on which the server is running. |
AcceptQueueSize | 50 | The number of server requests back-logged before denying requests. | Do not modify.
OptimizeStartup | true | Specifies if the server should "warm up" for better performance. | true = warm up server; initial cost starting up server; need to indicate objects (warm up settings), false = do not warm up server
WarmupAcls `WarmupFormats` `WarmupMedias` `WarmupUsers` | `true` `true` `true` `true` | List of the objects to be loaded during start up for better user performance. |
AnonymousPool Size | 2 | Initial pool size for anonymous connections. |
WebuiTimeout | 60000 | Time the FTP session is valid when called from the Web interface for drag and drop upload. Default is 60 seconds. | Unit of measure is milliseconds.

### Command Line Utilities Protocol (CUP) Server

The CUP server responds to the requests from the Oracle iFS command line utilities, a set of low-level development tools. Since the command line utilities allow direct access to the objects and their attributes, the user must be familiar with the Oracle iFS class hierarchy to manipulate the objects. The utilities target users with deeper knowledge and understanding of the Oracle iFS objects and their relationships with one another. It is not meant to be an end-user tool.

Note: Logging into Oracle iFS through the Command Line Utilities allows any other users on the same machine to access Oracle iFS through that login without logging on themselves. To avoid this problem, use the `ifsshell` command on machines shared by multiple users.

The following parameters must be included in the definition file to run the CUP server. To include these parameters, edit the `CupServer.def` file located in the `$ORACLE_HOME/ifs<version>/settings` directory.

Parameter | Default Entry | Description | Comments
--- | --- | --- | ---
`server` | `CupServer` | The name of the server properties file. | The properties file defines settings for the Oracle iFS repository.
`LogCommands` | `false` | Logs every command. | true = log every command, false = do not log every command
`AppendLog` | `true` | Specifies if the log file should be appended to or overwritten. | true = append, false = overwrite
ShowConnect Locations | true | Logs the location where a connection originates. | true = include location, false = do not include location
DateFormat | MMM dd HH:mm | Specifies the default date format. |
AnonymousPool Size | 2 | Initial pool size for anonymous connections. |
Timeout | 900000 | Amount of time between activity before socket times out; default is 900 seconds or 15 minutes. | Unit of measure is milliseconds.
SessionStateTimeoutPeriod | 900000 | Amount of time between activity before the session times out; default is 900 seconds or 15 minutes. | Unit of measure is milliseconds.
Delimiter | `/` | Specifies the Folder Path Delimiter. |
port | 4180 | The port on which the server is running. |
AcceptQueueSize | 50 | The number of server requests back-logged before denying requests. | Do not modify.
OptimizeStartup | true | Specifies if the server should "warm up" for better performance. | true = the initial cost of starting up the server; need to inidicateobjects (warm up settings) to load, false = do not warm up server
WarmupAcls `WarmupFormats` `WarmupMedias` `WarmupUsers` | `true` `true` `true` `true` | List of the objects to be loaded during start up for better user performance. |

| Copyright © 2000 Oracle Corporation. All Rights Reserved. |
Library | Service | Contents | Index