Skip Headers
Oracle® Mail Administrator's Guide
10g Release 1 (10.1.1)

Part Number B14491-03
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

D Oracle Mail Command-Line Reference

Many Oracle Mail tasks can be performed using the command line instead of the user interface. This appendix lists various command-line utilities, their usage, and examples.

This appendix discusses the following command-line utilities:

oesdl

Use this utility to add users to and remove users from distribution lists.

The oesdl utility takes a file as input. The file should contain a list of records, each followed by an empty line. Each record must have the name of the distribution list and a list of its users.

Users can also be added to a distribution list that does not yet exist, by creating the distribution list in the same command that specifies its users.

To create a new distribution list, an owner must be specified.

Usage

% oesdl file

where file is the path to the file containing the distribution list records.

Additionally, to show all of the members of a particular distribution list, use the following command:

% oesdl -showallmembers list_name

For example, to show all the members of the list1@us.foo.com:

% oesdl -showallmembers list1@us.foo.com

The following is an output example:

Fetching members of list list1@us.foo.com
--------------------------------------------
user1@us.foo.com   Subscribed
user2@us.foo.com   Subscribed
user3@us.foo.com   Suspended

If the specified distribution list is inactive or not present, the following message displays:

No such list present list_name

If there are no members for the specified distribution list, the following message displays:

There are no members for the list list_name

Table D-1 lists attributes that can be part of the file, in the attribute=value format, provided for oesdl:

Table D-1 oesdl File Attributes

Attribute Description Values
listname

Name of the distribution list to be created.

A short descriptive string

action

Whether to add or delete listed users.

add or delete

newlist

Specify whether a new distribution list is to be created.

y or n

type

The type of distribution list to be created. Must be specified if newlist=y.

listserver or smtp

owner

Enter the e-mail address of the distribution list owner. Must be specified when newlist=y.

Any valid e-mail address

usertype

The type of user being added.


U: regular user
F: foreign user
L: distribution list
A: alias
users

comma-delimited list of users on which the action (add or delete) is to be performed.

Any valid e-mail address

orclmailgrouprfc2369suppresshdr

List the header types to be suppressed in messages distributed to the distribution list.

If all five header types are to be suppressed, the value would be suhop.

Any number of the following:


s: List-subscribe
u: List-unsubscribe
h: List-help
o: List-owner
p: List-post
orclmailgroupautoreconfirmtext

Establishes the list of subscription approvers. Applicable only if the distribution list subscription type is restricted. Enter a comma-delimited list of users' e-mail addresses.

Any valid e-mail address

orclmailgroupeditorslist

Establishes the editors for the distribution list. Applicable only if the distribution list group type is edited. Enter a comma-delimited list of users' e-mail addresses.

Any valid e-mail address

orclmailgroupmoderatorslist

Establishes the moderators for the distribution list. Applicable only if the distribution list group type is moderated. Enter a comma-delimited list of users' e-mail addresses.

Any valid e-mail address

orclmailgroupallowdigest

Set to true to enable the digest feature. Posts to a distribution list are held and only one e-mail message is sent containing all the posts to the distribution list to a list member at a member-specified frequency.

true or false

orclmailgroupbounceproc

If true, when a DSN is received from any member of a distribution list a specific number of times, the list owner receives a notification and can then unsubscribe the member from the list.

true or false

orclmailgroupviewmembers

Specifies which type of user is allowed to view and edit distribution list members.


owner: Only the distribution list owner can view and edit
privileged: Owners, approvers, moderators, and editors can view and edit
member: Members, owners, approvers, moderators and editors can view and edit
all: Anyone can view and edit

owner
privileged
member
all
orclmailallowforeignmembs

Specifies whether foreign users can be members of this distribution list.

true or false

orclmailgroupnotifyoption

Specifies who receives notifications upon successful subscription or unsubscription.

both: Specifies both owner and members will receive notifications.


none
owner
member
both
orclmailuserstate

Specifies the state of the distribution list.


active: Posting permitted
inactive: The distribution list is not recognized as a recipient; no posting permitted
migrating: The list is being migrated into this Oracle Collaboration Suite installation

active
inactive
migrating
orclmailgroupunsubscribeallowed

If false, allows only the distribution list owner to unsubscribe a member from a list. If true, anyone can unsubscribe.

true or false

orclmailgroupisexternal

Set to true if the members of the distribution list are resolved by an external procedure.

true or false

orclmailgroupexternalprocname

Must be provided if orclmailgroupisexternal is set to true. The name of the SQL procedure to be called, provided in the format schema_name.procedure_name@database_link.

Any valid SQL procedure

orclmailgroupposttype

Type of posting control placed on the list, as described in Table 2-3, "Distribution List Posting Types".

open or subscriber

orclmailgroupmergetag

A tag used to specify mail merge and scheduler tags, enabling a distribution list owner to support mail merge or scheduled mail delivery.

See Also: "Mail Merge" for more information about mail merge and scheduled mail delivery


orclmailgrouptype

Type of distribution list, as described in Table 2-1, "Distribution List Group Types".

The quick distribution list type is invalid when using oesdl. This type is differentiated using the type file attribute.


discussion
announcement
edited
moderated
orclmailgroupsubscriptiontype

Type of subscription control placed on the list, as described in Table 2-2, "Distribution List Subscription Types".


open
restricted
closed
orclmailgrouptopic

Establishes the topic of the distribution list.

A single line of text

orclmaxmsgsize

The maximum allowable size of a message in bytes posted to the distribution list. Messages exceeding this value are rejected.

A value of 0 indicates unlimited message size.

Any integer value greater than or equal to 0. No range check is done so administrator must enter a valid value.

Any integer greater than or equal to 0


Examples

This section includes the following topics:

The following examples assume the file named list_file contains the various records.

Adding Users to an Existing Distribution List

To add users to an existing distribution list:

% oesdl list_file

The list_file file contains the following record:

listname=list1@foo.com
action=add
newlist=n
usertype=U
users=user1@foo.com,user2@foo.com,user3@foo.com

listname=list2@foo.com
action=add
newlist=n
usertype=L
users=list1@foo.com

This adds user1, user2, and user3 (usertype=U) to list1@foo.com (usertype=L), which must already exist, since newlist=n (no). It also adds list1@foo.com to another distribution list called list2@foo.com.

Adding Users to a New Distribution List

To add users to a new distribution list:

% oesdl list_file

The list_file file contains the following record:

listname=list1@foo.com
action=add
newlist=y
owner=user1@foo.com
usertype=U
type=listserver
owner=user1@us.oracle.com
orclmailgroupallowdigest=true
orclmailgroupbounceproc=true
orclmailgroupviewmembers=owner
orclmailallowforeignmembs=false
orclmailgroupnotifyoption=member
orclmailuserstate=active
orclmailgroupunsubscribeallowed=true
orclmailgroupposttype=subscriber
orclmailgroupmergetag=orcl_spl
orclmailgrouptype=discussion
orclmailgroupsubscriptiontype=open
orclmailgrouptopic=Welcome to test_oesdl
orclmaxmsgsize=4000000
users=user1@foo.com,user3@foo.com

This creates a new distribution list called list1@foo.com, establishes the owner as user1@foo.com, and adds users user1@foo.com and user3@foo.com to the new distribution list.

The new distribution list also has various attributes set.

If the distribution list has restricted subscription, the following line can be included for adding approvers:

orclmailgroupautoreconfirmtext=user1@foo.com,user3@foo.com

If the distribution list is edited, the following line can be included for adding editors:

orclmailgroupeditorslist=user1@foo.com,user3@foo.com

If the distribution list is moderated, the following line can be included for adding moderators:

orclmailgroupmoderatorslist=user1@foo.com,user3@foo.com

Removing Users from a Distribution List

To remove users from a distribution list:

% oesdl list_file

The list_file file contains the following records:

listname=list1@foo.com
action=delete
usertype=U
users=user1@foo.com,user2@foo.com

listname=list2@foo.com
action=add
newlist=y
owner=user1@foo.com
usertype=U
users=user1@foo.com,user2@foo.com

This removes user1 and user2 from list1@foo.com. It also creates a new distribution list called list2, establishes the owner as user1@foo.com, and adds user1 and user2 to the new distribution list, list2@foo.com.

Deleting a Distribution List

To delete a distribution list:

% oesdl list_file -d

The list_file file contains the following record:

listname=list1@us.oracle.com
listname=list2@us.oracle.com

If the deletion is successful, the following message displays:

Successfully deleted list: list_file

If there are any errors in deleting the list, the following error message displays:

Error in deleting list: list_file

oesng

This utility enables administrators to create and delete NNTP newsgroups in the Oracle Collaboration Suite system. This utility accepts a file as input and creates or deletes newsgroups according to the information specified in the file.

File Format

The file passed as input to the oesng command-line utility must contain a list of records, with each list followed by an empty line. Each record consists of a set of parameter=value pairs containing information about the newsgroup to be created or deleted. Names are not case-sensitive. Unless indicated otherwise, all parameters can be specified only once for a newsgroup. Lines that begin with the # character are treated as comments and are not processed by the utility.

For newsgroups that are being deleted, it is sufficient to specify the name of the newsgroup and the action as delete.

Parameters

Table D-2 lists parameters used by the oesng command-line utility.

Table D-2 oesng Parameters

Parameter Description Acceptable Values Default
Name

Name of the newsgroup to be created or deleted

Any valid newsgroup name

Mandatory (no default)

News Store

Name of the news store on which this newsgroup is to be created

Any valid news store in the Oracle Collaboration Suite system

Mandatory for newsgroup creation

Action

Creating or deleting the newsgroup

Create or Delete

Create
Owner

Owner of the newsgroup

Any valid e-mail address in the Oracle Collaboration Suite system

None

Description

Description for the newsgroup

Single line of text

None

Moderated Group

Boolean specifying whether the newsgroup is moderated

True or False

False
Moderator

Names the moderator for the newsgroup. Can be specified more than once for a newsgroup.

Any valid e-mail address

None

Posting Allowed

Boolean telling whether posting is allowed to the newsgroup

True or False

False
Retention Days

Number of days to retain an article in a newsgroup before being expired

Any positive integer

None

Domain

Domain to which the newsgroup belongs, if the newsgroup being created or deleted is a private newsgroup

