Oracle® Mail Administrator's Guide 10g Release 1 (10.1.2) Part Number B25499-04 |
|
|
View PDF |
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:
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.
utilityUsage
% oesdl file
In this command, 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. |
|
newlist |
Specify whether a new distribution list is to be created. |
|
type |
The type of distribution list to be created. Must be specified if |
|
owner |
Enter the e-mail address of the distribution list owner. Must be specified when |
Any valid e-mail address |
usertype |
The type of user being added. |
U : regular userF : foreign userL : distribution listA : alias |
users |
Comma-delimited list of users on which the action ( |
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 |
Any number of the following: s : List-subscribeu : List-unsubscribeh : List-helpo : List-ownerp : List-post |
orclmailgroupautoreconfirmtext |
Establishes the list of subscription approvers. Applicable only if the distribution list subscription type is |
Any valid e-mail address |
orclmailgroupeditorslist |
Establishes the editors for the distribution list. Applicable only if the distribution list group type is |
Any valid e-mail address |
orclmailgroupmoderatorslist |
Establishes the moderators for the distribution list. Applicable only if the distribution list group type is |
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. |
|
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. |
|
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. |
|
orclmailgroupnotifyoption |
Specifies who receives notifications upon successful subscription or unsubscription. none : No one receives notifications.owner : Only the owner receives notifications.member : Only the member receives notifications.both : Both owner and member receive notifications. |
none owner member both |
orclmailuserstate |
Specifies the state of the distribution list. active : Posting is permitted.inactive : The distribution list is not recognized as a recipient; no posting is 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. |
|
orclmailgroupisexternal |
Set to true if the members of the distribution list are resolved by an external procedure. |
|
orclmailgroupexternalprocname |
Must be provided if |
Any valid SQL procedure |
orclmailgroupposttype |
Type of posting control placed on the list, as described in Table 2-3, "Distribution List Posting Types". |
|
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 |
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 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, because 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@foo.com
, 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
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 number sign (#
) 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) |
newsstore |
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 |
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 |
moderatedgroup |
Boolean specifying whether the newsgroup is moderated |
|
False |
moderator |
Names the moderator for the newsgroup. Can be specified more than once for a newsgroup. |
Any valid e-mail address |
None |
postingallowed |
Boolean telling whether posting is allowed to the newsgroup |
|
False |
retentiondays |
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
In this example, 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:
The following example demonstrates how to create a simple public newsgroup.
oesng newsfile
In this example, newsfile
contains the following:
name=newsgroup1 newsstore=db1.acme.com
The following example demonstrates how to create a public moderated newsgroup that permits posting and retains articles for 15 days.
oesng newsfile
In this example, 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
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
In this example, 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
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 number sign (#
) 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 |
---|---|---|---|
hostname |
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 |
acceptgroup |
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. |
NA |
rejectgroup |
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. |
NA |
feedgroup |
List of groups for which this peer should be fed; can be specified more than once for a peer. |
Any valid public newsgroup name. |
NA |
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
In this example, 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:
To create a simple peer:
% oespr peer_file
The peer_file
file contains the following record:
hostname=host1.foo.com
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
The oesucr
bulk provisioning utility is for creating and modifying large numbers of Oracle Mail users. When the Oracle Internet Directory command-line tool ldapadd
is used to create the Oracle base user, the Oracle Mail user is also created in the process.
See Also: "Managing Entries by Using Command-Line Tools" in Chapter 6 of Oracle Internet Directory Administrator's Guide for more information aboutldapadd |
Usage
% oesucr filename option option option ...
In this command, filename
is the path to a text file containing e-mail user records and option
can be any of the options listed in Table D-4.
Usage information is included in each of the following sections, as applicable.
Table D-4 Options Used with the oesucr Command-Line Utility
Option | Description |
---|---|
-v |
Prints debug messages |
-d |
Deletes specified files or users |
-change |
Change e-mail addresses of a specified number of users in a file |
-clean_user_mailstore_data |
Clears data from the Oracle Collaboration Suite Database of users who have been deleted from the system but whose data has not yet been cleared. |
-list_deleted_users |
Lists currently deleted users whose data in the Oracle Collaboration Suite Database has not yet been cleared. |
-encoding |
Oracle recommends using the UTF-8 option to accommodate all languages. |
Table D-5 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-5 oesucr Attributes
Attribute Name | Description | Options | Default Value |
---|---|---|---|
Required |
|||
|
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. |
NA |
NA |
orclmailquota |
Specifies e-mail quota of a user in bytes. |
NA |
NA |
baseuserdn |
The DN where the base user is created. |
NA |
NA |
Optional |
|||
orclmailstore |
Specifies the Oracle Collaboration Suite Database to be used as mail store for the user. |
NA |
NA |
orclmailvoicequota |
Specifies additional quota for voice mail in bytes. |
NA |
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 |
orclforwardaddress |
Stores the e-mail addresses for the automatic forwarding feature |
NA |
NA |
orclmailuserindextype |
Specifies if text indexing should be performed on only the e-mail text or both the e-mail and the attachment. |
|
0 |
orcldomaincontrolaci |
Specifies whether the user is a system administrator, domain administrator, or regular user. |
|
regular |
orclwebmaildisplayallheaders |
Specifies whether Oracle WebMail headers are displayed in a detail view for the user. |
|
yes |
orclwebmailnumdisplay |
Specifies the number of messages shown at a time for a user in Oracle WebMail. |
NA |
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 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
|
NA |
Examples
The following examples show how to use the oesucr
command-line utility.
This section includes the following topics:
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:
orclmailquota=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@foo.com
and user2@foo.com
. 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.
Use Oracle Delegated Administration Services to check that the base user accounts for user1
and user2
exist.
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@foo.com orclmailquota=10000000 baseuserdn=cn=user2,cn=users,dc=foo,dc=com orclMailDomainControlAci=domain folder=personal,work
Note: Each Oracle Mail user to be created is separated by an empty line. |
Execute the oesucr
command:
% oesucr user_file
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.
Notes:
|
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 the addresses of the Oracle Mail users.
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
.
Create a file containing the Oracle Mail users to be deleted. The file is called delete_user
for this example and contains the following line of text:
mail=user1@foo.com,user2@foo.com,user3@foo.com
Execute the oesucr
command:
% oesucr delete_user -d
The -d
option deletes Oracle Mail users.
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.
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 for each 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
To change the e-mail address of a user:
% 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
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 restarts Oracle Mail server processes if they stop unexpectedly, which helps to satisfy high availability requirements.
Configuration tasks using oesctl
include:
Showing the list of Oracle Mail servers, such as IMAP and SMTP inbound servers
Creating new process instances for Oracle Mail servers
Deleting process instances from Oracle Mail servers
Showing the list of process instances for Oracle Mail servers
Enabling Oracle Mail servers
Disabling Oracle Mail servers
Synchronizing Oracle Mail server configuration in the LDAP server to opmn.xml
Showing status for all instances of a particular Oracle Mail server
The opmnctl
utility performs the following control tasks:
Starting all process instances of an Oracle Mail server
Starting a single process instance of an Oracle Mail server
Stopping all process instances of an Oracle Mail server
Stopping a single process instance of an Oracle Mail server
Showing the status for all process instances of an Oracle Mail server
Restarting one or all process instances of an Oracle Mail server
Refreshing one or all process instances of an Oracle Mail server
Dynamically starting and stopping Housekeeper tasks
Usage
% oesctl command target instance
Table D-6 lists oesctl
commands. To get a list of commands from the command line, execute oesctl
with no arguments.
% oesctl
Table D-6 oesctl Commands
Command | Description |
---|---|
startup |
Start all the processes associated with the target or instance |
shutdown |
Shut down all the processes associated with the target or instance |
create instance |
Create an instance of a target |
delete instance |
Delete an instance of a target |
refresh |
Cause the target or instance to reload parameters from LDAP |
show targets |
Display a list of possible targets |
show status |
Display 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 update |
Examples
The following examples show how to use the oesctl
and opmnctl
command-line utilities.
This section includes the following topics:
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
To create a new server instance:
% oesctl create instance target
In this example, target
is one of the servers listed by executing oesctl show targets
.
For example:
% oesctl create instance appserver.foo.com:um_system:smtp_in Successfully 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 parameter settings.
% oesctl delete instance target
In this example, 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. |
To display a list of server instances:
% oesctl show processes target
In this example, 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.
To enable an Oracle Mail server:
% oesctl enable target
In this example, 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
To disable an Oracle Mail server:
% oesctl disable target
In this example, 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.
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 in opmn.xml
does not agree. The sync_opmn_conf
option for oesctl
is provided to recover from such situations.
To start all instances of an Oracle Mail server:
% opmnctl startproc process-type=type
In this example, 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.
To start a single instance of an Oracle Mail server:
% opmnctl startproc process-set=instance_number
In this example, instance_number
is the numeric portion of the server instance name displayed by the oesctl show processes
command.
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 must 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 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 keywordrestartproc , 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. |
To stop all instances of an Oracle Mail server:
% opmnctl stopproc process-type=type
In this example, 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.
To stop a single instance of an Oracle Mail server:
% opmnctl stopproc process-set=instance_number
In this example, instance_number
is the numeric portion of the server instance name displayed by the oesctl show processes
command.
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_housekeeper esgc-action=action esgc-task=task
In this example, action
is one of the following:
start-task
stop-task
In this example, task
is one of the following:
expiration
pruning
collection
index-synch
index-optimize
tertiary-store
The following command stops the pruning task for all Housekeeper servers:
% opmnctl restartproc process-type=email_housekeeper esgc-action=stop-task esgc-task=pruning
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
In this example, instance_number
is the numeric portion of the process instance name displayed by the % oesctl show processes
command.
The following command stops the pruning task for a particular Housekeeper server:
% opmnctl restartproc process-set=111179697423568489 esgc-action=stop-task esgc-task=pruning
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 the 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
The oesrl
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.
Usage
-p
prints a rule.
-c
filename
creates a rule from a properties file.
-r
reads a rule from a directory to see if the rule is correct in the Oracle Collaboration Suite Database.
-x
filename
creates a rule from an XML file.
-v
verifies that a rule is present on a database.
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:
Print a list of rules for a particular user or domain with the following command:
$ oesrl –p user1@domain.com
Remove the <rule></rule>
block from the XML file for each rule you want to delete.
This systemwide 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 e-mails with .exe attachments. Your e-mail is rejected.</parameter> </action> </rule> </rulelist> </account>
This systemwide 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 do not 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.
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
. To prevent people from disabling it, you can set the "visible" attribute for each rule to be "no", but a systemwide rule, such as the preceding, is preferred.
See Also: "XML Representation of Rules" in Chapter 2 of Oracle Mail Application Developer's Guide for more information about creating rules using Java |
This systemwide 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>
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>
This is a simple example illustrating a complete XML definition that moves messages sent to a specific e-mail address to a subfolder 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 Oracle WebMail or Outlook so the syntax of this is not important for the user. |
This more complex rule checks the number of recipients of a message, and rejects the message if that number is too high. This is a systemwide 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 on the To:
and Cc:
strings, and the maximum recipient count is part of the code of the function. More information about the PL/SQL APIs for e-mail 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;
Consider the following tips when managing server-side rules:
Do not use oidadmin
to delete server-side rules. Because rules are stored in multiple places, using only oidadmin
to delete them causes data inconsistencies. A rule may appear to have been deleted but it can be executed nonetheless if oidadmin
is the only method used to delete rules.
To delete all the rules associated with a user or domain, or all the systemwide rules, create a file with an empty rule, as follows:
<account qualifiedName="foo.com" ownerType="domain"/>
Use oesrl -x
to load the file to remove all existing rules.
To delete a particular rule or rules, first use oesrl -p
to retrieve the rules into a file, edit out the rules that you want to delete, and reload the edited XML file. A rule is defined within the following XML element:
<rule>...</rule>
The problem with creating a BCC rule as a domainwide rule is that this operation is not allowed at the reception event. Technically, the reception event does not have information about a domain. Therefore, no domain rules can be executed. Instead, create the rule at the deliver event, or create a systemwide rule instead of a domainwide rule.
The order to execute rules is:
System-defined server-side rules.
User-defined server-side rules.
User-defined client-side rules.
Automatic reply is not a server-side rule. It is a feature of the SMTP server. Automatic reply is performed before any rules (system or user) are applied and after any systemwide or domainwide rules.
In Oracle Internet Directory, rule information is stored under the related mail account for user rules as orclmailrulescope=User_Rule
using the orclmailruledata
attribute. In the Oracle Collaboration Suite Database, a related package for the rule is created containing the orclobjectid
of the mail account.
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.
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.
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.
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 affect 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 and corrects those entities, if possible.
Oracle Collaboration Suite components use Oracle Internet Directory to store information store-related schema, process-related schema, and directory-related schema. However, 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 to 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-7 lists oeschk
attributes and descriptions for each.
Table D-7 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 |
NA |
filter |
User-defined filters to check for Note: Because C shell is sensitive to wildcard characters, surround the filter attribute and its value with double quotation marks ( |
Any string |
"*" |
fix |
Determines whether entries are corrected or not |
|
false |
Note: All attributes are to be specified asname = 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=foo.com
The following command displays all Oracle Mail schema entry inconsistencies in the Oracle Collaboration Suite installation to the console:
oeschk entrytype=all domain=foo.com
The following command displays inconsistencies of an Oracle Mail user in the Oracle Collaboration Suite installation to the console:
oeschk entrytype=user domain=foo.com "filter=orcladmin@ocs.foo.com"
The following command displays inconsistencies of all lists with names beginning with the word list
in the Oracle Collaboration Suite installation to the console, and corrects any invalid list entries.
oeschk entrytype=list domain=foo.com "filter=list*@ocs.foo.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 that 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).
The following high-level operations can lead to user inconsistencies:
Figure D-1 shows which entries are checked as part of a user inconsistency.
Oracle Internet Directory Checks
Perform the following 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 or not the user has a default Inbox folder in the database.
Correction Details
Perform the following corrections, as applicable:
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
High-level operations that can lead to distribution list inconsistencies include:
Figure D-2 shows which entries are checked as part of a distribution list inconsistency.
Figure D-2 Distribution List Entry Checks
Oracle Internet Directory Checks
Perform the following 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 is 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
Perform the following corrections, as applicable:
Remove the nonexistent distribution list DNs of a distribution list
Remove the incorrect suspension information DNs of a distribution list
Figure D-3 shows which entries are checked as part of an alias inconsistency.
Oracle Internet Directory Checks
Perform the following 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.
Figure D-4 shows which entries are checked as part of a foreign user inconsistency.
Oracle Internet Directory Checks
Perform the following 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.
Figure D-5 shows which entries are checked as part of a process inconsistency.
Oracle Internet Directory Checks
Perform the following 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
High-level operations leading to newsgroup inconsistencies include creating newsgroups.
Figure D-6 shows which entries are checked as part of a newsgroup inconsistency.
Oracle Internet Directory Checks
Perform the following 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
Perform the following 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 nonexistent peer entries that are part of outbound feed peers of a newsgroup.
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.
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 nonexistent outbound feeds and reject newsgroups present for a peer.
High-level operations leading to shared folder inconsistencies include:
es_subs_folder
Figure D-8 shows which entries are checked as part of a shared folder inconsistency.
Oracle Internet Directory Checks
Perform the following 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
Perform the following 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.
High-level operations leading to server-side rule inconsistencies include:
Oracle Internet Directory Checks
Ensure that for every rule in LDAP, a PL/SQL procedure exists in the appropriate Oracle Collaboration Suite Databases 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.
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 synchronization, 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
High-level operations leading to private address book inconsistencies include:
Figure D-9 shows which entries are checked as part of a private address book inconsistency.
Figure D-9 Private Address Book Entry Checks
Oracle Internet Directory Checks
Perform the following 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 nonexistent users
Correction Details
Perform the following corrections, as applicable:
Remove inactive contacts in a list
Remove inactive lists in a list
Remove the address book entries if the owner does not exist
This utility enables administrators to delete domains and to identify users who have exceeded a certain percentage of their mail quota. The utility prints the e-mail addresses of uses who have exceeded the given percentage of their quota.
Note: In addition to the quota checking functionality of theoesutil 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:
-v
: Prints debug messages
-delete_domain
: Used when deleting domains
type
: Specify one of the following values, depending upon what is to be deleted from the domain
user
: Deletes all users in a specified domain
alias
: Deletes all aliases in a specified domain
list
: Deletes all lists in a specified domain
news
: Deletes all newsgroups in a specified domain
all
: Deletes everything in a specified domain
domain
: Specify a valid domain.
installation
: A valid installation name to be used only when type=all
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:
-v
: Prints debug messages
-check_user_quota
: Used when checking user quota
domain
: Specify a valid domain.
quota
: Specify a number greater than 1 and less than 100 signifying a percentage of quota used.
user
: Enter either the user ID or full e-mail of a valid user. Wildcard characters can be used.
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
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*
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 user name, an error code (such as ESSM-203), or a portion of the log message such as message delivered
. Enclose multiword patterns in quotation marks. 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 because 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 yourPATH 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
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 given to another script that sends e-mail messages to the users warning them about their usage.
Notes:
|
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:
-bindDN
or -b
value
: The Oracle Internet Directory server bindDN (default is cn=orcladmin
)
password
or -w
: The Oracle Internet Directory server password
domain_name
or -d
: The domain of users to search (default search in all domains)
cutoff_quota
or -q
: A number that represents the percentage of a user's quota (default 75) used as the minimum limit for which the script searches
filename
or -f
: The name of the output file (default is user_quota_check_result.txt
). Each line of the file will contain the following information for users whose quota exceeds the cutoff_quota
:
The user's e-mail address
The user's quota
The user's current usage
The percentage of quota used, to two decimal places
-debug
or -v
: Prints debug messages
-help
or -h
: Prints Help associated with the script
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 five most frequently found subjects, senders, and recipients of messages in the submit queue.
Usage
SQL> @?/oes/admin/esd_queue_examine.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 number of hours to go back in time (from the present time, UTC) to start the search. The default is 1, indicating the search time period begins at the current coordinated universal time (UTC) minus 1 hour. A value of 24 indicates the search time period begins at the current UTC minus 1 day. A value of 0 indicates the search is not limited by time.
The number of hours to go back in time (from the present time, UTC) for the end of the time period. The default is 0, indicating present time, UTC. This value must be less than the hours entered for the search period start time.
A user name associated with the account to search. The default is an empty string.
A user name to restrict the search to messages in folders belonging to the user. This is optional when the hour entered for search period start time is greater than 0 but is required if the message search is not limited by time. A start time of 0, combined with an empty user name string will result in the search being performed on every message in the database.
An optional sender substring.
An optional recipient substring.
An optional subject substring.
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
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 theesd_copy_messages.sql script to copy messages to a destination folder. |
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--
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.
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 theesd_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
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
: submit2
: relay3
: local4
: archive5
: List Server6
: NNTP9
: HousekeeperIn 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:
Message ID: The ID used to uniquely identify the message within the database
Size: The size, in bytes, of the message
Queue Time: The time the message was inserted into the queue
Next Retry: The next time delivery will be tried for a message that could not yet be delivered
Sender: The sender of the message, truncated to the first 20 characters
Recipient: The recipient of the message, truncated to the first 20 characters
Subject: The subject of the message, truncated to the first 40 characters
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
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
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
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
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:
The Applications tier hosts from which sessions originate
The mail servers or applications that have opened the sessions
The total number of sessions opened by Oracle Mail servers and applications on an Applications tier host
The cumulative total number of sessions
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
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.
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, helps administrators to 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 must be considered.
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. |
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 |