Any valid domain in the Oracle Collaboration Suite system

None

Installation

Name of the installation where the newsgroup is to be created

Any valid installation name in the Oracle Collaboration Suite system

um_system

Usage

oesng file

where file is the path to the file containing the newsgroups to be processed.

Examples

The following examples show how to use the oesng command-line utility.

This section includes the following topics:

Creating a Simple Public Newsgroup

The following example demonstrates how to create a simple public newsgroup.

oesng newsfile

where newsfile contains the following

name=newsgroup1
newsstore=db1.acme.com

Creating a Public Moderated Newsgroup

The following example demonstrates how to create a public moderated newsgroup that permits posting and retains articles for 15 days.

oesng newsfile

where newsfile contains the following:

name=newsgroup2
newsstore=db1.acme.com
action=create
description=A new newsgroup
moderatedgroup=true
moderator=user1@acme.com
moderator=user2@acme.com
postingallowed=true
retentiondays=15

Creating a Public Newsgroup

The following example demonstrates how to

  • Create a public newsgroup that does not allow posting

  • Delete an existing private newsgroup

  • Create a private moderated newsgroup that allows posting

oesng newsfile

where newsfile contains the following:

name=newsgroup3
newsstore=db1.acme.com
postingallowed=false

name=private.newsgroup1
domain=acme.com
action=delete

name=private.newsgroup2
domain=acme.com
newsstore=db1.acme.com
postingallowed=true
moderatedgroup=true
moderator=mod1@acme.com
moderator=mod2@acme.com

Deleting a Public Newsgroup

The following example demonstrates how to delete a public newsgroup.

oesng newsfile

where newsfile contains the following

name=newsgroup5
action=delete

oespr

This utility enables administrators to create and delete news peers and to associate newsgroups with news peers in an Oracle Collaboration Suite system. It accepts a text file as input and creates or deletes peers according to the information specified in the file.

The file that is passed as input to the oespr utility must contain a list of records, each followed by an empty line. Each record consists of a set of parameter=value pairs that contain information about the newsgroup being created or deleted. Parameters are not case-sensitive. Unless indicated otherwise, all parameters can be specified only once for a peer.

Lines beginning with the # character are treated as comments and are not processed by the utility.

Table D-3 describes the parameters that can be specified in the file.

Table D-3 oespr Parameters

Parameter Description Acceptable Values Default Value
Host Name

Fully-qualified host name of the news peer being created or deleted

Any valid peer host name

Mandatory (no default)

Port

Port on which the NNTP server is running on the peer

Any valid port

119
Action

Creating or deleting the peer

Create or Delete

Create
Accept Group

List of groups accepted from this peer; can be specified more than once for a peer.

Any valid group name. Wildcard patterns can also be specified.

N/A

Reject Group

List of groups to be rejected if offered by this peer; can be specified more than once for a peer.

Any valid group name. Wildcard patterns can also be specified.

N/A

Feed Group

List of groups for which this peer should be fed; can be specified more than once for a peer.

Any valid public newsgroup name.

N/A

Installation

Name of the installation where the peer is to be created.

Any valid installation name in the Oracle Collaboration Suite system.

um_system

Usage

oespr filename

where filename is the path to the file containing the peers to be processed.

Examples

The following examples show how to use the oespr command-line utility.

This section includes the following topics:

Creating a Simple Peer

To create a simple peer:

% oespr peer_file

The peer_file file contains the following record:

hostname=host1.foo.com

Creating a Peer Using Articles from Specific Newgroups

To create host1.foo.com as a peer that uses articles from the comp.lang.c and comp.lang.java groups on port 2119:

% oespr peer_file

The peer_file file contains the following record:

hostname=host1.foo.com
port=2119
feedgroup=comp.lang.c
feedgroup=comp.lang.java

Deleting a Peer

To delete a peer:

% oespr peer_file

The peer_file file contains the following record:

hostname=host1.foo.com
action=delete

oesucr

This bulk provisioning utility is for creating and modifying large numbers of Oracle Mail users. When ldapadd is used to create the Oracle base user, the Oracle Mail user is also created in the process.

Usage

% oesucr filename option option option ...

where filename is the path to a text file containing e-mail user records and option can be any of the following:

Note:

Oracle recommends saving text files in the UTF-8 format to accommodate all languages.

Table D-4 lists the required and optional attributes to be specified in any text file containing e-mail user records passed to the oesucr utility.

Table D-4 oesucr Attributes

Attribute Name Description Options Default Value

Required




mail

Specifies the user's fully qualified e-mail address. The user's e-mail ID must be the same as the User Name attribute for the base user.

N/A

N/A

orclmailquota

Specifies e-mail quota of a user in bytes.

N/A

N/A

baseuserdn

The DN where the base user is created.

N/A

N/A

Optional




orclmailstore

Specifies the Oracle Collaboration Suite Database to be used as mail store for the user.

N/A

N/A

orclmailvoicequota

Specifies additional quota for voice mail in bytes.

N/A

1000000
orclmailuserstate

Defines the user as active or inactive. If User State is active, the user can receive and send e-mail; if inactive, the user cannot receive and send e-mail

active, inactive, or migrating

active
orclforwardaddress

Stores the e-mail addresses for the auto forward feature

N/A

N/A

orclmailuserindextype

Specifies if text indexing should be performed on only the e-mail text or both the e-mail and the attachment.

0 = Disabled

1 = Enabled

0
orcldomaincontrolaci

Specifies whether the user is a system administrator, domain administrator, or regular user.

system, domain, or regular

regular
orclwebmaildisplayallheaders

Specifies whether Oracle WebMail headers are displayed in detail view for user.

yes or no

yes
orclwebmailnumdisplay

Specifies number of messages shown at a time for user in Oracle WebMail.

N/A

20
orclmailarchivingpolicyid

Specifies the archiving policy to be associated with the user.

Use the name of the policy created in "Creating an Archive Policy".

Leading and trailing spaces are ignored and embedded spaces in policy names are accepted, such as Policy A. The string need not be quoted.

Notes: The policy must be created before it can be referenced using the oesucr utility.

See Also: Example D-1 for examples of users created with associated archiving policies

name_of_policy

N/A


Examples

The following examples show how to use the oesucr command-line utility.

This section includes the following topics:

Creating Oracle Mail Users

To create Oracle Mail users:

% oesucr filename -v

The -v option prints out debug messages.

The file specified in filename is a text file that contains user records and must contain the following attributes:

  • mail=user_ID@domain.com: Specify the user's fully qualified e-mail address. The user's e-mail ID must be the same as the User Name attribute for the base user. For example:

    mail=testuser1@foo.com
    
    
  • orclmailquota=number_of_bytes: The size, in bytes, allocated to the user's mailbox. For example:

    quota=10000000
    
    
  • baseuserdn=DN: The DN where the base user was created. For example:

    baseuserdn=cn=testuser1,cn=users,dc=foo,dc=com
    
    

Optionally, you can specify a user's privileges and create folders by including the following attributes in the file:

  • orclMailDomainControlAci=value: Enter one of the following values to specify a user's administration privilege:

    • system: Gives user system administrator privileges

    • domain: Gives user domain administrator privileges

    • regular: User has no administrative privileges

    By default, if orclMailDomainControlAci is not specified, the user is created as a regular user with no administrative privileges.

  • folder: Comma separated names of folders to be created while creating the user

To specify multiple user records to be created in a single file, use an empty line in between each user record, as shown in Example D-1.

Example D-1 File Containing Multiple Users

mail=tuser1@us.foo.com
orclmailquota=400000000
baseuserdn=cn=tuser1,cn=users,dc=us,dc=foo,dc=com
orclmailarchivingpolicyid=Policy A

mail=tuser2@us.foo.com
orclmailquota=400000000
baseuserdn=cn=tuser2,cn=users,dc=us,dc=foo,dc=com
orclmailarchivingpolicyid=Policy A
orclmaildomaincontrolaci=system

mail=tuser3@us.foo.com
orclmailquota=400000000
baseuserdn=cn=tuser3,cn=users,dc=us,dc=foo,dc=com

mail=tuser4@us.foo.com
orclmailquota=400000000
baseuserdn=cn=tuser4,cn=users,dc=us,dc=foo,dc=com
orclmailarchivingpolicyid=Stratégie

Example

Create two e-mail users, user1 and user2. Both users will have a 10 MB mailbox quota; each will have folders called Personal and Work; and user2 will be given domain administrator privileges.

  1. Ensure that user1 and user2 base user accounts exist by using Oracle Delegated Administration Services to check that the accounts for user1 and user2 exist.

  2. Create a file containing the following information for user1 and user2. The file is called user_file for this example and contains the following lines of text:

    mail=user1@foo.com
    orclmailquota=10000000
    baseuserdn=cn=user1,cn=users,dc=foo,dc=com
    folder=personal,work
    
    mail=user2@oracle.com
    orclmailquota=10000000
    baseuserdn=cn=user2,cn=users,dc=oracle,dc=com
    orclMailDomainControlAci=domain
    folder=personal,work
    

    Note:

    Each Oracle Mail user to be created is separated by an empty line.
  3. Execute the oesucr command:

    % oesucr user_file
    

Creating Oracle Mail Users at the Command Line

The following example shows how to create an Oracle Mail user using the command line, without creating a new file. Only one user can be created at a time with this method.

% oesucr -cmd mail=user1@foo.com
baseuserdn=cn=user1,cn=users,dc=foo,dc=com orclmailquota=400000000 other_optional_attributes

All parameters are separated by a space, and have the same names as those used in the file. All mandatory attributes must be specified, while any valid optional attributes can be added.

Deleting Oracle Mail Users

Notes:

  • Deleting Oracle Mail users using oesucr does not delete the base user in Oracle Internet Directory. Deleting a user from Oracle Internet Directory must be done using Oracle Delegated Administration Services.

  • When an e-mail user is removed, any shared folders and public shared folders owned by that user are also deleted, however user data stored in the Oracle Collaboration Suite Database is not removed.

  • If the user being deleted owns a distribution list or newsgroup, the user deletion will not proceed. An error message displays that will contain the names of the distribution lists or newsgroups owned by this user. The administrator must change the ownership for these lists and newsgroups in order to proceed with user deletion.

To delete Oracle Mail users:

% oesucr filename –d -v

The file specified in filename is a text file that contains user IDs of Oracle Mail users to be deleted, as follows:

mail=user_ID@domain.com: Specify the user's fully qualified e-mail address. The user's e-mail ID must be the same as the User Name attribute for the base user. For example:

mail=testuser1@foo.com,testuser2@foo.com

To specify multiple user records to be deleted in a single file, use a comma to separate Oracle Mail users' addresses.

The -d option deletes Oracle Mail users.

The -v option prints out debug messages.

Example

Delete the Oracle Mail user accounts for user1, user2, and user3.

  1. Create a file containing the Oracle Mail users to be deleted. The file is called delete_user for this example and contains the following lines of text:

    mail=user1@foo.com,user2@foo.com,user3@foo.com
    
    
  2. Execute the oesucr command:

    % oesucr delete_file -d
    
    

    The -d option deletes Oracle Mail users.

Clearing Data from the Oracle Collaboration Suite Database

Use the -clean_user_mailstore_data option to Clear data from the Oracle Collaboration Suite Database of users who have been deleted from the system and whose data has not yet been cleared, as follows:

% oesucr filename -clean_user_mailstore_data

The file specified in filename is a text file that contains user IDs of deleted Oracle Mail users, as follows:

mail=user1@foo.com,user2@foo.com,user3@foo.com,...

If a user has not yet been deleted, the following error message displays after the oesucr command is executed:

user1@foo.com  has not been deleted. Cannot remove mail store data.

If there is an error while removing data from the Oracle Collaboration Suite Database, the following error message displays:

Error :- user1@foo.com mail store data has not been deleted.

Listing Deleted Users Whose Data Has Not Been Cleared

Use the -list_deleted_users option to list currently deleted users whose data in the Oracle Collaboration Suite Database has not yet been cleared. This option does not require a file name in the command and is executed, as follows:

oesucr -list_deleted_users

If there are no deleted users, the following message displays:

There are no deleted users present.

If there are deleted users, they are listed one user per line in the following format:

User user_ID deleted on date_deleted

For example:

User user1@foo.com deleted on Fri July 29 08:12:44 EDT 2005

Changing an Oracle Mail User's E-mail Address

To change a user's e-mail address:

% oesucr filename -change

The file specified in filename is a text file that contains the following records, in the form old_username@domain.com=new_username@domain.com:

user1@foo.com=new_user1@foo.com
user2@foo.com=new_user2@foo.com

oesctl and opmnctl

The oesctl utility enables an Oracle Mail administrator to perform a subset of the configuration operations for Oracle Mail services that are available through the Oracle Enterprise Manager 10g interface. The utility is accessed through a command shell, such as /usr/csh in UNIX.

Oracle Mail in Oracle Collaboration Suite 10g is integrated with opmn for process control. This allows Oracle Mail server processes to be started and stopped using the same opmnctl script as is used to start processes for other Oracle Collaboration Suite components. opmnctl also performs the task of restarting Oracle Mail server processes if they stop unexpectedly, which helps to satisfy high availability requirements.

Configuration tasks include:

The opmnctl utility performs the following control tasks:

Usage

% oesctl command target instance

Table D-5 lists oesctl commands. To get a list of commands from the command line, execute oesctl with no arguments.

% oesctl

Table D-5 oesctl Commands

Command Description
startup

Starts all the processes associated with the target or instance

shutdown

Shutdown all the processes associated with the target or instance

create instance

Creates an instance of a target

delete instance

Deletes an instance of a target

refresh

Causes the target or instance to reload parameters from LDAP

show targets

Displays a list of possible targets

show status

Displays the status of the target

show processes

Show the processes associated with the target

enable

Enable the target

disable

Disable the target

sync_opmn_conf

Read process configuration from LDAP server and updates opmn configuration


Examples

The following examples show how to use the oesctl and opmnctl command-line utilities.

This section includes the following topics:

Listing Oracle Mail Servers

To display a list of Oracle Mail servers:

% oesctl show targets
TARGET: appserver.foo.com:um_system:gc
TARGET: appserver.foo.com:um_system:imap
TARGET: appserver.foo.com:um_system:list
TARGET: appserver.foo.com:um_system:nntp_in
TARGET: appserver.foo.com:um_system:nntp_out
TARGET: appserver.foo.com:um_system:pop
TARGET: appserver.foo.com:um_system:smtp_in
TARGET: appserver.foo.com:um_system:smtp_out
TARGET: appserver.foo.com:um_system:vs

Creating a New Oracle Mail Server Instance

To create a new server instance:

% oesctl create instance target

where target is one of the servers listed by executing oesctl show targets.

For example:

% oesctl create instance appserver.foo.com:um_system:smtp_in
Succesfully created a new instance for a total of: 2

This command creates a new server instance entry in the Oracle Internet Directory server and also updates opmn.xml by adding a new opmn process-set entry so that the server can be controlled by opmn. When the server instance is started, it uses the default server instance settings.

See Also:

"Oracle Mail Server Parameter Definitions" for more information about server parameters

Deleting an Instance from an Oracle Mail Server

To delete a server instance:

% oesctl delete instance target

where target is one of the servers listed by executing oesctl show targets.

For example:

% oesctl delete instance appserver.foo.com:um_system:imap
Succesfully deleted an instance for a total of: 0

This command selects one of the instances of the server and deletes the instance entry from the Oracle Internet Directory server. The corresponding opmn process-set entry is removed from opmn.xml.

To delete a specific instance, use Application Server Control Console for Collaboration Suite.

See Also:

"Deleting a Server Instance" for more information about deleting server instances using Application Server Control Console for Collaboration Suite.

Listing Oracle Mail Server Instances

To display a list of server instances:

% oesctl show processes target

where target is one of the servers listed by executing oesctl show targets.

For example:

% oesctl show processes appserver.foo.com:um_system:smtp_in
appserver.foo.com:um_system:smtp_in:111179697423528299
appserver.foo.com:um_system:smtp_in:111180005391552521

The numbers assigned to each server instance are selected at instance creation time so that each instance has a unique name.

Enabling an Oracle Mail Server

To enable an Oracle Mail server:

% oesctl enable target

where target is one of the servers listed by executing oesctl show targets.

For example:

% oesctl enable appserver.foo.com:um_system:pop

Enabling a server configures opmn so that the server can be started using either oesctl or opmnctl.

Once a server is enabled, it can be started by the following command:

% opmnctl startall

Disabling an Oracle Mail Server

To disable an Oracle Mail server:

% oesctl disable target

where target is one of the servers listed by executing oesctl show targets.

For example:

% oesctl disable appserver.foo.com:um_system:pop

Disabling a server configures opmn so that the server cannot be started.

Once a server is disabled, it cannot be started by the following command:

% opmnctl startall

Disabling a server that is currently running will first stop the server, then disable it.

Synchronizing Oracle Mail Server Configuration in Oracle Internet Directory to opmn.xml

To synchronize the Oracle Mail server configuration information to opmn:

% oesctl sync_opmn_conf

For example:

% oesctl sync_opmn_conf
Update OPMN configuration for appserver.acme.com:um_system:gc
Update OPMN configuration for appserver.acme.com:um_system:imap
Update OPMN configuration for appserver.acme.com:um_system:list
Update OPMN configuration for appserver.acme.com:um_system:nntp_in
Update OPMN configuration for appserver.acme.com:um_system:nntp_out
Update OPMN configuration for appserver.acme.com:um_system:pop
Update OPMN configuration for appserver.acme.com:um_system:smtp_in
Update OPMN configuration for appserver.acme.com:um_system:smtp_out
Update OPMN configuration for appserver.acme.com:um_system:vs

Synchronizing the Oracle Mail server information in Oracle Internet Directory and in opmn.xml will first delete every Oracle Mail server entry in opmn.xml and then create new entries based on the entries found in Oracle Internet Directory.

Typically it is not necessary to synchronize the server information in Oracle Internet Directory and opmn.xml. They are both updated as server instances are created and deleted. However, unanticipated system failures can result in a configuration where the Oracle Mail server information in Oracle Internet Directory and opmn.xml does not agree. The sync_opmn_conf option for oesctl is provided to recover from such situations.

Starting All Instances of an Oracle Mail Server

To start all instances of an Oracle Mail server:

% opmnctl startproc process-type=type

where type is one of the following:

email_housekeeper
email_imap
email_listserver
email_nntp_in
email_nntp_out
email_pop
email_smtp_in
email_smtp_out
email_virus_scrubber

For example:

% opmnctl startproc process-type=email_imap

This command starts all IMAP server instances that are not already running.

Starting a Single Instance of an Oracle Mail Server

To start a single instance of an Oracle Mail server:

% opmnctl startproc process-set=instance_number

where instance_number is the numeric portion of the server instance name displayed by the oesctl show processes command.

Restarting One or All Instances of an Oracle Mail Server

Restarting a server instance causes the running server to stop running and then creates a new running server instance. If clients have open connections to the running server instance, they will be disconnected and have to reconnect. Usually it is not necessary to restart a single server instance, but the facility is provided in case the need arises.

The opmnctl command syntax for restarting one or all instances of an Oracle Mail server uses the same process-type values and process-set values that are used for starting and stopping.

To restart all instances of an Oracle Mail server:

% opmnctl restartproc process-type=type emailRefresh=false

To restart a specific instance of an Oracle Mail server:

% opmnctl restartproc process-set=instance_number emailRefresh=false

Refreshing One or All Instances of an Oracle Mail Server

Refreshing a running server instance causes it to reload its configuration settings. Refresh a running server instance when the log level and debug flags of a running server instance are changed.

By changing either the log level, debug flags, or both, and refreshing the server instance, the administrator can change the behavior of the running server instance without disconnecting any clients that have open connections to the server. The log level and debug flags are set using Application Server Control Console, as described in Chapter 3.

The opmnctl command syntax for refreshing one or all instances of an Oracle Mail server uses the same process-type values and process-set values as are used for starting and stopping.

To refresh all instances of an Oracle Mail server:

% opmnctl restartproc process-type=type

To refresh a specific process instance of an Oracle Mail server:

% opmnctl restartproc process-set=instance_number

Note:

Even though the command syntax uses the keyword restartproc, server instances are not restarted. Running server instances continue to run without interruption. When the restartproc keyword is used but the emailRefresh=false argument is not given, the opmnctl restartproc command causes Oracle Mail server process instances to refresh, not restart.

Stopping All Instances of an Oracle Mail Server

To stop all instances of an Oracle Mail server:

% opmnctl stopproc process-type=type

where type is one of the following:

email_housekeeper
email_imap
email_listserver
email_nntp_in
email_nntp_out
email_pop
email_smtp_in
email_smtp_out
email_virus_scrubber

For example:

% opmnctl stopproc process-type=email_imap

This command stops all IMAP server instances that are running.

Stopping a Single Instance of an Oracle Mail Server

To stop a single instance of an Oracle Mail server:

% opmnctl stopproc process-set=instance_number

where instance_number is the numeric portion of the server instance name displayed by the oesctl show processes command.

Dynamically Starting and Stopping Housekeeper Tasks

An administrator can use opmnctl to dynamically start and stop the Housekeeper tasks described in "Configuring Housekeeper Tasks" from the command line.

When opmnctl is used to dynamically start and stop these tasks, a notification is sent to running Housekeeper server instances. The notification informs a running server instance which task is affected and whether the task should be started or stopped.

To dynamically start or stop a Housekeeper server task for all Housekeeper server instances:

% opmnctl restartproc process-type=email_houskeeper esgc_action=action esgc_task=task

where action is one of the following:

  • start-task

  • stop-task

and task is one of the following:

  • expiration

  • pruning

  • collection

  • index-synch

  • index-optimize

  • tertiary-store

Giving the opmnctl argument process-type=email_housekeeper sends the task notification to all running instances of the Housekeeper server. As with all other opmnctl commands for Oracle Mail servers, the scope of the command can be restricted to a specific server instance by using process-set=instance_number.

To dynamically start or stop a Housekeeper server task for a specific Housekeeper server instance:

% opmnctl restartproc process-set=instance_number esgc_action=action esgc_task=task

where instance_number is the numeric portion of the process instance name displayed by the % oesctl show processes command.

Showing Status for All Instances of an Oracle Mail Server

To show the status of all instances for a given Oracle Mail server, use oesctl, as in the following example:

% oesctl show status appserver.acme.com:um_system:smtp_in
appserver.foo.com:um_system:smtp_in:111180005391552521 ----Heartbeat-----
appserver.foo.com:um_system:smtp_in:111205631039366429 <stopped>
appserver.foo.com:um_system:smtp_in:111205632368920420 ----Heartbeat-----

The opmnctl utility can also be used to view status of the servers controlled and monitored by opmn.

For example:

% opmnctl status

Processes in Instance: OCS_Apps.appserver.foo.com
-------------------+--------------------+---------+---------
ias-component      | process-type       |     pid | status  
-------------------+--------------------+---------+---------
HTTP_Server        | HTTP_Server        |     N/A | Down
WebCache           | WebCache           |     N/A | Down
WebCache           | WebCacheAdmin      |     N/A | Down
dcm-daemon         | dcm-daemon         |    7661 | Alive
email              | email_housekeeper  |     N/A | Down
email              | email_imap         |     N/A | Down
email              | email_listserver   |     N/A | Down
email              | email_nntp_in      |     N/A | Down
email              | email_nntp_out     |     N/A | Down
email              | email_smtp_in      |   10156 | Alive
email              | email_smtp_in      |     N/A | Down
email              | email_smtp_in      |   10169 | Alive
email              | email_smtp_out     |     N/A | Down
email              | email_virus_scrub~ |     N/A | Down

oesrl

This utility enables an Oracle Mail administrator to create and manage server-side rules. It takes Java or XML format input from a file. This command can also be used to print out existing rules in XML format to standard output.

See Also:

"Creating Server-Side Rules" for more information about using oesrl

Usage

-p prints a rule

-c filename creates a rule from a properties file

-r reads rule from directory to see if rule is correct in the Oracle Collaboration Suite Database.

-x filename create a rule from an XML file

-v verify that rule is present on a database

Examples

This section includes examples of server-side rules that perform a variety of functions. These rules can be placed in a file and called with the oesrl -x filename command.

This section includes the following topics:

Deleting Server-Side Rules

To delete server-side rules:

  1. Print a list of rules for a particular user or domain with the following command:

    $ oesrl –p user1@domain.com
    
    
  2. Remove the <rule></rule> block from XML file for each rule you want to delete.

Blocking Messages Containing Suspicious Attachments

This system-wide rule blocks messages containing attachments containing particular file types. In this example, the rule blocks attachments containing .exe files.

<account qualifiedName="UM_SYSTEM" ownerType="system">
  <rulelist event="reception">
    <rule description="block exe">
      <condition>
        <attribute tag="xheader" param="Content-Disposition"/>
        <operator op="contains"/>
        <operand>exe</operand>
      </condition>
      <action>
        <command tag="reject">
        <parameter>Please do not send emails with .exe attachment.  Your email is rejected.</parameter>
      </action>
    </rule>
  </rulelist>
</account>

Rejecting Messages Based on Text Strings

This system-wide rule rejects messages based on text strings contained in Subject headers. In this example, the rule rejects messages that contain the word Viagra in the Subject.

<account qualifiedName="UM_SYSTEM" ownerType="system">
  <rulelist event="reception">
    <rule description="Deliver Detail" group="all" active="yes" visible="no">
      <condition negation="no" junction="and">
        <attribute tag="rfc822subject"/>
        <operator caseSensitive="no" op="contains"/>
        <operand>viagra</operand>
      </condition>
      <action>
        <command tag="reject"/>
        <parameter>We don't need your SPAM here, thank you</parameter>
      </action>
    </rule>
  </rulelist>
</account>

Alternatively, use <command tag="discard"> to send nothing back to the spammer. Depending on the number of spam words you want to block, you can write a separate rule for each or you can write a simple PL/SQL function that queries your own table of spam words, and use this as your condition check in the rule.

Capturing Outbound Messages Regardless of Domain

An outbound message cannot be associated with a domain because users can write whatever they want in the from header, thus making the domain information meaningless. You can capture all outbound messages regardless of domain by using the relay event, as long as the messages are addressed to an outside user. Messages sent between local users will not trigger the relay event.

ruleowner=um_system
ruletype=system
event1=relay
relay.rule1=Capture From
relay.rule1.attr1=rfc822from
relay.rule1.op1=contains
relay.rule1.operand1=perfitcomputer.com
relay.rule1.action1=call
relay.rule1.action1.param1=perfit_custom_rules.incoming_forward
relay.rule1.action1.param2=from rule
relay.rule1.action1.param3=parameter2

You can either do the forwarding using your procedure, or just use the "forward" or "bcc" action. As for creating rules for users, you will need to write Java code that uses the shipped SDK oracle.mail.sdk.rule.* classes in esmail_sdk.jar. You can refer to the developer's guide for details. To prevent people from disabling it, you can set the "visible" attribute for each rule to be "no", but a system-wide rule, such as the preceding, is preferred.

Copying Outgoing Messages to a Specific Account

This system-wide rule copies outgoing messages to a specific account.

<account qualifiedName="UM_SYSTEM" ownerType="system">
  <rulelist event="relay">
    <rule description="Detail Records" group="all" active="yes" visible="yes">
     <action>
      <command tag="bcc"/>
       <parameter>outgoing@foo.com</parameter>
      </action>
    </rule>
  </rulelist>
</account>

Discarding All Messages from One Sender

This rule discards all messages from one specific sender.

<account qualifiedName="sysadmin@foo.com" ownerType="user" id="0">
  <rulelist event="deliver">
    <rule description="Delete from u1@mhornspe1" group="all" active="yes" visible="yes">
       <condition negation="no" junction="and">
         <condition negation="no" junction="and">
            <attribute tag="rfc822from"/>
              <operator caseSensitive="no" op="contains"/>
              <operand>u1@jdoe.foo.com</operand>
          </condition>
       </condition>
       <action>
          <command tag="discard"/>
       </action>
    </rule>
  </rulelist>
</account>

Copying Messages Into a Folder

This is a simple example illustrating a complete XML definition that moves messages sent to a specific e-mail address to a sub-folder of the user's mailbox. The triggering event is deliver, so it will take effect whether the user is logged in or not.

<account qualifiedName="username@example.com" ownerType="user" id="0">

   <rulelist event="deliver">

      <rule description="dummy" group="all" active="yes" visible="yes">
         <condition negation="no" junction="and">
           <attribute tag="rfc822to"/>
           <operator caseSensitive="no" op="contains"/>
           <operand>an-email@address.com</operand>
         </condition>

         <action>
            <command tag="moveto"/>
            <parameter>/username/file-this</parameter>
         </action>

      </rule>

   </rulelist>

</account>

Note:

The /user/file-this folder must exist for the rule action to be successful. Typically, such rules are created through an end-user interface like webmail or Outlook so the syntax of this is not important for the user.

Rejecting Messages with Too Many Recipients

This more complex rule checks the number of recipients on a message, and rejects the message if that number is too high. This is a system-wide rule, and one that applies to relay events to stop users from trying to send messages to large groups of people. The condition is an external procedure to illustrate how to call external PL/SQL from within a server-side rule.

<account qualifiedName="um_system" ownerType="system" id="0">
   <rulelist event="relay">
      <rule description="TooMany" group="all" active="yes" visible="yes">
         <condition negation="no" junction="and">
           <procCall>RulesPackage.count_recipients</procCall>
         </condition>
         <action>
            <command tag="reject"/>
            <parameter>Maximum recipients per message exceeded</parameter>
         </action>
      </rule>
   </rulelist>
</account>

In this example, the condition is an external call to a user-defined PL/SQL function called RulesPackage.count_recipients. Following is the PL/SQL function that defines this package. For external conditions, two internal parameters are passed to the function—a session ID and a mail message object—that allow examination of the message data.

In this example, some rudimentary checking is performed of the To: and Cc: strings, and the maximum recipient count is hard-coded into the function. More information about the PL/SQL APIs for email are provided in the product documentation set.

CREATE OR REPLACE PACKAGE RulesPackage AS

  FUNCTION count_recipients( p_data varchar2 ) return number;

-- conditions return 0 = Positive rule match
  FUNCTION countRecipients(p_sessionid in integer,
                           p_msgobj in mail_message_obj)
           return integer;

  END RulesPackage;


CREATE OR REPLACE PACKAGE BODY RulesPackage AS

   FUNCTION count_recipients ( p_data   VARCHAR2)
   RETURN number IS
      v_count   NUMBER          := 1;
   BEGIN
     FOR i IN 1 .. LENGTH (p_data) LOOP
       IF substr (p_data, i, 1) = ',' THEN
          v_count := v_count + 1;
       END IF;
     END LOOP;

     RETURN v_count;
   END count_recipients;   


   FUNCTION countRecipients(p_sessionid in integer,
                            p_msgobj in mail_message_obj)
   return integer
   is
     max_recipients    integer:=50;
     to_str            varchar2(1024);
     cc_str            varchar2(1024);
     to_count          integer:=0;
     cc_count          integer:=0;
   begin

-- Condition == 0 => condition is TRUE
-- Condition !== 0 => condition is FALSE

   mail_message.get_header(p_sessionid, p_msgobj, 'TO', to_str);
   mail_message.get_header(p_sessionid, p_msgobj, 'CC', cc_str);

   if to_str is not null
   then
     to_count:=count_recipients(to_str);
   end if;

   if cc_str is not null
   then
     cc_count:=count_recipients(cc_str);
   end if;

   if to_count + cc_count > max_recipients then
     return 0; -- There are too many recipients
   else
     return 1; -- Recipient count is OK, just return anything other than 0
   end if;

   end countRecipients;

END RulesPackage;

oesmon

This utility enables an Oracle Mail administrator to obtain raw metric data from the Oracle Mail server processes for system monitoring purposes. The output of the oesmon command is in ASCII characters.

See Also:

"Using oesmon" for oesmon usage information

oeschart

This utility enables an Oracle Mail administrator to create graphs illustrating the system's current load and performance. The images are only created when the command is run. Therefore, to have dynamically updated charts, administrators must schedule periodic invocations of the program, such as with cron on UNIX systems or as a DBMS job.

See Also:

"Using oeschart" for oeschart usage information

oesbkp

This utility restores backed-up items at different levels of granularity. For example, you can restore either an entire user account or a single folder, which is particularly useful for backing up and restoring critical information.

See Also:

"Backing Up and Restoring User Data with oesbkp" for oesbkp usage information

oeschk

This utility identifies, reports, and corrects the schema entries and entry level inconsistencies that occur due to absent transaction support in Oracle Collaboration Suite.

There are transactions identified that concern multiple entities and have the potential for leaving incomplete data due to absent transaction support. To build transaction support for all these entities can severely impact performance. The oeschk utility performs negative checks as the operation progresses and ensures there are no invalid entities or inconsistent data. It also reports the invalid entries found during the checks, as well corrects those entities, if possible.

Oracle Collaboration Suite components use Oracle Internet Directory to store information store-, process-, and directory-related schema, but different components use different SDKs and they do not have transactional support for operations that involve multiple round trips to Oracle Internet Directory.

Therefore, inconsistent data can be present in Oracle Internet Directory, as well as the database, making it difficult for administrators diagnose problems. This utility lists the inconsistent entries across the Oracle Collaboration Suite-related entries both in Oracle Internet Directory and the Oracle Collaboration Suite Database.

Usage

Use this utility from the Oracle Collaboration Suite Applications Tier, only, as follows:

% oeschk entrytype=value domain=value filter=value fix=value

Table D-6 lists oeschk attributes and descriptions for each.

Table D-6 oeschk Attributes

Attribute Name Description Options Default Value
entrytype

Indicates the entries to be checked


all
user
list
alias
foreign
folder
process
newsgroup
newspeer
rule
addressbook
policy
all
domain

Domain under which the entries to be checked reside

Any string

N/A

filter

User-defined filters to check for

Note: Because C shell is sensitive to wild characters, surround the filter attribute and its value with double quotes ("").

Any string

"*"
fix

Determines whether entries are corrected or not

true or false

false

Note:

All attributes are to be specified as name=value pairs. All attributes should appear only once on the command line but can appear in any order. Only the entrytype and domain attributes are mandatory.

Examples

The following command displays all the user entry inconsistencies in the Oracle Collaboration Suite installation to the console:

oeschk entrytype=users domain=acme.com

The following command displays all Oracle Mail schema entry inconsistencies in the Oracle Collaboration Suite installation to the console:

oeschk entrytype=all domain=acme.com

The following command displays inconsistencies of an Oracle Mail user in the Oracle Collaboration Suite installation to the console:

oeschk entrytype=user domain=acme.com "filter=orcladmin@ocs.oracle.com"

The following command displays inconsistencies of all lists with names beginning with list in the OES installation to the console, and corrects any invalid list entries.

oeschk entrytype=list domain=acme.com "filter=list*@ocs.oracle.com" fix=true

The oeschk utility checks on the following schema entries for inconsistencies caused by absent transactional support in Oracle Internet Directory:

Each of the subsequent sections contains information about various checks the oeschk utility carries out with each of the schema entries, including Oracle Internet Directory checks, Oracle Collaboration Suite Database checks, and details of corrections that the utility can perform.

The utility prints warnings, errors, and messages to the console and does not log any files (although an administrator can redirect output to a file).

Users

The following high-level operations can lead to user inconsistencies:


Oracle Mail user creation
Oracle Mail user deletion
Oracle Mail user modifications
Oracle Mail user renaming
Base user deletion
Granting domain administrator rights to a user

Figure D-1 shows which entries are checked as part of a user inconsistency.

Figure D-1 User Entry Checks

Description of Figure D-1 follows
Description of "Figure D-1 User Entry Checks"

Oracle Internet Directory Checks

  • Ensure that the orclMailCreationStatus attribute for each user entry is empty. This will be reported as a warning.

  • targetdn attribute checks include:

    • Check that for every Oracle Mail user, the base user entry exists and also that the mail attribute of the base user is filled with an Oracle Collaboration Suite e-mail address

    • Ensure that the e-mail address of the Oracle Mail user is present in the user's base user entry mail attribute values

  • When orclMailDomainControlAci for a user is set to domain, checks include:

    • Ensure that the cn=DomainAdminsGroup entry is referenced in cn=MailStoreAdminsGroup uniquemember attribute

    • Ensure that a domain administrator's DN is included in the uniquemember attribute of the cn=DomainAdminsGroup entry the administrator's domain

    • Ensure that a domain administrator's DN is included in the uniquemember attribute of the cn=EmailAdminsGroup entry

  • orclMailUserdldn attribute checks include ensuring that the entries present in the orclmailuserdldn are all valid

  • orclMailStore attribute checks include checking the validity of the entry for the Oracle Collaboration Suite Database

  • DomainAdminsGroup entry checks include ensuring that all entries in the uniquemember attribute are valid and that orclMailDomainControlAci is set to domain

Oracle Collaboration Suite Database Checks

Check whether the user has a default Inbox folder in the database or not

Correction Details

  • Enter the Oracle Mail user's e-mail address in the mail attribute if it is not present in the target DN's mail attribute

  • Remove any inactive lists present in the orclmailuserdldn attribute of an Oracle Mail user entry

Distribution Lists

High-level operations that can lead to distribution list inconsistencies include:


Archived distribution list without archive
Subscription information
Suspension information
Deleting a distribution list

Figure D-2 shows which entries are checked as part of a distribution list inconsistency.

Figure D-2 Distribution List Entry Checks

Description of Figure D-2 follows
Description of "Figure D-2 Distribution List Entry Checks"

Oracle Internet Directory Checks

  • Ensure that orclMailCreationStatus attribute for each distribution list entry is empty

  • orclNewsGroupDn attribute checks include ensuring that for each archived distribution list there is a corresponding newsgroup:

  • uniqueMember attribute checks include ensuring that the nested distribution lists associated with a distribution list are all present

  • Suspension information checks include:

    • Ensure that the suspension information stored with the distribution list entries are all present

    • Because the subscription and suspension information is stored separately, ensure that no suspended entry should be subscribed

  • orclMailFolderDn checks include ensuring that the folder exists in the system

  • orclMailParentDlDn checks include ensuring that the values in the orclMailParentDlDn are valid entries

  • orclMailStore checks include ensuring that the Oracle Collaboration Suite Database DN associated with each distribution list is valid

  • orclMailUserState checks include checking the validity of the orclMailUserState attribute

  • orclMailOwner and owner attribute checks include:

    • If the orclMailOwner is set for a distribution list, ensure that the associated e-mail address is valid

    • If the owner is set for a distribution list, ensure that the associated DN is valid and confirm that this is the target DN of the mailuser entry

  • Additional checks are done for the values of List Server distribution list attributes, including:


    Check for the validity of the orclMailGroupAdminMailid
    Check the validity of the orclMailGroupBounceMailId
    Check the validity of the orclMailGroupPostType
    Ensure the orclMailGroupIsSecure attribute value is either true or false
    Ensure the orclMailGroupArchiveOnly attribute value is either true or false
    Ensure the orclMailGroupAutoRespond attribute value is either true or false
    Ensure the orclMailGroupIsExternal attribute value is either true or false
    Ensure the orclMailGroupAutoReconfirm attribute value is either true or false

Correction Details

  • Remove the non-existent distribution list DNs of a distribution list

  • Remove the incorrect suspension information DNs of a distribution list

Aliases

Figure D-3 shows which entries are checked as part of an alias inconsistency.

Figure D-3 Alias Entry Checks

Description of Figure D-3 follows
Description of "Figure D-3 Alias Entry Checks"

Oracle Internet Directory Checks

  • orclmailemail attribute checks include:

    • Check the validity of the orclmailemail values for each alias

    • If the alias e-mail address is with a local domain, ensure that it exists in the user entries, else check in foreign entries

  • orclmailuserdldn attribute checks include ensuring that the distribution lists pointed to by this attribute are present in the system

Correction Details

Delete the alias entry if it is pointing to an invalid entry for its mail attribute.

Foreign Users

Figure D-4 shows which entries are checked as part of a foreign user inconsistency.

Figure D-4 Foreign User Entry Checks

Description of Figure D-4 follows
Description of "Figure D-4 Foreign User Entry Checks"

Oracle Internet Directory Checks

  • Ensure that every foreign user entry has at least one valid distribution list DN in the orclMailUserDlDn attribute

  • Check for any foreign user entry with an empty orclMailUserDLDN attribute; it should be flagged for deletion

Correction Details

Delete the foreign user entries that are not part of any distribution list entries.

Processes

Figure D-5 shows which entries are checked as part of a process inconsistency.

Figure D-5 Process Entry Checks

Description of Figure D-5 follows
Description of "Figure D-5 Process Entry Checks"

Oracle Internet Directory Checks

  • Ensure that every process has a valid Oracle Collaboration Suite Database DN

  • Ensure that the value of localdomain configured in the process entry is an existing domain

  • Ensure that for every process instance the connection pool parameters are valid, meaning the value for minimum number connections is greater than zero and that the maximum number is greater than the minimum

Newsgroups

High-level operations leading to newsgroups inconsistencies include creating newsgroups.

Figure D-6 shows which entries are checked as part of a newsgroup inconsistency.

Figure D-6 Newsgroup Entry Checks

Description of Figure D-6 follows
Description of "Figure D-6 Newsgroup Entry Checks"

Oracle Internet Directory Checks

  • Ensure that every newsgroup entry in Oracle Internet Directory has the orclMailNewsFolderCreateTime attribute set

  • Ensure that the orclMailStoreDn entry associated with each newsgroup exists

  • Ensure that the orclMailMailNNTPOutboundPeers attribute has valid peer entries

Oracle Collaboration Suite Database Checks

  • Ensure that for every newsgroup entry in Oracle Internet Directory, the corresponding record in es_folder table is created

  • Ensure that there are no orphan records in es_folder with user ID 119 (for newsgroups) and no matching Oracle Internet Directory entry

Correction Details

Remove all non-existent peer entries that are part of outbound feed peers of a newsgroup

News Peers

High-level operations leading to news peer inconsistencies include association with newsgroups, both on the inbound feed (accepted and rejected newsgroups) and on the outbound feed.

Figure D-7 shows which entries are checked as part of a newsgroup inconsistency.

Figure D-7 News Peer Entry Checks

Description of Figure D-7 follows
Description of "Figure D-7 News Peer Entry Checks"

Oracle Internet Directory Checks

Ensure that the newsgroup DN is stored in accepted and rejected newsgroup fields of every existing peer

Correction Details

Remove any non-existent outbound feeds and reject newsgroups present for a peer.

Shared Folders

High-level operations leading to shared folder inconsistencies include:


Shared folder creation
Shared folder subscriptions
Shared folder foreign key references for es_subs_folder
Shared folder renaming on sub folders
Shared folder ACI changes

Figure D-8 shows which entries are checked as part of a shared folder inconsistency.

Figure D-8 Shared Folder Entry Checks

Description of Figure D-8 follows
Description of "Figure D-8 Shared Folder Entry Checks"

Oracle Internet Directory Checks

  • Ensure there are no orphan shared folder entries in Oracle Internet Directory

  • orclMailCreationStatus attribute checks include reporting a warning if this attribute is not empty

  • orclMailStore attribute checks include ensuring that every shared folder entry has a mailstore attribute

  • orclMailAci attribute checks include:

    • Ensure that the entries to which ACI has been granted exist and are in the same domain as the folder

    • For user and list grantees, ensure that the orclMailFolderDN attribute contains the DN of the shared folder

  • orclMailOwner checks include:

    • Ensure that the owner of every shared folder has an existing orclMailUser entry in the same domain as the folder

    • Ensure that the default_folder entries under each domain have the same mailstore DN as the shared folders

Oracle Collaboration Suite Database Checks

  • Ensure that every shared folder entry in Oracle Internet Directory has an entry in the es_folder entry of the Oracle Collaboration Suite Database specified

  • Ensure that for every shared folder entry es_folder.flags is marked as 4 (shared)

  • Ensure that every es_folder record with flags set to 4 (shared) has an LDAP entry as shared folder under the proper owner

Correction Details

There are no correction details for this release.

Server-Side Rules

High-level operations leading to server-side rule inconsistencies include:


Create Rule API
Modify Rule API
Delete Rule API

Oracle Internet Directory Checks

Ensure that for every rule in LDAP, a PL/SQL procedure exists in the appropriate Oracle Collaboration Suite Database(s) and is valid.

Oracle Collaboration Suite Database Checks

There are no Oracle Collaboration Suite Database checks for this release.

Correction Details

There are no correction details for this release.

Policies and Filters

The following Oracle Internet Directory checks are done for all filters that are available in the system:

  • Filters must be applied to a direction instead of to a few services of a direction

  • Ensure that process parameters and filters applied are in sync, meaning the value of the orclmailsmtpexternalfilter attribute should be true if a filter is applied

  • Check the validity of the orclmailprocfilterprocguid attribute for each filter

  • Check if any filter is applied to a service at instance level (this will issue a warning)

  • Ensure that every filter applied to a direction has proper attributes

  • Ensure file name correctness

  • Ensure orclmailprocfilterordernumber correctness

  • Ensure that the orclmailmessagemodification attribute has either true or false value

  • Ensure that the orclmailisenabled attribute is true if it is applied to a direction

  • Ensure orclmailprocfilterlibrary correctness

Private Address Books

High-level operations leading to private address book inconsistencies include:


Create private address book lists with existing lists
Modify private address book lists with existing lists

Figure D-9 shows which entries are checked as part of a private address book inconsistency.

Figure D-9 Private Address Book Entry Checks

Description of Figure D-9 follows
Description of "Figure D-9 Private Address Book Entry Checks"

Oracle Internet Directory Checks

  • Ensure that every private address book list reference in uniquemember attribute is pointing to an existing list

  • Check that the owner of the address book exists; if not, delete any address book entries for non-existent users

Correction Details

  • Remove inactive contacts in a list

  • Remove inactive lists in a list

  • Remove the address book entries if the owner does not exist

oesutil

This utility enables administrators to check whether a user has exceeded a certain percentage of their mail quota, in addition to deleting domains. If a user has exceeded a given percentage of their mail quota, their e-mail address is printed.

Note:

In addition to the quota checking functionality of the oesutil utility, there is also a script, esd_check_quota_usage.pl, that provides the same functionality. The oesutil utility uses other constraints, however.

Usage

When deleting domains, use the following syntax:

% oesutil -v -delete_domain type=value domain=valid_domain installation=valid_installation_name

Following are brief explanations for each parameters:

When checking mail quota, use the following syntax:

% oesutil -v -check_user_quota domain=valid_domain quota=number user=valid_username

Following are brief explanations for each parameters:

Examples

The following examples illustrate deleting domains:

% oesutil -delete_domain type=user domain=edu
% oesutil -v -delete_domain type=list domain=com
% oesutil -delete_domain type=all domain=edu installation=um_system
% oesutil -delete_domain type=news domain=idc.oracle.com installation=um_system

The following examples illustrate checking user quota:

% oesutil -check_user_quota domain=us.oracle.com quota=50 user=hnatraja1@foo.com
% oesutil -check_user_quota domain=us.oracle.com quota=50 user=hnatraja1
% oesutil -check_user_quota domain=us.oracle.com quota=50 user="hnat*

esd_logscan.pl

The esd_logscan.pl script, located in the $ORACLE_HOME/oes/admin directory, is provided to generate reports from the raw information in Oracle Mail server log files.

This script takes a search pattern as the first argument, followed by any number of Oracle Mail server log files. Each file is searched for the pattern, and wherever the pattern is found, the information from the log files is collated, sorted, and formatted for readability.

Any string can be used as a pattern. The pattern can be an e-mail message ID, a username, an error code (such as ESSM-203), or a portion of the log message such as message delivered. Enclose multi-word patterns in quotes. The period (.) character is a wildcard that matches any single character. For example, the pattern a.c will return abc, acc, a9c, and so on. Pattern match is not case-sensitive, so searching for John.Doe is the same as searching for john.doe or JOHN.DOE.

The script uses the execID information to find and collate the information in the log files. The execID is found on each line of a log file and is labeled with the field identifier execid. The execID is the same for all lines of the log file that are related to the same event, such as processing a given message.

The script generates reports that are grouped by the execID. Each section of the output is labeled with the corresponding execID. Within each section, the log information is sorted by time, making it easier to view messages generated a single thread of events. In the raw log files, the log messages generated by multiple threads are interleaved since many threads of activity run in parallel and are all logging simultaneously.

Usage

% perl $ORACLE_HOME/oes/admin/esd_logscan.pl pattern path_to_log_files

Note:

Oracle recommends using the version of Perl shipped with Oracle Collaboration Suite. To use this version on Unix systems, set your PATH environment variable to have $ORACLE_HOME/perl/bin at the front, and set the Unix environment variable PERL5LIB to $ORACLE_HOME/perl/lib.

Examples

Example D-2 shows the results of searching the log files for log messages with log message ID ESSM-213, which is a notification message logged when delivery fails. The SMTP Outbound server is configured to log at the trace level, which logs more detail and will generate log information that may only be meaningful to Oracle support and development engineers. This example shows that delivery failures were caused by the fact that the user's Inbox was locked, a common occurrence that typically corrects itself with no action on the part of the administrator. As shown in the example, delivery was retried a number of times, and finally succeeded at 12:28:50.455 MDT.

Example D-2 esd_logscan.pl Example

% perl ORACLE_HOME/oes/admin/esd_logscan.pl essm-213 $ORACLE_HOME/oes/log/um_system/smtp_in/*/*log*
--------------------------------------------
Event Key 138.1.186.40:26650.SMTP_OUTBOUND_SUBMIT_QUEUE_MESSAGE_ID_107614342:1119551197
--------------------------------------------

 Date                          Seq#   Component-#   Type          Message
 ---------------------------   ------ ------------  ------------  ------------------------------
 06/23/2005 12:26:37.283 MDT       1                trace         26650/26650.log.000:thread started
 06/23/2005 12:26:37.843 MDT       2                trace         26650/26650.log.000:msg_id=107614342
 06/23/2005 12:26:37.886 MDT       3                trace         26650/26650.log.000:return value= 0
 06/23/2005 12:26:37.891 MDT       4                trace         26650/26650.log.000:In essmo_insert_queue: msg_id =107614342 queue=3
 06/23/2005 12:26:38.063 MDT       5                trace         26650/26650.log.000:return value=0
 06/23/2005 12:26:38.063 MDT       6                trace         26650/26650.log.000:msg_id=107614342
 06/23/2005 12:26:38.071 MDT       7                trace         26650/26650.log.000:return value= 0
 06/23/2005 12:26:38.071 MDT       8                trace         26650/26650.log.000:msg_id =107614342 queue=1
 06/23/2005 12:26:38.076 MDT       9                trace         26650/26650.log.000:return value= 0
 06/23/2005 12:26:38.122 MDT      10  ESSM-258      notification  26650/26650.log.000:no system rules applied for the message: msg_id=107614342
 06/23/2005 12:26:38.150 MDT      11  ESSM-125      trace         26650/26650.log.000:OCI_ERROR: ORA-20220: Folder locked ORA-06512: at "ES_MAIL.ES_MESSAGE_API", line 2952 ORA-06512: at "ES_MAIL.ES_MESSAGE_API", line 2685 ORA-06512: at line 1
 06/23/2005 12:26:38.150 MDT      12  ESSM-205      internal_err  26650/26650.log.000:failed to deliver to user inbox: john.doe@foo.com
 06/23/2005 12:26:38.150 MDT      13  ESSM-213      notification  26650/26650.log.000:local delivery failed for user: john.doe@foo.com
 06/23/2005 12:26:38.156 MDT      14                trace         26650/26650.log.000:msg_id=107614342
 06/23/2005 12:26:39.331 MDT      15  ESSM-125      trace         26650/26650.log.000:OCI_ERROR: ORA-20220: Folder locked ORA-06512: at "ES_MAIL.ES_MESSAGE_API", line 2952 ORA-06512: at "ES_MAIL.ES_MESSAGE_API", line 2685 ORA-06512: at line 1
 06/23/2005 12:26:39.331 MDT      16  ESSM-205      internal_err  26650/26650.log.000:failed to deliver to user inbox: john.doe@foo.com
 06/23/2005 12:26:39.331 MDT      17  ESSM-213      notification  26650/26650.log.000:local delivery failed for user: john.doe@foo.com
 06/23/2005 12:26:39.331 MDT      18                trace         26650/26650.log.000:msg_id=107614342
 06/23/2005 12:26:40.477 MDT      19  ESSM-125      trace         26650/26650.log:OCI_ERROR: ORA-20220: Folder locked ORA-06512: at "ES_MAIL.ES_MESSAGE_API", line 2952 ORA-06512: at "ES_MAIL.ES_MESSAGE_API", line 2685 ORA-06512: at line 1
 06/23/2005 12:26:40.477 MDT      20  ESSM-205      internal_err  26650/26650.log:failed to deliver to user inbox: john.doe@foo.com
 06/23/2005 12:26:40.477 MDT      21  ESSM-213      notification  26650/26650.log:local delivery failed for user: john.doe@foo.com
 06/23/2005 12:26:40.477 MDT      22                trace         26650/26650.log:msg_id=107614342
 06/23/2005 12:26:40.479 MDT      23                trace         26650/26650.log:msg_id=107614342, queue=3, msg_state=1
 06/23/2005 12:26:40.511 MDT      24                trace         26650/26650.log:return value= 0

--------------------------------------------
Event Key 138.1.186.40:26648.SMTP_OUTBOUND_LOCAL_QUEUE_MESSAGE_ID_107614342:1119551327
--------------------------------------------

 Date                          Seq#   Component-#   Type          Message
 ---------------------------  ------  ------------  ------------  ------------------------------
 06/23/2005 12:28:47.817 MDT       1                trace         26648/26648.log:thread started
 06/23/2005 12:28:49.136 MDT       2                trace         26648/26648.log:msg_id=107614342
 06/23/2005 12:28:49.202 MDT       3                trace         26648/26648.log:return value= 0
 06/23/2005 12:28:49.217 MDT       4  ESSM-258      notification  26648/26648.log:no system rules applied for the message: msg_id=107614342
 06/23/2005 12:28:49.365 MDT       5  ESSM-125      trace         26648/26648.log:OCI_ERROR: ORA-20220: Folder locked ORA-06512: at "ES_MAIL.ES_MESSAGE_API", line 2952 ORA-06512: at "ES_MAIL.ES_MESSAGE_API", line 2685 ORA-06512: at line 1
 06/23/2005 12:28:49.365 MDT       6  ESSM-205      internal_err  26648/26648.log:failed to deliver to user inbox: john.doe@foo.com
 06/23/2005 12:28:49.365 MDT       7  ESSM-213      notification  26648/26648.log:local delivery failed for user: john.doe@foo.com
 06/23/2005 12:28:49.376 MDT       8                trace         26648/26648.log:msg_id=107614342
 06/23/2005 12:28:50.455 MDT       9  ESSM-207      notification  26648/26648.log:message delivered to user: john.doe@foo.com
 06/23/2005 12:28:50.455 MDT      10                trace         26648/26648.log:msg_id=107614342
 06/23/2005 12:28:50.472 MDT      11                trace         26648/26648.log:return value= 0
 06/23/2005 12:28:50.504 MDT      12                trace         26648/26648.log:msg_id =107614342 queue=3
 06/23/2005 12:28:50.752 MDT      13                trace         26648/26648.log:return value= 0

esd_check_quota_usage.pl

This script, located in the $ORACLE_HOME/oes/admin directory, is for listing users who have reached a given percentage of their quotas, such as 90%. The result of running this script is an output file listing the users who have reached the specified percentage. The output file is can be given to another script that sends an e-mail message to each user in the file warning them about their usage.

Notes:

  • To run esd_check_quota_usage.pl in a UNIX environment, the LD_LIBRARY_PATH must include $ORACLE_HOME/lib32 and $ORACLE_HOME/rdbms/lib32.

  • Users who are over quota will not receive any notification.

Usage

% perl esd_check_quota_usage.pl [-bindDN bindDN] -password password [-domain domain_name] [-quota cutoff_quota] [-filename filename] [-debug] [-help]

The script can also take any number of the following options, defined as follows:

esd_queue_examine.sql

This script, located in the $ORACLE_HOME/oes/admin directory, examines the submit queue for recurring senders, subjects, or recipients. The generated report lists the top 5 most frequently found subjects, senders, and recipients of messages in the submit queue.

Usage

SQL> @?/oes/admin/esd_queue_examine.sql

esd_find_message.sql

This script, located in the $ORACLE_HOME/oes/admin directory, finds lost messages in the Oracle Collaboration Suite Database.

The messages searched are limited based on a time period when they were inserted into the database, or a user ID, or both.

Usage

SQL> @?/oes/admin/esd_find_message.sql

The script prompts for the following:

The input strings for sender, recipient, and subject are used to do case insensitive substring matches. For example, entering a sender substring of rob returns all messages where the sender string contains any occurrence of rob, returning any messages by Robert, Robin, and ROBOT, for example.

Caution:

Because the query criteria use columns that are not indexed, this script can be very expensive to run if a large number of messages is searched. Oracle recommends first running the script using the default time period, which searches messages inserted into the database within the past hour.

A query that returns too much data could cause performance problems, especially if the script is run at times of peak database load.

The script outputs to the console the message ID for each matching message found and also lists header information for each matching message, as shown in Example D-3.

Example D-3 esd_find_message.sql Output Example

MSG_ID SENT       To                    SENDER                   SUBJECT
------ ---------- --------------------- ------------------------ ---------------------------
  1000 03-MAY-05  tuser1@us.foo.com     jdoe@us.foo.com          Test Message - temime1.inp
  1001 04-MAY-05  tuser1@us.foo.com     jdoe@us.foo.com          Test Message - temime10.inp

esd_show_message.sql

This script, located in the $ORACLE_HOME/oes/admin directory, displays message metadata including header, extended header, recipient, envelope, and shell information for the message and lists all folders containing the message.

Note:

To view the message, use the esd_copy_messages.sql script to copy messages to a destination folder.

See Also:

"esd_copy_messages.sql" for more information about this script

Usage

SQL> @?/oes/admin/esd_show_message.sql

The script prompts for a message ID.

Example

Example D-4 shows sample output for message ID 1283.

Example D-4 esd_show_message.sql Output Example

METADATA  FOR  MESSAGE  ID       1283                        
                          =================================================                  


MESSAGE HEADER DETAILS                                                                       
======================                                                                       
HEADER     VALUE                                                                             
---------- --------------------------------------------------------------------------------  
Date:      May 21 2005 12:30:21                                                              
From:      tuser1 <tuser1@foo.com>                                                           
To:        tuser2@foo.com                                                                    
CC:        tuser3@foo.com,  tuser4@foo.com                                              
Reply To:                                                                                    
Subject:   This is a test message                                                            
Int Date:  May 21 2005 12:30:23                                                              
Msg Size:  1274                                                                              
Msg ID:    <428E811D.7070705@foo.com>                                                       
Sender:                                                                                      
Ref:                                                                                         


MESSAGE EXTENSION HEADER DETAILS                                                             
=================================                                                            
EXT_HEADER           VALUE                                                                   
-------------------- ----------------------------------------------------------------------  
Return-Path          <tuser1@foo.com>                                                       
Received             from desktop.foo.com by mailserver.acme.com with E         
                     SMTP id 12831116635422; Fri, 20 May 2005 17:30:22 -0700                 

User-Agent           Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5.1) Gecko/20031223       
X-Accept-Language    en-us, en                                                               
MIME-Version         1.0                                                                     
Content-Type         multipart/alternative; boundary="------------030001010406070703000606"  
Content-Type         text/plain; charset=us-ascii; format=flowed                             
Content-Type         text/html; charset=us-ascii                                             


MESSAGE ENVELOPE DETAILS                                                                     
========================                                                                     
HEADER          VALUE                                                                        
--------------- ---------------------------------------------------------------------------  
Received Date:  May 21 2005 12:30:23                                                         
Peer Host:      desktop.foo.com                                                        
Mail From:      <tuser1@foo.com>                                                            


MESSAGE FOLDER DETAILS                                                                       
======================                                                                       
FOLDER_ID       FOLDER_NAME                                                                  
--------------- ---------------------------------------------------------------------------  
1067            /tuser2/INBOX                                                                
1068            /tuser3/INBOX                                                                
1069            /tuser4/INBOX                                                                


MESSAGE RECIPIENTS DETAILS                                                                   
=========================                                                                    
RECIPIENTS                          PARAMETER                                                
----------------------------------- -------------------------------------------------------  
tuser2@us.foo.com                                                                         
tuser3@us.foo.com                                                                         
tuser4@us.foo.com                                                                         


MESSAGE SHELL DETAILS                                                                        
=====================                                                                        
ORDER_NO SHELL                                                                               
-------- ----------------------------------------------------------------------------------- 
1        Return-Path: <tuser1@foo.com>                                                      
         Received: from desktop.foo.com by mailserver.foo.com                  
         with ESMTP id 12831116635422; Fri, 20 May 2005 17:30:22 -0700                
         Message-ID: <428E811D.7070705@acme.com>                                             
         Date: Fri, 20 May 2005 17:30:21 -0700                                               
         From: tuser1 <tuser1@foo.com>                                                      
         User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5.1) Gecko/20031223        
         X-Accept-Language: en-us, en                                                        
         MIME-Version: 1.0                                                                   
         To:  tuser2@foo.com                                                                
         CC:  tuser3@foo.com,  tuser4@foo.com                                           
         Subject: This is a test message                                                     
         Content-Type: multipart/alternative;                                                
          boundary="------------030001010406070703000606"                                    

         This is a multi-part message in MIME format.                                        
         --------------030001010406070703000606                                              
         Content-Type: text/plain; charset=us-ascii; format=flowed                           
         Content-Transfer-Encoding: 7bit                                                     

         !X-ORCL-BODY!: O:806 S:28 L:3 V:1                                                   

         --------------030001010406070703000606                                              
         Content-Type: text/html; charset=us-ascii                                           
         Content-Transfer-Encoding: 7bit                                                     

         !X-ORCL-BODY!: O:952 S:279 L:12 V:2                                                 

         --------------030001010406070703000606-- 

esd_copy_messages.sql

This script, located in the $ORACLE_HOME/oes/admin directory, copies the targeted messages to a destination folder, the name of which the script takes as input. Once the message is in the destination folder, the administrator can use any existing client to view the message.

The script also takes all the same arguments as the esd_find_message.sql script and searches for the messages in the same manner. Once the messages are found, the copy script copies all of those messages into the destination folder.

See Also:

"esd_find_message.sql" for a list of arguments

Note:

Copying a message does not mean a new copy is made. Instead, there is a single copy of the message to which many folders can have a pointer or a reference. Running the esd_copy_messages.sql script creates new references to existing messages.

The esd_copy_messages.sql script does not produce any output other than that to the destination folder.

Usage

SQL> @?/oes/admin/esd_copy_messages.sql

esd_mail_queue.sql

This script, located in the $ORACLE_HOME/oes/admin directory, first displays the possible queue choices to display and then prompts for a queue to list. If the administrator replies to the prompt with a specific queue, the script lists the current contents of that queue. If the administrator replies to the prompt by pressing the Enter key without giving a queue identifier, the script defaults to listing the submit queue.

Queue ID numbers used by esd_mail_queue.sql are as follows:


1: submit
2: relay
3: local
4: archive
5: List Server
6: NNTP
9: Housekeeper

In the report produced by esd_mail_queue.sql, first the total number of messages in the queue is given. Each message in the queue is then listed with the following information:

If a message has multiple recipients, it will be listed multiple times. Each recipient of a message is listed on a separate line.

Messages are listed from most recent queue time to oldest queue time. The message at the end of the list has been in the queue for the largest amount of time.

The final section of the report lists all messages in the selected queue that are deferred and have a description explaining why they were deferred. For example, relay messages destined for a remote MTA can get deferred if the remote MTA was not accepting connections at the time relay delivery was last attempted. If there are no deferred messages in the selected queue, or if there are deferred messages but there is no explanation why they are deferred, the final section of the report is not generated.

The preceding description applies to all queues except the Housekeeper queue. Using esd_mail_queue.sql to check the Housekeeper queue lists three types of message records that are cleaned up by the Housekeeper, as shown in the following example:

Summary of Housekeeper Queues

Delivery Complete Queue has 4374 messages for cleanup
Pruning Queue has 415650 messages for cleanup
Collection Queue has 44033 messages for cleanup

esd_list_user_folders.sql

This script, located in the $ORACLE_HOME/oes/admin directory, lists folders for a specified user.

For each folder the script lists the folder ID and the name of the folder. Folders listed are sorted alphabetically by folder name. The output will also list the size of each folder in bytes and at the end it will list the total size in megabytes of all folders.

Usage

Run the script when connected as the ES_DIAG database user. The script takes a user name as input.

SQL> @?/oes/admin/esd_list_user_folders.sql username

esd_list_folder_messages.sql

This script, located in the $ORACLE_HOME/oes/admin directory, lists information for messages in a specified folder. For each message, the script lists the message ID, date, sender, size, and subject. Messages listed are sorted by date from oldest to newest.

Usage

Run the script when connected as the ES_DIAG database user. The script takes a folder name as input.

SQL> @?/oes/admin/esd_list_folder_messages.sql foldername

esd_list_unopened_inbox.sql

This script, located in the $ORACLE_HOME/oes/admin directory, detects user accounts that are not being accessed by checking whether the Inbox has been recently modified. User activity for an account modifies the user's Inbox folder.

Usage

The script takes as input a number of days, N, and lists Inbox folders that have a MODIFY_DATE earlier than SYSDATE-N.

SQL> @?/oes/admin/esd_list_unopened_inbox.sql N

esd_show_sessions.sql

This script, located in the $ORACLE_HOME/oes/admin directory, displays database session information for sessions connected as the ES_MAIL database user. These are sessions that originate from Oracle Mail servers, such as the IMAP server and the Housekeeper, as well as sessions that originate from Oracle Collaboration Suite applications, such as Oracle WebMail.

The session information displayed by the script includes:

SQL*Plus sessions, however, are not displayed, even if an administrator has used SQL*Plus to connect to the database using the ES_MAIL account.

Usage

The script takes no input.

SQL> @?/oes/admin/esd_show_sessions.sql

Example

Example D-5 shows sample output for the esd_show_sessions.sql script, grouped by program and Applications Tier host.

Example D-5 Sample esd_show_sessions.sql Output

MACHINE                        PROGRAM                            SESSIONS
------------------------------ -------------------------------- ----------
SYDNEY-OVF\SYDNEY-OVF-1        java.exe                                 13
SYDNEY-OVF\SYDNEY-OVF-2        java.exe                                 13
beacon-rmdc                    emagent@beacon-rmdc (TNS V1-V3)           2
rgmum103                       imap                                    189
                               smtp_out                                 32
                               listserver                               13
                               smtp_in                                  13
                               housekeeper                               8
                               java@rgmum103 (TNS V1-V3)                 1
web218                            ?  @web218 (TNS V1-V3)                 3
web218.acme.com                JDBC Thin Client                         32

Total Sessions
--------------
           319

esd_show_session_usage.sql

This script accepts optional input that can restrict which Applications Tier hosts and which programs are included in the report. In a large deployment with many Applications Tier hosts, restricting the report to a single host at a time is recommended because the script will take less time to run.

The Applications Tier host name, if entered, is used as an exact match to restrict the output. Run the esd_show_sessions.sql script to see all Applications Tier host names.

See Also:

"esd_show_sessions.sql" for script usage information

The program name, if entered, can include the % character for a SQL pattern match. Names such as listserver and imap can also be entered. If the program name is entered and is not one of the friendly names, the % character will be appended by the script. For example, entering es as the program name will search for all sessions in the database session table that match es% in the PROGRAM column.

This script assists in determining the usage of the connection pool. Using this information administrators can determine whether they can safely decrease the minimum Oracle Collaboration Suite Database connection pool size. This information cannot, by itself, be used to determine if the connection pool size should be decreased, however, as the efficiency and remaining resource capacity need to be taken into consideration.

This script can also be used to determine if there are excessive numbers of idle sessions. An idle session is supposed to be closed after it has been idle for a specified period of time determined by the Oracle Collaboration Suite Database connection pool settings.

This script reports all the database connections by tier and Oracle Mail server, and their usage. The first column lists the Applications Tier host name. The second column lists the server, such as smtp_in (the SMTP Inbound server). The third column lists the total number of database sessions from those servers. The fourth column, SESSIONS95, lists the first X sessions that account for 95% of all work.

The database connection load balancing algorithm for Oracle Mail servers is not round robin but on a first come basis. The server will always try to use connection #1; if #1 is busy, #2, and so on. The number in the SESSIONS95 column reports that 95% of all requests are handled by the first X connections. In the case of imap in Example D-6, the first 43 sessions have accounted for 95% of all work, which means there are many hardly used or unused connections from 44-180.

Usage

The esd_show_session_usage.sql script accepts Applications Tier host names and program names as optional input.

SQL> @?/oes/admin/esd_show_session_usage.sql

When prompted, enter the Applications Tier host name and the program name. If no information is entered at either of these two prompts, press Enter to list all Applications Tier hosts and programs, respectively.

Note:

This script shows only sessions that are doing mail-related processing. Oracle Mail server instances can have additional sessions that are performing administrative tasks. These sessions are not affected by the database connection pool settings and so are not shown in the results.

Example D-6 Sample esd_show_session_usage.sql Output

MACHINE    PROGRAM                            SESSIONS SESSIONS95
---------- ---------------------------------- -------- ----------
rgmum103   imap                                    180         43
           smtp_out                                 30         12
           listserver                               12          2
           smtp_in                                  10          3
           housekeeper                               4          3
           java@rgmum103 (TNS V1-V3)                 1          1

utllockt.sql

This script, located in the $ORACLE_HOME/rdbms/admin directory, prints the sessions in the system that are waiting for locks, and the locks for which they are waiting.

See Also:

Chapter 2, "SQL Processing for Application Developers" in Oracle Database Application Developer's Guide - Fundamentals