dirxadm
Purpose
Manages a directory system agent (DSA). The dirxadm program supports the following objects:
- abbr
-
Displays valid abbreviations for object classes, attributes, and structured attributes
- audit
-
Manages audit logging
- db
-
Manages database configuration
- dse
-
Manages DSE and policy administration that cannot be performed by using dirxcp
- ldap
-
Performs LDAP server administration
- lob
-
Manages LDIF agreements
- nmi
-
Displays network management information from the DSA management information base (MIB)
- progsvr
-
Manages the Progsvr
- sob
-
Manages shadowing agreements
- sys
-
Performs directory system administration
There are some utilities also which are described in the util (dirxadm) page. A complete list of these utilities is displayed when performing a dse commands operation.
Arguments
script_name
-
Filename of a user-defined script containing dirxadm commands.
arg1 … argn
-
Specify arguments to the user-defined script specified in script_name.
Options
-c command
-
Executes the dirxadm or Tcl commands or commands specified by command.
-V
-
Displays the DirX Directory product version, in the format:
product_version build_id date time
For example:
DirX Directory V9.0 9.4.428 2023:03:23 20:10 64-Bit
The dirxadm initialize operation also writes the build version to the dirxadm trace file.
Description
The dirxadm program is a command-line interface that system administrators can use to manage the DSA. You can use it to:
-
Administer the DSEs and DSA policies using operations such as create, modify, delete, list, and show.
-
Administer the operational bindings (LDIF agreements and shadowing agreements) using operations that permit you to create an operational binding, modify an existing binding, display the details of operational bindings, and so on.
-
Configure the database used by the DSA.
-
Display the abbreviations that it uses for attributes.
-
Display network management information contained in the DSA’s management information base.
-
Activating, deactivation and configuring audit logging.
-
Perform system administration tasks, such as starting and stopping the DSA, activating and deactivating logging.
The DSA and the LDAP server save all update operations issued by dirxadm in the file ADM*process_id.number. This file is located in the server’s directory for log files. (See section *Logging Configuration Files for details.)
Note that every operation stops after 25 seconds except the dse list and the dse search operation (see dse (dirxadm) page for details), the lob and sob operations, the db attrconfig operation. The lob and sob operations stop after 5 minutes, the db attrconfig operation after 3 days.
Tcl Command Language
The DirX Directory administration program is built on a portable command language called the tool command language (Tcl). Tcl permits the use of variables, if statements, list-processing functions, loop functions, and many other features commonly found in command languages. The program extends these features to provide a set of commands for manipulating DirX Directory administration objects. The program also includes task scripts to help administrators perform some routine DirX Directory management functions.
Escaping in Distinguished Names and Attribute Values
The following special characters must be escaped in distinguished names and attribute values:
-
a SPACE or # character at the beginning of a string
-
a SPACE character at the end of a string
-
the characters comma (,), plus sign (+), minus sign (-), quotation mark ("), backslash (\), lower than (<), greater than (>), equal (=), semicolon (;), dollar ($), quote ('), colon (:), or brackets ((, ), \{, })
To escape these characters
-
prefix the character by a backslash, for example
O=Sue\, Grabbit and Runn -
enclose the distinguished name or attribute in curly brackets (\{}), for example
\{O=Sue, Grabbit and Runn} -
enclose the distinguished name or attribute in quotation marks (""), for example
"O=Sue, Grabbit and Runn". You must use quotation marks if your string contains a Tcl variable.
See also section Reserved Characters in chapter DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes.
Escaping in Filenames
The backslash character (\) is a reserved character in Tcl. A backslash in a file name must therefore be escaped, for example tmp\\config.out.
Tcl provides a command that converts the specified file name into the plattform dependent file name. The syntax of this command is as follows:
-
[file nativename filename]
Here is an example how to use this command in dirxadm:
dirxadm> import_dbconfig [file nativename tmp/config.out]
The Abbreviation Files
The DirX Directory administration program uses the DirX Directory abbreviation files (dirxabbr and dirxabbr-ext*) to convert attribute abbreviations and object identifier strings to ASN.1 object identifiers. The program also uses these files to determine the attribute syntax, the full name of the attribute, and other information.
System Administrators and dirxcp
Because the dirxadm program can bypass access control information and schema rules, it is intended for use by system administrators who possess a thorough understanding of the directory information database (DIB) and its maintenance. It is not intended for end users. Directory service end users can use the dirxcp command to access the DSA, since this program performs access control.
System administrators using dirxadm should take care that they do not:
-
Create entries that are inconsistent with the schema in force, because clients such as dirxcp will not be able to access these entries
-
Create attributes that do not belong to the entry’s object class
-
Omit mandatory object class attributes
-
Create erroneous references
-
Omit operational attributes managed by the DSA
Invoking dirxadm
You can invoke dirxadm commands in interactive mode and command mode.
Interactive Mode
Activate interactive mode by entering the dirxadm command without any arguments. At the dirxadm prompt, enter a dirxadm or Tcl command; dirxadm runs the command, displays the result, and is ready to accept another command.
% dirxadm dirxadm> dse show /O=my-company/OU=Sales/CN=Tinker dirxadm>
Instead of entering a dirxadm or Tcl command enter the keyword source followed by the filename of a script that contains dirxadm commands, other valid Tcl commands, or both, for example
dirxadm> source myown.tcl
dirxadm then runs the script, displays the result, and is ready to accept another command.
Command Mode
Activate command mode from the system prompt by using one of the following methods:
-
Enter the dirxadm command with the filename of a script that contains dirxadm commands, other valid Tcl commands, or both, as follows:
% dirxadm myown.tcl
-
Enter the dirxadm command with the -c option followed by a list that contains one or more dirxadm commands or Tcl commands, for example:
% dirxadm -c “dse search -onelevel -p;dse show -p”
Enter multiple commands by separating them with a semicolon (;) and enclosing the commands in quotation marks (“”). Remember to escape shell metacharacters (for example, by enclosing them in quotation marks). Multiple commands must be on a single line.
When you use the -c option, operation results return to the interpreter, not to the shell. if you enter multiple operations, the output of only the last operation is returned to the shell. You can solve this problem by using the following workaround:
% dirxadm -c “puts [dse show /C=de -allattr]; puts [dse show -p]”
Terminating dirxadm
Terminate an interactive dirxadm session by using the exit or quit commands. Use the following syntax:
-
exit n
-
quit n
Use the n argument to specify the exit value returned to the shell. The following example terminates a session and returns an exit value of 56 to the shell:
dirxadm> exit 56
Exit Codes
By default, dirxadm returns zero (0) on success and a non-zero value if a command fails. The exit codes for failure are:
1 |
An invalid command line was specified, for example, an invalid option (for example, you specified dirxadm -z) |
2 |
The specified file does not exist (for example, dirxadm zz.tcl) |
3 |
The evaluation of the file failed (for example, because of an incorrect command in the file) |
4 |
The evaluation of the command failed (for example, because of an incorrect command in the dirxadm -c command line) |
5 |
Tcl initialization failed |
8 |
Initialization of the thread environment failed |
Startup Scripts
When you invoke dirxadm, the following script files are run in the order shown:
/init.tcl
-
Contains the standard Tcl initialization scripts with definitions for the unknown command and the auto_load facility. The Tcl command info library returns the location of the file init.tcl.
$dirxadm_library/init.dirxadm
-
Contains the initialization scripts that implement the dirxadm commands and tasks. The implementation sets the Tcl variable dirxadm_library to install_path/client/conf.
$HOME/.dirxadmrc
-
Contains user customizations.
$TCL_PATH/user_script.tcl
-
Contains user-defined scripts within one or more user-specified directories defined with the TCL_PATH environment variable.
Command Syntax
A dirxadm command has the following syntax:
-
[object] operation [argument] [-option [opt_arg]] …
where:
object
-
Specifies the name of a dirxadm administration object. The dirxadm program supports the following objects:
abbr
Displays valid abbreviations for object classes, attributes, and structured attributes
audit
Manages audit logging
db
Manages database configuration
dse
Manages DSE and policy administration that cannot be performed by using dirxcp
ldap
Performs LDAP server administration
lob
Manages LDIF agreements
nmi
Displays network management information from the DSA management information base (MIB)
progsvr
Manages the Progsvr
sob
Manages shadowing agreements
sys
Performs directory system administration
Specifying an administration object is optional; if you do not specify an object on the command line, the specified operation is performed on either the dse or the sys administration object. For ambiguous operations, the default object is dse.
For complete descriptions of these administration objects, refer to the individual object reference pages, for example, the abbr reference page.
operation
-
Specifies the name of an action such as create, show, or delete, that is to be performed on an administration object. Refer to the individual object reference pages for complete descriptions of the operations supported by each dirxadm object. Common operations for each object are help and operations.
argument
-
Specifies the name of one or more specific objects to operate on. Refer to the individual object reference pages for descriptions of the arguments supported by various objects.
-option
-
Specifies a qualifier that controls the precise behavior of a dirxadm command. Most, but not all, dirxadm commands take options. Some options take an argument, opt_arg, which can be a name or a value.
Line Continuation
dirxadm commands in scripts can use the backslash character (\) as the line continuation character. In interactive mode, there is no continuation character. Instead, you must continue typing. The line automatically wraps if your characters extend beyond the line end. If you press the Enter/Return key, the information you have typed is sent to the system for processing. You should press the Enter/Return key only when you have typed all information required for the command to process.
Command Processing
The dirxadm command supports the Tcl built-in commands as well as its own commands. A command unknown to dirxadm is passed to the unknown command, which evaluates it as follows:
-
If unknown finds the command is in a dirxadm script file, dirxadm runs it.
-
If unknown finds that the command is an executable Linux program, dirxadm runs it. Consequently, you can invoke any Linux command from the dirxadm prompt, for example, ls -l.
-
If unknown finds that you invoked the command at the top level of the dirxadm shell and that the command requests C-shell like history substitution (such as !!, !*number or *^*old\^new), *dirxadm emulates the C shell’s history substitution.
-
If unknown finds that you invoked the command at the top level of the dirxadm shell and the command is a unique abbreviation for another command, dirxadm runs that command.
Abbreviations
The dirxadm command uses two mechanisms to abbreviate object names, operation names, and options to the shortest unique string in interactive commands.
The first mechanism relies on the unknown command (described in the Command Processing section of this reference page).
The second mechanism is built into the individual dirxadm commands themselves. This mechanism allows the operation name to be abbreviated to the shortest unique string supported by the object, and the option names to be abbreviated to the shortest unique string representing an option supported by an object and operation. For example, consider the following dirxadm commands:
show -pretty
abbr operations
In the abbreviated form, the same operation can be entered as follows:
show -p
abbr o
Although abbreviating commands is a good way to save keystrokes in typing interactive commands, abbreviations are not recommended for use in scripts. New procedures in scripts can cause abbreviations to become ambiguous. Furthermore, abbreviations are not always portable. When scripts move to other machines, some definitions may be left behind so scripts will not work correctly. Always spell out complete names in scripts.
Tcl Variables
All dirxadm commands set several Tcl variables on invocation. The variables contain the name of the directory in which startup scripts are stored, the return value of the last command, and so on. To avoid unnecessary typing, you can substitute the value of these variables into the next command.
Tcl variables behave just like other variables in dirxadm. Thus, you can trigger variable substitution by prepending a dollar sign ($) before the name of the variable. Alternatively, you can trigger substitution by using set. The Tcl variables can only be set using the dirxadm program.
The dirxadm program defines the following variables:
_cwo
-
Holds the current DSA-specific entry (DSE). (The abbreviation “cwo” stands for “current working object”.) The following command sets the current working DSE:
dirxadm> set _cwo /O=my-company
The _cwo variable then contains the following value:
dirxadm> puts $_cwo /O=my-company
Note that the variable is set to the specified value only if it exists in the directory information tree (DIT); if the value does not exist, the command returns an error. The default current working DSE is the root DSE.
dirxadm_library
-
Holds the name of the directory in which the dirxadm startup scripts are stored. The user cannot set this variable.
_t61
-
Holds a flag that indicates whether user-specified strings are represented in T61 format. By default, dirxadm assumes that strings are specified in local format (ISO8859-1), and that conversion to T61 format must be performed. If this variable is set to TRUE, dirxadm does not convert user-specified strings.
_localcode
-
Specifies the character set, with one of the following keywords:
-
Latin1 - Default Windows character set (only used in data files). This is the default value.
-
UTF8 - LDAP / Tcl character set (only used in data files).
-
PC850 - PC DOS character set only (only used in DOS windows).
This variable is supported only on Windows systems.
You can specify attribute values in different code sets independent of the value of this variable by using Tcl operations. For example the value
sn=k[encoding convertfrom utf-8 "\xc3\xcb"]bel
specifies the value of the surname (sn) attribute in UTF-8 code. -
Line Recall and Editing
You can edit a line before it is sent to dirxadm by using control characters and escape sequences. To use a control character, press and hold down the Ctrl key while pressing the appropriate character key. To use an escape sequence, press and release the Esc key and then press and release one or more character keys. Escape sequences are case sensitive; control characters are not.
You can enter an editing command anywhere on a line. In addition, you can press the RETURN key anywhere on the line.
To indicate that an action should be repeated a desired number of times, precede the escape or control characters with Esc n, where n is the number of times to repeat the action. For example ESC 4 Ctrl-d (pressing the Esc key and the number 4 key and then pressing and holding down the Ctrl key while pressing the d key) deletes the next four characters on a line. ESC 4 Esc DEL deletes the previous four words on a line.
Control Characters for Editing
Use the control characters shown in the following table for line editing. For example to move to the beginning of a line, press and hold down the Ctrl while pressing the A key.
| Control Character | Action Performed |
|---|---|
Ctrl a |
Move to the beginning of the line. |
Ctrl b |
Move left (backward) one character. You can repeat this action by preceding the control characters with Esc n. |
Ctrl d |
Delete the character highlighted by the cursor. You can repeat this action by preceding the control characters with Esc n. |
Ctrl e |
Move to the end of the line. |
Ctrl f |
Move right (forward) one character. You can repeat this action by preceding the control characters with Esc n. |
Ctrl g |
Sound the terminal bell. |
Ctrl h |
Delete character before the cursor. You can repeat this action by preceding the control characters with Esc n. |
Ctrl i |
Complete the filename. (The TAB key performs the same function.) (See Filename Completion.) |
Ctrl j |
Send the completed line to dirxadm. (The RETURN key performs the same function.) |
Ctrl k |
Delete to the end of the line (or column). You can repeat this action by preceding the control characters with Esc n. |
Ctrl l |
Redisplay the line. |
Ctrl n |
Get the next line from history You can repeat this action by preceding the control characters with Esc n. |
Ctrl p |
Get previous line from history You can repeat this action by preceding the control characters with Esc n. |
Ctrl r |
Search backward (or forward if n) through history for text; start line if text begins with an up arrow. |
Ctrl t |
Transpose characters. |
Ctrl v |
Insert next character even if it is an edit command. |
Ctrl w |
Delete to the mark. See Esc SPC in the table of escape characters. |
Ctrl x Ctrl x |
Exchange the current location and mark. See Esc SPC in the table of escape characters. |
Ctrl y |
Restore the last deleted text to the current cursor location. |
Ctrl [ |
Start an escape sequence (The Esc key performs the same function.) |
Ctrl ]c |
Move forward to the character indicated by c. |
Ctrl ? |
Delete the character before the cursor You can repeat this action by preceding the control characters with Esc n. |
Escape Characters for Editing
To use an escape character, press the Esc key, release it, and then press the appropriate character key. For example to delete the previous word, press the Esc key, then the Ctrl key while pressing the H (capital H) key. Escape characters are case sensitive, so follow the capitalization in the table.
| Escape Sequence | Action Performed |
|---|---|
ESC Ctrl H |
Delete the previous word. (The action can also be performed by the BACKSPACE key.) You can repeat this action by preceding the escape characters with Esc n. |
ESC SPC |
Set the mark. (This action can also be performed by the SPACE BAR.) Refer to the Ctrl x Ctrl x and Ctrl w control characters in the control character table |
ESC . |
Get the last word from the previous line. You can repeat this action by preceding the escape characters with Esc n. |
ESC ? |
Show possible filename completions. (See Filename Completion.) |
ESC < |
Move to the start of history. |
ESC > |
Move to the end of history. |
ESC b |
Move backward one word. You can repeat this action by preceding the escape characters with Esc n. |
ESC d |
Delete the word highlighted by the cursor. You can repeat this action by preceding the escape characters with Esc n. |
ESC f |
Move forward one word. You can repeat this action by preceding the escape characters with Esc n. |
ESC l |
Make the highlighted word lowercase. You can repeat this action by preceding the escape characters with Esc n. |
ESC u |
Make the highlighted word uppercase. You can repeat this action by preceding the escape characters with Esc n. |
ESC y |
Restore the last deleted text to the current cursor location. |
ESC w |
Copy the text from the cursor position up to the up to mark. |
ESC nn |
Set repeat count to the number indicated by nn. |
Filename Completion
The dirxadm command supports filename completion. For example, suppose the root directory has the following files in it:
-
readme
-
readme.txt
If you type a command and characters and then press the TAB key, dirxadm completes as much of the filenames as possible given the characters supplied by characters. For example, if you type ls and then press the TAB key, dirxadm completes the filename the name as far as readme. However, because readme could be the file named readme or the file named readme.txt, dirxadm cannot complete the filenames, so it beeps to signal the conflict. If you then press Esc-?, dirxadm displays the two possible names: readme and readme.txt and prompts you with ls readme. You can then complete the entire filename or enough of the filename for dirxadm to complete it.
Performing Operating System Commands
On Linux, operating system commands of the shell cannot be called directly from within dirxadm. They can be called in the following way:
dirxadm> exec operating_system_command
For example, to issue a Linux "join" command, you must type
dirxadm> exec join file1 file2
On Windows, operating system commands of the command interpreter cannot be called directly from within dirxadm. They be called in the following way:
dirxadm> cmd /c operating_system_command
For example, to issue a Windows "time" command, you must type
dirxadm> cmd /c time /t
Predefined procedures for listing a directory are provided that allow you to type the following commands directly:
-
dir options
-
ls
-
ls -l
Example
The following command sequence illustrates the use of dirxadm and Tcl commands to create an entry on the country level. In this example, dirxadm has already been invoked.
puts "create /C=DE"
catch { create /C=DE -attr _attribute_list_ } status
if {$status == ""}
then {puts "operation ok"}
else {puts "$status"}
Return Values
All dirxadm operations return either a NULL to indicate the successful completion of an operation or a list of information requested by the user (such as the results of a search operation). If an error occurs, dirxadm returns an error message string. The program uses the Tcl native error handling facility to log additional error information returned from commands. This information is stored in two global variables:
-
The errorInfo variable, which contains the stack trace of the error messages.
-
The errorCode variable, which is a Tcl list that contains two elements, DIRXADM (which identifies the program) and the numeric value of the error code.
The following table lists the error codes specific to dirxadm and the meanings of those error codes. Some dirxcp error codes may also be returned by dirxadm. Refer to the dirxcp reference page for a description of dirxcp errors.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Note: The following message is returned if there is a problem with the request sent by dirxadm.
Note: One of the following messages can be returned if error is not with the dirxadm request.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The following message format is used for reporting authentication problems coming via RPC: Communication problem. where message is an RPC generated error message indicating the authentication problem. The following messages can be returned:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Note: The following message is displayed if an operation system command fails (e.g., copy, remove, link) for an unknown reason: Operation not successful: errno = error.h_error_number Note: The following message is displayed if the DSA returns an unknown error (which normally cannot occur): Operation not successful: value = DSA_error_number |
|
|
|
|
|
|
|
|
|
|
|
|
|
DB operation rejected by the DSA - %s
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The program also provides a catch command to help scripts catch errors and invoke error handlers.
Viewing Output
In interactive mode, Tcl lists are written to stdout. However, in command-line mode, the Tcl lists are not displayed. To display them, use the Tcl command puts. For example, the following commands:
% dirxadm -c “puts [dse show /O=my-company/OU=ap11/CN=naik]”
% dirxadm -c “catch {dse show /O=my-company/OU=ap11/CN=naik} result;
puts $result”
print the results of a dse show operation to stdout.
Many dirxadm operations take a -pretty option, which causes the results of the operation to be formatted into tables. Each page of -pretty output is 23 lines in length. Use the following dirxadm scrolling commands to view multiple pages of output:
n |
View the nth page |
-n |
Skip n pages backward |
+n |
Skip n pages forward |
$ |
View the last page |
q |
Exit viewing |
SPACE |
Advance to the next page |
CR |
Advance one line |
Note that if you specify the -pretty option, the return value is NULL, not a Tcl list.
See Also
abbr (Chapter 1), audit (Chapter 1), Abbreviation Files (Chapter 2), db (Chapter 1),
dse (Chapter 1), ldap (Chapter 1), lob (Chapter 1), nmi (Chapter 1), sob (Chapter 1),
sys (Chapter 1)
abbr (dirxcp, dirxadm)
Purpose
A dirxcp and dirxadm object that provides information about abbreviations for directory service attributes.
Operations
abbr help
Returns help information about the abbr object and its operations. The syntax is as follows:
-
abbr help [operation | -verbose]
Options
- -verbose
-
Displays information about the abbr object.
Used without an argument or option, the abbr help command returns brief information about each abbr operation. Use the operation argument to return a description of the options associated with the operation you specify. Alternatively, you can use the -verbose option to return a description of the abbr object itself.
abbr operations
Returns a list of operations that can be performed on the abbr object. The syntax is as follows:
-
abbr operations
The list of available operations is in alphabetical order except for help and operations, which are listed last.
abbr show
Shows the following information:
-
Abbreviations, full names, and object identifiers of object classes, schema object classes, matching rules, knowledge matching rules, supported application contexts, administrative roles, access control schemes and attributes
-
Abbreviations, full names, and structured attribute class names of structured attribute components.
The syntax is as follows:
-
abbr show [-pretty]
Options
-pretty
-
Displays the results of the operation in tabular format.
By default, the results of the show operation are displayed as a Tcl list, which is composed of the following elements:
{OIDAbbrList} {AttributeAbbrList} {ComponentAbbrList}
where:
OIDAbbrList
-
Is a Tcl list that represents the abbreviations for object classes, schema object classes, matching rules, knowledge matching rules, supported application contexts, administrative roles and access control schemes. Each item in the list is composed of the abbreviation, the full name, and the object identifier. For example:
... {C Country 2.5.6.2} … {ORG Organization 2.5.6.4} …
AttributeAbbrList
-
Is a Tcl list that represents the attribute abbreviations. Each item in the list is composed of the attribute abbreviation, full name, and object identifier. For example:
... {C Country-Name 2.5.4.6} … {CN Common-Name 2.5.4.3} …
ComponentAbbrList
-
Is a Tcl list that represents the abbreviations of structured attribute components. Each item in the list is composed of the structured attribute class name, the component abbreviation, and the full name. For example:
... {TELEX_N {AB Answerback} {CC Country-Code} {TN Telex-Number} …
Use the -pretty option to display the results in a tabular, more readable format.
Example
abbr show -pretty
The command output follows:
OID Abbreviations (for object classes, etc.):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Attribute Abbreviations:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Component Abbreviations for …
attr (dirxadm)
Synopsis
attr help [operation]
attr operations
attr outsourcing -add attr_name | -rem attr_name | -show
Operations
attr help
Returns help information about the attr object and its operations. The syntax is as follows:
-
attr help [operation]
Used without an argument or option, the attr help command returns brief information about each attr operation. Use the operation argument to return a description of the options associated with the operation you specify.
Example
attr help
The sample command output is:
|
|
|
|
|
|
attr operations
Returns a list of operations that can be performed on the attr object. The syntax is as follows:
-
attr operations
The list of available operations is in alphabetical order.
attr outsourcing
Manages the configuration of the attribute types to be stored in extra DBAM blocks. The syntax is as follows:
-
attr outsourcing -add attr_name | -rem attr_name | -show
Options
-add attr_name
-
Adds the attribute type attr_name to the list of outsourced attributes. For attr_name, specify an abbreviation, an object identifier or an LDAP name. You can use the abbr show operation to determine the abbreviation that corresponds to the attribute name you want to add. See the abbr reference page for information about the abbr show operation.
-rem attr_name
-
Removes the attribute type attr_name from the list of outsourced attributes. For attr_name, specify an abbreviation, an object identifier or an LDAP name. You can use the abbr show operation to determine the abbreviation that corresponds to the attribute name you want to remove. See the abbr reference page for information about the abbr show operation.
-show
-
Shows the current list of the outsourced attribute types. For each attribute type the abbreviation is displayed if it is contained in the abbreviation files. The object identifier is displayed if the attribute type is not contained in the abbreviation files.
The maximum size of an entry is limited to 8193 * REAL BLOCK size, which is 8193KB for 1KB real blocks. This size is large enough for most of the entries in your directory and applies the best block use rate. If for any reason some entries exceed this limit, we recommend applying attribute outsourcing instead of reloading the entire database with a larger real block size.
Attribute outsourcing stores the values of outsourced attributes in extra blocks in the DBAM GENERAL device without any logical limits; the only limit is the size of the device. Evaluate which attributes require a large amount of memory in your directory. The size consumed in a single entry is relevant here. For example, the values of the attribute certificateRevocationList can be very large (larger than 8 Mbyte). Once you have identified these attributes, add them to the list of outsourced attributes.
When a create or modify operation is performed, the DirX Directory DSA evaluates the size of the outsourced attribute(s) in the affected entry and then restructures them in an appropriate way; that is if an outsourced attribute exceeds the predefined minimum size of 64980 bytes, the values are stored in extra blocks. If the size goes below the predefined minimum size, the values are stored in normal following blocks. Use the environment variable DIRX_DSA_OUTSOURCED_ATTR_MIN_LENGTH to adjust the minimum size.
For outsourcing of attribute types the following rules apply:
-
The attribute type must be a user application attribute.
-
The attribute syntax must not require any formatting for DSA internal representation. Typically, this applies to the attributes Certificate, CertificateList and string syntaxes like Directory String, Octet String, Bit String and so on.
-
The attribute type must not have any relevance to internal processing in the DSA.
Trying to configure an inappropriate attribute type for outsourcing fails. For details, see the schema file in the install_path*/server/log* directory which is created at DSA startup time. There is a table in this file that lists the permitted configuration for attribute indices and outsourcing.
Removing an attribute type from the list of outsourced attributes does not restructure the affected attributes and entries immediately. Instead, the values of the reconfigured attribute are stored back into normal following blocks at modification time if they do not exceed the maximum entry size. That is, as long as the sizes of all attribute values are large enough they remain outsourced.
To get a storage status about outsourced attributes, invoke a dirxadm db check -rob operation. This creates an entry-check file under install_path*/server/log*. This file contains statistics about outsourced attributes and affected entries.
Make sure that you configure all outsourced attributes identically on all involved DSAs within a replication scenario. If you do not, you may see fatal errors on a consumer DSA because the maximum entry size is exceeded.
Examples
-
The following sample command adds the attribute certificateRevocationList (abbreviation CRL) to the list of outsourced attributes:
attr outsourcing -add CRL -
The following sample command removes attribute userPKCS12 (abbreviation UPK) from the list of outsourced attributes:
attr outsourcing -rem UPK -
The following sample command shows the current list of outsourced attributes:
attr outsourcing -showThe sample command output is as follows:
JPT CRL
audit (dirxadm)
Synopsis
audit help [operation | -verbose]
audit modify [-status {ON | OFF}]
[-move [-destination filename]]
[-size size]
[-overflow {STOP | STOP-DSA | WRAP | MOVE}]
[-level {ENTRY | ATTR | ATTRVAL}]
audit operations
audit show [-pretty]
Purpose
A dirxadm object that enables, configures, and manages auditing DirX Directory DSA’s transactions. The audit information can be used for things such as internal billing and accounting.
Note that the LDAP server provides an own set of operations for managing LDAP server auditing. (See the ldap audit operations in this chapter for details.)
Operations
audit help
Returns help information about the audit object and its operations. The syntax is as follows:
-
audit help [operation | -verbose]
Options
- -verbose
-
Displays information about the audit object.
Used without an argument or option, the audit help command returns brief information about each audit operation. Use the operation argument to return a description of the options associated with the operation you specify. Alternatively, you can use the -verbose option to return a description of the audit object itself.
audit modify
Configures and enable/disables auditing.
audit modify [-status {ON | OFF}]
[-move [-destination filename]]
[-size size]
[-overflow {STOP | STOP-DSA | WRAP | MOVE}]
[-level {ENTRY | ATTR | ATTRVAL}]
Options
-status {ON | OFF}
-
Turns auditing off and on. The default is OFF. The DSA must be running when you execute this command.
-move [-destination filename]
-
Moves the default audit log file (install_path/server/audit/audit.log) to another location and/or name. filename is the full path name or the relative path name of the new file. If a relative path name is specified the default audit log file is moved relative to the directory install_path/server/audit. If filename is omitted, the audit file currently in use is renamed by appending the current UTC time in ZULU format and a counter from 000 to 999; for example audit.log.20010510104511Z_001.
-size size
-
An integer that specifies the maximum number of audit records per audit log file. Each DSA operation for the DAP/DSP/DISP protocol generates one or more audit records. More than one record per operation is created usually when a DAP operation must chain to other DSAs via DSP in order to resolve the request remotely. The default size is 50000 records. The maximum number of audit records must be greater than 100. Otherwise the default value is used.
Independent of the setting of this option the size of the DSA audit log file is limited to 256 MB by default. The dirxauddecode command must be used to evaluate the binary audit log files. Due to the 32-bit I/O mechanism dirxauddecode is not able to handle files greater than 2GB, neither as input nor as output. dirxauddecode may run into a deadlock. The administrator can specify another maximum file size than 256 MB in the DIRX_AUD_FILE_SIZE environment variable.
If either the maximum number of audit records (-size option) or the maximum size in MB of the audit file (DIRX_AUD_FILE_SIZE environment variable) is exceeded the -overflow option specifies the action to take.
-overflow {STOP | STOP-DSA | WRAP | MOVE }
-
Sets the action to take when the maximum log file size set with the -size option is reached. The overflow action keywords have the following meanings:
-
STOP—Cease auditing when the maximum log file size is reached.
-
STOP-DSA—Shut down the DSA when the maximum log file size is reached.
-
WRAP—When the maximum log file size is reached, begin writing at the top of the log file, overwriting the entries there.
-
MOVE—When the maximum log file size is reached, the audit file currently in use is closed and renamed by appending the current UTC time in ZULU format and a counter from 000 to 999, for example audit.log.20010510104511Z_001. This renamed file can be evaluated by using the dirxauddecode command. A new audit log file is created. Auditing is continued using the current configuration settings.
The default is WRAP.
-
-level {ENTRY | ATTR | ATTRVAL}
-
Set the level of audit information. The level keywords have the following meanings:
-
ENTRY—Audit transactions that affect entries.
-
ATTR—Audit transactions that affect attributes.
-
ATTRVAL— Audit transactions that affect attributes and attribute values.
The default is ENTRY.
-
The audit modify -status command turns auditing on and off.
The audit modify command also sets auditing configuration parameters. Use the -size option to set the maximum size of the log file and the -overflow option to set the actions to take when maximum file size is reached.
Use the -level option to set the level of auditing to entries, attributes, or attribute values. This option is useful to limit the size of the audit information.
Note that you can also use the LDAP extended operations for DSA auditing available through the dirxextop command and the DirX Directory Manager’s Monitor view.
The Audit Log File
When auditing is enabled, audit information is collected in the file named install_path*/server/audit/audit.log*. (For Linux systems: Read and Write permissions are assigned to the file’s owner and group.) Use the audit modify -move command to rename and save the file. When auditing continues, the file install_path*/server/audit/audit.log* is re-created and used to store audit information.
Use the -destination filename option of the audit modify -move command to specify a new name for the file. Without this option the file is renamed to audit.log.datennn, where _date is the current UTC time in ZULU format in the form YYYYMMDDhhmmssZ and nnn is a counter from 000 to 999, for example audit.log.20010510104511Z_001.
A new audit log file is created when the DSA is started. In the event that an audit log file already exists this existing audit log file is renamed by appending the current UTC time in ZULU format and a counter from 000 to 999, for example audit.log.20010510104511Z_001. This renamed file can be evaluated by using the dirxauddecode command.
audit.log File Contents
The audit.log file contains one entry with general information (header information) on the audit file and an entry for each operation that occurs. As produced by the audit command the audit.log file contains records in binary format. Use the dirxauddecode command to display the contents of the log file and convert them to a form that can be read and manipulated. Use the dirxaudstatistics command to evaluate multiple audit log files.
The audit.log file general information (header) includes:
-
The command line.
-
Input and output file name.
-
The audit version.
-
The audit start time.
-
The content type (always DSA).
-
Additional server specific information, for example the server version.
Here is an example for header information:
################# DIR.X AUDIT TRAIL (c) Eviden ################################ Cmd-Line: -i audit.log -a dsa_audit.txt ================================================================================= Audit File # :1 Input File :audit.log Output File :dsa_audit.txt Audit Version :8.8 Server UUID :a5857937-1caa-4b72-80b4-722dc5db0cd0 Audit Start Time (local) :Thu Nov 29 10:21:13 2012 Audit Start Time (GMT) :Thu Nov 29 09:21:13 2012 Content Type :DSA DB Master-Entries :0 DB Copy-Entries :1573 Server Version :DirX Directory V8.2 B 8.8.98 2012:11:28 20:10 Host Name :baumg03
The audit.log file information for each entry includes:
-
The bind ID
-
The start and end time of operation
-
The operation duration.
-
The protocol used (DAP, DSP, DISP, DOP, or local)
-
A unique DSA internal operation name (note that this internal operation name does not match the unique LDAP name of an LDAP operation in the LDAP audit log file)
-
The operation type.
-
Additional operation-specific information.
Here is an example for a bind and a search operation:
############# RECORD NUMBER 000226 ############# Bind-Id: 0x00100007 Start Time: Thu Nov 29 10:38:00.971999 2012 End Time: Thu Nov 29 10:38:00.971999 2012 Concurrency: 1 BT Usage: 8 Conns, 1 Ops Duration: 0.000000 sec Protocol: DAP (Responder) OP-Name: Con16_Op0 Operation: BIND Role: Responder AuthMech: Simple Bind-Requestor: /O=my-company/CN=admin IP-address: 10.93.25.149 OpResCTXSize: 32 kB TotalCTXSize: 7 MB (HWM: 9 MB) Result: Successful (Size 0 Bytes) ########## END RECORD NUMBER 000226 ############ ############# RECORD NUMBER 000227 ############# OpUUID: e792d1c7-7090-483d-b759-ae8afadfefbc Bind-Id: 0x00100007 Start Time: Thu Nov 29 10:38:07.190000 2012 End Time: Thu Nov 29 10:38:07.377000 2012 Concurrency: 1 BT Usage: 8 Conns, 1 Ops Duration: 0.187000 sec Protocol: DAP (Responder) OP-Name: Con16_Op1 Operation: SEARCH Base-Object: /O=My-Company Scope: subtree Filter: (cn=*bel*) Options: PrefCh CopyShallDo Found Entries: 16 (16 local, 0 remote) OpResCTXSize: 144 kB TotalCTXSize: 7 MB (HWM: 9 MB) Result: Successful (Size 1412 Bytes) ########## END RECORD NUMBER 000227 ############
The audit.log file summary information includes statistical information, for example the total number of records processed or the number of successful performed operations.
Here is an example for summary information:
=================================================================================
DSA Audit Summary :
Records Processed : 233
Log Time : 1391 sec
Avrg Traffic : 0.2 Ops/sec
Concurrency Max : 2 (5 times) (Op# 000096)
CtxSize Min/Max : 7 / 9 MB
CtxSize HWM Min/Max : 7 / 9 MB
Protocol Ops :
DAP Ops : 229
Search : 196
Modify : 1
Bind : 16 (0 Init, 16 Resp)
Unbind : 4
ExtendedOp : 6
Abort : 6
DSP Ops : 1
Abort : 1
DISP Ops : 0
DOP Ops : 0
LOCAL Ops : 0
RPC Ops : 0
PagingCookieExpired : 0
UNKNOWN Ops : 0
DAP Op Statistics : tot | err | % | t Avrg | t Max | t Min
Search : 196 | 0 | 85.2 | 0.007959 | 0.187000 | 0.000000
Modify : 1 | 0 | 0.4 | 0.046999 | 0.046999 | 0.046999
Bind : 16 | 0 | 7.0 | 0.002938 | 0.016000 | 0.000000
Unbind : 4 | 0 | 1.7 | 0.000000 | 0.000000 | 0.000000
Abort : 6 | 0 | 2.6 | 0.000000 | 0.000000 | 0.000000
Extended : 6 | 0 | 2.6 | 0.002500 | 0.015001 | 0.000000
DSP Op Statistics : tot | err | % | t Avrg | t Max | t Min
Abort : 1 | 0 | 0.4 | 0.000000 | 0.000000 | 0.000000
DISP Op Statistics : tot | err | % | t Avrg | t Max | t Min
RPC Op Statistics : tot | err | % | t Avrg | t Max | t Min
Top 100 Durations:
Duration StartTime EndTime Op# CC CTXSize Prot Type/Info
0.187000 | 10:38:07.190000 | 10:38:07.377000 | 000227 | 1 | 7 | DAP | SEARCH n/a
0.109999 | 10:38:23.782000 | 10:38:23.891999 | 000229 | 1 | 8 | DAP | SEARCH n/a
0.046999 | 10:35:21.003000 | 10:35:21.049999 | 000203 | 1 | 7 | DAP | SEARCH n/a
0.046999 | 10:39:18.496000 | 10:39:18.542999 | 000230 | 1 | 7 | DAP | MODIFY n/a
...
Examples
-
The following sample command sets the following audit configuration parameters by default:
-
Auditing is enabled
-
The audit file size limit is 50000 records
-
The audit level is set to ENTRY
-
The action to take when maximum log file size is reached is set WRAP
-
audit modify –status ON
-
The following sample command sets the following audit configuration parameters:
-
Auditing is enabled
-
The audit file size limit is set to 100000 records
-
The audit level is set to ATTRVAL
-
The action to take when maximum log file size is reached is set STOP
-
audit modify -status ON \
-size 100000 \
-overflow STOP \
-level ATTRVAL
-
The following sample command disables auditing:
audit modify -status OFF
audit operations
Returns a list of operations that can be performed on the audit object. The syntax is as follows:
-
audit operations
The list of available operations is in alphabetical order except for help and operations, which are listed last.
audit show
Displays the auditing configuration parameters set with the audit modify command.
The syntax is as follows:
-
audit show [-pretty]
db (dirxadm)
Synopsis
db attrconfig type
-index {FALSE |
TRUE [{CONTAINS | NO-CONTAINS}] [{ANY | NO-ANY}] [{APPROXIMATE | NO-APPROXIMATE}] [{UNIQUE | NO-UNIQUE}] |
BUILD [INITIAL] [FINAL] [CONTAINS] [ANY] [APPROXIMATE] |
[{INITIAL | NO-INITIAL} {UNIQUE | NO-UNIQUE}]
[{FINAL | NO-FINAL}]
[{CONTAINS | NO-CONTAINS}]
[{ANY | NO-ANY}]
[{APPROXIMATE | NO-APPROXIMATE}] }
[-optread {TRUE | FALSE}]
db check
-bs {ATTRIBUTE [-attribute attr_type] | SUBORDINATE [-base distinguished_name]}
[-repair] |
-rob
db dirxque3
-setlevel {IDB | DIRXQUE3} |
-getlevel
db help [operation | -verbose]
db operations
db purge
-info |
-analyse [-verbose] |
-pob [-progressive] [-verbose]
db show -attribute attr_type
db statistics
-add -base distinguished_name
-attr {INITIAL | FINAL | CONTAINS | ANY} attr_type
[-maxbucket bucket_count]
[-maxvariance variance] |
-delete -base distinguished_name
[-attr {INITIAL | FINAL | CONTAINS | ANY} attr_type] |
-test -base distinguished_name
-attr {INITIAL | FINAL | CONTAINS | ANY} attr_type |
-create |
-update |
-list |
-dump
Arguments
operation
-
The name of the db operation for which to display help information.
type
-
A list of abbreviations or object identifiers that represents attribute types. You can use the abbr show operation to determine the abbreviation that corresponds to the attribute type you want to specify. The abbreviations or object identifiers are separated by the SPACE character. See the abbr reference page for information about the abbr show operation.
Operations
db attrconfig
Configures, indexes, and optimizes access for attribute types. The syntax is as follows:
-
db attrconfig type
-index {FALSE |
TRUE [{CONTAINS | NO-CONTAINS}] [{ANY | NO-ANY}] [{APPROXIMATE | NO-APPROXIMATE}] [{UNIQUE | NO-UNIQUE}] |
BUILD [INITIAL] [FINAL] [CONTAINS] [ANY] [APPROXIMATE] |
[{INITIAL | NO-INITIAL} {UNIQUE | NO-UNIQUE}]
[{FINAL | NO-FINAL}]
[{CONTAINS | NO-CONTAINS}]
[{ANY | NO-ANY}]
[{APPROXIMATE | NO-APPROXIMATE}] }
[-optread {TRUE | FALSE}]
Options
-index {FALSE |
TRUE [{CONTAINS | NO-CONTAINS}] [{ANY | NO-ANY}] [{APPROXIMATE | NO-APPROXIMATE}] [{UNIQUE | NO-UNIQUE}] |
BUILD [INITIAL] [FINAL] [CONTAINS] [ANY] [APPROXIMATE] |
[{INITIAL | NO-INITIAL} {UNIQUE | NO-UNIQUE}]
[{FINAL | NO-FINAL}]
[{CONTAINS | NO-CONTAINS}]
[{ANY | NO-ANY}]
[{APPROXIMATE | NO-APPROXIMATE}]
}
-
A required option that specifies whether or not an index for the attribute types specified in type should be created or deleted. An index for an attribute type optimizes the performance of a search query with a filter that contains an equality, greater or equal, less or equal; or approximate match item, an initial or final substring, or a NOT filter item. (See dirxcp obj search operation and section Search Filters in DirX Directory Syntaxes and Attributes for details.)
A value of FALSE deletes all configured index-types of an index.
A value of TRUE creates an initial- and final-index. If the index already exists the operation has no effect.
A value of BUILD re-creates an index as configured. After the index has been re-created the old index is deleted. Additional not yet configured index-types can be specified. If there is no index at least one index-type keyword INITIAL, FINAL, CONTAINS, ANY, or APPROXIMATE must be specified.
Instead of specifying the values TRUE, BUILD or FALSE you can administer each index-type separately. Specify at least one of the following keywords:- INITIAL
-
to create an additional initial index. An initial-index optimizes the performance of a search operation with equality match of the entire attribute value or with a filter that contains substrings that can be positioned at the beginning in the target attribute value. (See dirxcp obj search operation and section Search Filters in DirX Directory Syntaxes and Attributes for details.) The unique attribute type value constraints check apply when specifying INITIAL UNIQUE. NO_UNIQUE (default value) disables the unique constraints check. (See section Unique Constraints Configuration Management in a Shadow Configuration in the Administration Guide for details.) NO-INITIAL deletes the initial-index.
- FINAL
-
to create an additional final index. A final-index optimizes the performance of a search operation with a filter that contains substrings that can be positioned at the end in the target attribute value. (See dirxcp obj search operation and section Search Filters in DirX Directory Syntaxes and Attributes for details.) NO-FINAL deletes the final-index.
- CONTAINS
-
to create an additional contains-index. A contains-index optimizes the performance of a search operation with a filter that contains substrings that can be positioned anywhere in the target attribute value. (See dirxcp obj search operation and section Search Filters in DirX Directory Syntaxes and Attributes for details.) NO-CONTAINS deletes the contains-index.
Note that the CONTAINS index has no effect when searching for a single character contained in an attribute value. A contains filter searching for a single character contained in an attribute value, for example cn=*a*, is always - independent from the presence of a CONTAINS index - performed as a sequential scan. It is rejected if the user policy denies sequential searches. (See section User-Policies in DirX Directory Syntaxes and Attributes for details.) - ANY
-
to create an additional any-index. An any-index optimizes the performance of a search operation with a filter that contains checks for the presence of attribute types or NOT filter items. (See dirxcp obj search operation and section Search Filters in DirX Directory Syntaxes and Attributes for details.) NO-ANY deletes the any-index.
- APPROXIMATE
-
to create an additional approximate-index.An approximate-index optimizes the performance of a search operation with a filter that contains sounds-like filter items (phonetic matching). (See dirxcp obj search operation and section Search Filters in DirX Directory Syntaxes and Attributes for details.) NO-APPROXIMATE deletes the approximate-index.
An approximate-index supports phonetic matching according the SOUNDEX algorithm. An approximate-index can be applied to attributes with the syntaxes Directory String, IA5 String and Printable String.
If an index-type already exists and is to be created the keyword has no effect. If an index-type is to be deleted and does not exist the keyword has no effect.
-optread {TRUE | FALSE}
-
Specifies whether or not access to the attributes specified in type and their values is to be optimized. A value of TRUE enables access optimization and a value of FALSE disables access optimization. The default value is TRUE.
Searching just for indexed attributes guarantees best DSA performance. A suitable set of attributes is indexed by default, that is ObjectClass, CN, SN, C, Organization, collectiveOrganizationName, OrganizationalUnit, collectiveOrganizationalUnitName.
Specify a value of TRUE, BUILD or index-type keyword INITIAL, FINAL, CONTAINS, and / or ANY to the -index option to create an index for the attribute types specified in type. Note that DirX Directory by default creates indexes for a number of attribute types.
The maximum number of indexed attributes is 800.
Specify a value of FALSE to the -index option to delete an index for the attribute types. Deleting an index is useful only for attribute types that will not be used in search filters.
An index for an attribute type consumes extra disk space for every entry in the database and decreases the performance of update operations. Configuring the indexes carefully helps in disk space optimization.
It is recommended to create a contains-index for optimizing substring searches (keyword CONTAINS) only for attributes like surname or given name but not for attribute types that may have very large attribute values like description. It is strongly recommended not to create a contains-index for multi-valued attributes with a huge number of values. This avoids inperformant modify operations for such attributes.
When an index for a supertype is created, for example name, also the indexes for all subtypes are created, that are common name, surname, and given name.
When an index for a supertype is deleted, only the index of the supertype is deleted; the indexes of the subtypes are preserved. For example deleting the index for name does not delete the indexes of the subtypes common name, surname, and given name. It is prohibited to delete an index of a subtype when the supertype has an index.
The UNIQUE constraint proves uniqueness of attribute type values. In this context uniqueness is given if a distinct value is referenced by at most one entry. Uniqueness is also given if an entry has more than one value and for each value the first rule applies too. Also if an entry has no attribute value this is considered to be unique. Proving uniqueness is enforced by using the initial attribute index. Consider that the configured matching rule has significant impact to the result of the uniqueness check. For example, a directory string case ignore matching rule configured for a certain attribute type may bring another result in uniqueness check then a case exact matching rule. If post indexing detects non unique values the operation is returned with error and the UNIQUE flag is not set while the INITIAL index remains set. All non unique values are reported in the DSA’s logging file. A unique constraint can be applied to attributes with syntax Bit String, Directory String, IA5 String, Numeric String, Octet String, Printable String and Integer. Note that some restrictions apply. The encoded string may not exceed 1024 bytes and may not include non ASCII characters in case of Directory String syntax.
Once post indexing has been performed without error the UNIQUE constraint flag is set and all subsequent modifications are subject to a uniqueness check. Every time an attribute value is added by an add entry or modify entry operation uniqueness is proved through the index. If uniqueness is not given the operation is rejected with LDAP error LDAP_TYPE_OR_VALUE_EXISTS (code 20).
To disable unique constraints checks apply the NO-UNIQUE keyword. Once the UNIQUE flag is removed all uniqueness checks are disabled for the specific attribute type.
To apply the unique constraint check, you need to enable this feature explicitly by creating attibute enableUniqueIndex (value TRUE) in the root DSE. Also this must be performed on all consumer DSAs.
Another important aspect is to assure uniqueness within certain replication scenarios. In case the UNIQUE constraint is to be enabled on a switchable consumer DSA then it reads the database configuration from the supplier DSA and proves if the UNIQUE flag is set there. If it is not set or the supplier DSA is not online then the operation is rejected. In case the UNIQUE constraint is to be disabled on the supplier DSA then it reads the database configuration of all switchable consumer DSAs and proves if the UNIQUE flag is unset. If this is not true or any of the switchable consumer DSAs is not online then the operation is rejected. One exception build switchable consumer DSAs which are not online and their agreement is disabled. They are excluded from the check and the operation is not rejected. (See also the dirxadm sob switch operation and section Unique Constraints Configuration Management in a Shadow Configuration in the Administration Guide.)
By default, new attributes are created without indexing. To check if a given attribute is indexed, you can use the db show operation or read the attribute index subentry. (See section Attribute Index Definition in DirX Directory Syntaxes and Attributes for details.)
Specify a value of TRUE to the -optread option to enable access optimization. When optimized access is enabled, DirX Directory stores an entry’s attributes and their values in the same database record as the distinguished name of the entry. This storage method permits the DSA to read the attributes and their values within the same database read operation as the name of the entry. By default, optimized access is enabled for all attributes of the default schema and all attributes newly created.
Specify a value of FALSE to the -optread option to disable access optimization. Disabling access optimization is especially useful for attribute types with very large attribute values that are also not accessed frequently. Attributes with a value of FALSE to the -optread option cannot be indexed.
While the db attrconfig command is in progress the operation mode of the DSA is POSTINDEXING. (See the dirxadm sys opmode operation for details.)
Example
-
In the following example an initial- and any-index are created for the attribute given name:
db attrconfig gn -index INITIAL ANY
If one of the specified index-types (initial and / or any) already exists the operation has no effect on this index-type. dirxadm does not display an error message.
If other index-types, for example a contains- and / or final-index, exist the operation has no effect on these index-types. dirxadm does not delete them.
-
In the following example an any-index is created and the final- and contains-index are deleted for the attributes given name and telephone number:
db attrconfig gn TN -index NO-FINAL ANY NO-CONTAINS
-
In the following example an approximate-index is created for the attribute surname:
db attrconfig sn -index APPROXIMATE
If there is already an approximate-index for the surname attribute dirxadm performs no operation and prompts without an error message.
-
In the following example the approximate-indexes are deleted for the attributes surname and given name:
db attrconfig sn gn -index NO-APPROXIMATE
If there there are no approximate-indexes for the surname and the given name attributes dirxadm performs no operation and prompts without an error message.
-
In the following example the initial index for attribute USID (userid) is created and UNIQUE constraints are specified:
*db attrconfig usid -index INITIAL UNIQUE*
db check
Checks the consistency of attribute indexes, subordinates, or DSEs (Directory Specific Entry). The syntax is as follows:
-
db check
-bs {ATTRIBUTE [-attribute attr_type] | SUBORDINATE [-base distinguished_name]}
[-repair] |
-rob
Options
-bs {ATTRIBUTE | SUBORDINATE}
-
Specifies whether attribute indexes (keyword ATTRIBUTE) or subordinates (keyword SUBORDINATES) are checked.
-attribute attr_type
-
Specifies the attribute types that indexes are checked. Specify the abbreviation or the OID of the attribute types. Use the abbr show operation to determine attribute abbreviations. A SPACE character separates the attribute types. The default is that all indexed attribute types are checked.
-base distinguished_name
-
Specifies the distinguished name of the base of the subtree to be checked. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a complete description of distinguished name formats. The default is the root DSE, that is the entire DIT is checked.
-repair
-
Specifies that detected inconsistencies are repaired automatically.
-rob
-
Specifies that the consistency of DSEs is checked.
The check operation checks the consistency of the saved internal database information.
Use the -bs option to specify whether attribute indexes or subordinates are to be checked. Use the -base option to specify the base object of a particular subtree in the DIT.
While the db check -bs command is in progress the operation mode of the DSA is POSTINDEXING. (See the dirxadm sys opmode operation for details.)
Use the -attribute option to limit the check to a specific list of attribute types. Only the indexes of the specified attribute types are checked. If you specify a supertype the index of a subtype is checked only if the subtype is contained in the attribute list, for example if you specify the name attribute the common name, surname, and given name attributes are checked only if they are specified in the attribute list. If the attribute type list contains an attribute type that is not indexed the operation is aborted. None of the specified attribute type indexes is checked.
Use the -repair option to specify that detected inconsistencies should be repaired automatically.
While the operation is in progress the DSA rejects any update operation. It returns the error Unwilling to Perform.
In the event of detecting inconsistencies an error message is displayed.
Detailed results are saved in the file
-
install_path*/server/log/aidxcheck*pid*.txt* (attribute index check)
-
install_path*/server/log/subcheck*pid*.txt* (subordinate check)
where pid specifies the PID of the check process.
Use the -rob option to check the consistency of DSEs. Unlike to the other consistency checks above it is possible to perform update operations while the check process is performed. The DNs of inconsistent DSEs are saved in the file install_path*/server/log/entrycheck*pid*.txt* where pid specifies the PID of the check process. The check process reads each DSE and performs the following consisteny checks:
-
DBAM low level
One real object block represents one DSE. If the attributes of this DSE cannot be stored in this one real object block one or more follow blocks are allocated in the GENERAL DBAM device. This check verifies the correct linkage of the follow blocks.
-
Entry low level
This check verifies the correct attribute type sequence, attribute value length, and attribute value counts within an entry.
-
ASN.1 encoding
This check verifies the correct ASN.1 encoding for each attribute value.
-
Tree location
This check verifies the correct linkage of the entry in the tree.
-
Reference consistency
This check proofs all distinguished name references for validity.
-
Schema consistency
This check verifies object classes and attribute types of the entry for schema consistency.
-
Attribute index consistency
This check verifies for all indexed attributes if the values are stored correctly in the attribute index.
Example
-
In the following example the indexes of the attribute types common name (cn) and surname (sn). In the event of inconsistencies the indexes are repaired automatically.
db check –bs ATTRIBUTE -attribute cn sn -repair
-
In the following example the subordinates of the subtree o=my-company are checked. In the event of inconsistencies the subordinates information is repaired automatically.
db check –bs SUBORDINATE -base /o=my-company/ou=sales -repair
db dirxque3
Manages the DirXQue3 optimization level. The syntax is as follows:
-
db dirxque3
-setlevel {IDB | DIRXQUE3} |
-getlevel
Options
-setlevel {IDB | DIRXQUE3}
-
Sets the optimization level of DirXQue3. Specify one of the following keywords:
- IDB
-
to enable the DirX Directory IDB search engine.
- DIRXQUE3
-
to enable the DirXQue3 search engine.
The default value is IDB.
+ Before enabling DirXQue3 it is required to create histograms. DirXQue3 uses these histograms to optimize search operations. See the db statistics operation how to create histograms.
-getlevel
-
Displays the optimization level in use.
The dirxque3 operation manages the DirXQue3 optimization level. Use the -setlevel option to specify the search engine to use. Use the -getlevel option to display the optimization level in use.
db help
Returns help information about the db object and its operations. The syntax is as follows:
-
db help [operation | -verbose]
Options
-verbose
-
Displays information about the db object.
Used without an argument or option, the help command returns brief information about each db operation. Use the operation argument to return a description of the options associated with the operation you specify. Alternatively, you can use the -verbose option to return a description of the db object itself.
Example
db help
The command output is as follows:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
db operations
Returns a list of operations that can be performed on the db object. The syntax is as follows:
-
db operations
The list of available operations is in alphabetical order except for help and operations, which are listed last.
db purge
Manages the purge operations in the DSA database. The syntax is as follows:
-
db purge
-info |
-analyse [-verbose] |
-pob [-progressive] [-verbose]
Options
-info
-
Scans the DBAM tree and displays statistical information about pseudo objects and pseudo references.
-analyse [-verbose]
-
Scans the DBAM database and writes statistical information about pseudo objects and pseudo references to the log file install_path*/server/log/purge*pid*.txt*. If the -verbose option is specified all pseudo objects and references are written to the log file.
-pob [-progressive] [-verbose]
-
Scans the DBAM database and deletes all unused pseudo references. The DSA writes a log file install_path*/server/log/purge*pid*.txt* that records statistical information about pseudo objects and pseudo references.
If the -progressive option is specified then simultaneous update operations are allowed while the purge operation cleans up the database. Otherwise the DSA changes its operation mode to POSTINDEXING, that is, update operations are rejected.
If the -verbose option is specified detailed information about all pseudo objects and pseudo references are written to the log file.
The purge operation records statistical information about pseudo objects and references and cleans up unused pseudo references in the DSA database.
A pseudo object is an object in the DBAM tree that is referenced by one or more other objects. The pseudo object just points to the DSE (DSE - Directory Specific Entry) that contains the attributes of the referenced object. That is the pseudo object contains only one attribute: the reference to the DSE that contains all other attributes of this object, for example the attributes postal address, description, employee number, phone-number and so on.
A pseudo reference is an object in the DBAM tree that is referenced by one or more other objects. The pseudo reference does not point to a DSE.
For example, the objects cn=Smith, ou=Sales, o=My-Company and cn=Jones, ou=Sales, o=My-Company have got the See-Also attribute cn=Hohner, ou=Sales, o=My-Company. Both DSEs (for Smith and Jones) refer the pseudo object cn=Hohner, ou=Sales, o=My-Company. This pseudo object points to the DSE of cn=Hohner, ou=Sales, o=My-Company that contains all attributes of Hohner. The following figure illustrates this example:
If the DSE Hohner is deleted for example because the employee Hohner has left My-Company the pseudo object Hohner converts to a pseudo reference. After an administrator has deleted all See-Also attributes referring Hohner the purge operation deletes the unused pseudo reference Hohner.
Use the -info option to display statistical information about pseudo objects and pseudo references. This information does not provide whether there are unused pseudo references but it helps to decide whether to perform a purge or not. It is recommended to perform a purge if there are a high number of pseudo references together with a high pseudo reference ratio; for example 80000 pseudo references or more and a ratio of 40% or higher. Another indicator for performing a purge operation is the fragmentation ratio of a DBAM logical device. Perform a dbamdevinfo command and evaluate the fragmentation of the DBAM logical devices. If one of the devices has a fragmention ratio of 50% or higher then a purge operation is recommended.
Use the -analyse option to check whether there are unused pseudo references. Use the -verbose option to get detailed information about pseudo objects and references. The operation records all information in the log file install_path*/server/log/purge*pid*.txt* where pid is the process id of the process performing the purge analysis.
Use the -pob option to perform the clean up of the DSA database. While performing the clean up process the DSA changes its operation mode to POSTINDEXING if the option -progressive is not specified; that is update operations are rejected. Use the -verbose option to get detailed information about the clean up process. The operation records all information in the log file install_path*/server/log/purge*pid*.txt* where pid is the process id of the process performing the clean up process.
Example
dbamdevinfo
The command output is as follows:
Logical device: GENERAL | BITSTR | PSEUDO | TREE
In use: 29.21 % ( 3.504 GB of 11.997 GB)
Fragmentation: 99.96 %
Logical device: REAL
In use: 0.15 % ( 60.049 MB of 38.990 GB)
Fragmentation: 0.00 %
Logical device: AVIDX
In use: 0.37 % ( 90.688 MB of 24.000 GB)
Fragmentation: 0.00 %
In this example, the logical DBAM device which stores GENERAL, BITSTR, TREE and PSEUDO block types has a fragmentation ratio of 99.96%. It is highly recommended to perform a purge operation.
db purge -info
The command output is as follows:
{Total 6 pseudo objects, 2 pseudo references (25%)}
In this example, there are 6 pseudo objects that point to a DSE and 2 pseudo objects that do not point to a DSE so-called pseudo references. You do not know whether there are objects in your database that point to the pseudo references. It is not necessary to perform a purge operation.
db purge –analyse –verbose
On success, the command finishes with an empty command prompt. The log file contains the following information:
Tue Mar 06 11:25:51 2007 Start purge analyse operation Tue Mar 06 11:25:51 2007 Cmdline : db purge -analyse -verbose Tue Mar 06 11:25:51 2007 Purge analyse phase 1 : retrieve all links to pseudo objects and pseudo references Tue Mar 06 11:25:51 2007 Highest allocated real block number : 24 Tue Mar 06 11:25:51 2007 24 real entries parsed in 1 seconds : 24 entries/second Tue Mar 06 11:25:51 2007 30 links to pseudo objects and pseudo references detected Tue Mar 06 11:25:51 2007 Purge analyse phase 2 : retrieve all allocated pseudo objects and pseudo references Tue Mar 06 11:25:51 2007 List of allocated, referenced and unreferenced slots : POBN= 327 ALLOCATED_SLOTS=0....... REFERENCED_SLOTS=0....... POBN= 331 ALLOCATED_SLOTS=0123.... REFERENCED_SLOTS=0123.... POBN= 401 ALLOCATED_SLOTS=0123.... REFERENCED_SLOTS=012..... UNREFERENCED_SLOTS=...3.... POBN= 409 ALLOCATED_SLOTS=01234567 REFERENCED_SLOTS=........ UNREFERENCED_SLOTS=01234567 POBN= 410 ALLOCATED_SLOTS=01...... REFERENCED_SLOTS=........ UNREFERENCED_SLOTS=01...... Tue Mar 06 11:25:51 2007 5 blocks allocated Tue Mar 06 11:25:51 2007 11 unused pseudo references detected
In this example, the database contains 24 DSEs and 30 references to pseudo objects. There are 5 blocks containing a number of pseudo objects and references. There are 11 unused pseudo references. It is not necessary to perform a purge operation.
db purge –pob –verbose
On success, the command finishes with an empty command prompt. The log file contains the following information:
Tue Mar 06 11:25:51 2007 Start purge analyse operation Tue Mar 06 11:25:51 2007 Cmdline : db purge -analyse -verbose Tue Mar 06 11:25:51 2007 Purge analyse phase 1 : retrieve all links to pseudo objects and pseudo references Tue Mar 06 11:25:51 2007 Highest allocated real block number : 24 Tue Mar 06 11:25:51 2007 24 real entries parsed in 1 seconds : 24 entries/second Tue Mar 06 11:25:51 2007 30 links to pseudo objects and pseudo references detected Tue Mar 06 11:25:51 2007 Purge analyse phase 2 : retrieve all allocated pseudo objects and pseudo references Tue Mar 06 11:25:51 2007 List of allocated, referenced and unreferenced slots : POBN= 327 ALLOCATED_SLOTS=0....... REFERENCED_SLOTS=0....... POBN= 331 ALLOCATED_SLOTS=0123.... REFERENCED_SLOTS=0123.... POBN= 401 ALLOCATED_SLOTS=0123.... REFERENCED_SLOTS=012..... UNREFERENCED_SLOTS=...3.... POBN= 409 ALLOCATED_SLOTS=01234567 REFERENCED_SLOTS=........ UNREFERENCED_SLOTS=01234567 POBN= 410 ALLOCATED_SLOTS=01...... REFERENCED_SLOTS=........ UNREFERENCED_SLOTS=01...... Tue Mar 06 11:25:51 2007 5 blocks allocated Tue Mar 06 11:25:51 2007 11 unused pseudo references detected
In this example, the database contains 24 DSEs and 30 references to pseudo objects. There are 5 blocks containing a number of pseudo objects and references. There are 11 unused pseudo references. The purge operation deleted all 11 unused pseudo references. It also deleted 2 blocks that no longer contain any pseudo object or reference.
db show
Shows configuration information for a specific attribute type. The syntax is as follows:
-
db show -attribute attr_type
Options
-attribute attr_type
-
Shows information on attribute index and read optimization associated with the specified attribute type.
The show operation displays database configuration information. Use the -attribute option to show configuration information associated with an attribute type. See the db attrconfig operation for detailed information about index-types INITIAL, FINAL, CONTAINS, ANY, and APPROXIMATE. In combination with the INITIAL index type the UNIQUE flag is printed if unique constraint check is enabled and all attribute values are unique. If no index is specified for an attribute the value FALSE is displayed for the INDEX component.
Example
-
In the following example the detailed information about the common name attribute is displayed:
db show -attribute cn
The command output is as follows:
ATTR=CN,INDEX=INITIAL;FINAL;CONTAINS;ANY,OPTR=TRUE -
In the following example the detailed information about the description attribute is displayed:
db show -attribute dsc
The command output is as follows:
ATTR=DSC,INDEX=FALSE,OPTR=TRUE -
In the following example the detailed information about the userid attribute is displayed:
db show -attribute usid
The command output is as follows:
ATTR=USID,INDEX=INITIAL;UNIQUE,OPTR=TRUE
db statistics
Manages the histograms for DirXQue3. The syntax is as follows:
-
db statistics
-add -base distinguished_name
-attr {INITIAL | FINAL | CONTAINS | ANY} attr_type
[-maxbucket bucket_count]
[-maxvariance variance] |
-delete -base distinguished_name
[-attr {INITIAL | FINAL | CONTAINS | ANY} attr_type] |
-test -base distinguished_name
-attr {INITIAL | FINAL | CONTAINS | ANY} attr_type |
-create |
-update |
-list |
-dump
Options
-add
-
Adds a new specific histogram defined by its distinguished name, attribute type and attribute type index to the histogram configuration.
-delete
-
Deletes a specific histogram defined by its distinguished name, attribute type and attribute type index.
-test
Tests a specific histogram defined by its distinguished name, attribute type and attribute type index.
-create
-
Creates all configured histograms.
-update
-
Updates all configured histograms.
-list
-
Writes the actual histogram configurations into a XML file. The full pathname of the file is printed to standard output.
-dump
-
Dumps all histograms into a XML file. The full pathname of the file is printed to standard output.
-base distinguished_name
-
Specifies the distinguished name of the base of the subtree for which the histogram is configured, deleted, or tested. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a complete description of distinguished name formats.
-attr {INITIAL | FINAL | CONTAINS | ANY} attr_type
-
Specifies the attribute type index for which the histogram is configured, deleted, or tested. attr_type specify the abbreviation or the OID of the attribute type. Use the abbr show operation to determine attribute abbreviations. Specify one of the following keywords for the index:
-
INITIAL - for the initial-index
-
FINAL - for the final-index
-
CONTAINS - for the contains-index
-
ANY - for the any-index
-
See the db attrconfig operation for information about indexes and how to create them.
-maxbucket bucket_count
-
Specifies the maximum bucket number of the histogram in bucket_count. It specifies the width of the histogram.
Attribute values are grouped together according to their frequency (matches in the directory) into buckets. Buckets are composed to keep the overall variance as low as possible.
Specify a value between 100 (for a small number of different attribute values) and 800 for a large number of different attribute values). The default is 100 for the object class attribute type and 300 for all other attribute types.
The x-axis of the histogram represents the buckets. The y-axis represents the average frequencies of the values in one bucket.
For example, there are 120 Jones, 100 Smith, 8 Soeder, and 12 Zahn. Jones and Smith are grouped to bucket_1, and Soeder and Zahn are grouped to bucket_2. The average frequency is 110 for bucket_1 and 10 for bucket_2.
-maxvariance variance
-
Specifies the maximum variance of the buckets in variance that should not be exceeded.
The variance is a measure of the spread of the frequencies of the values in one bucket. Numerically, the variance equals the average of the several squared deviations from the mean.
Specify a value between 0 and 100. The default is 0 for the object class attribute type and 100 for all other attribute types.
The statistics operation manages the histograms that the DirXQue3 search engine uses to optimize search queries. Configuring and creating histograms is a requirement for performing search operations with the DirXQue3 search engine.
Use the -add option to specify the configuration data for a histogram. The -base option specifies the base of the subtree and the -attr option specifies the index for which the histogram is configured. Use the -maxbucket and the -maxvariance options to specify the histogram properties. Adding a histogram configuration is only possible if the search engine is set to IDB. (See the db dirxque3 operation for details.) After finishing histogram configuration create the histograms by performing a db statistics -create operation.
Histograms should be configured for the most frequently used attribute types in the –filter option of search operations. Use the LDAP audit log file to analyze the search requests that your applications perform. Based on this information configure histograms for following attribute indexes:
-
Configure a histogram for the INITIAL attribute type index if your applications submit search requests with an initial substring filter or equal filter, for example cn=Adam* or cn=Adams. It is recommended to configure histograms always for the object class attribute type.
-
Configure a histogram for the FINAL attribute type index if your applications submit search requests with an ends substring filter, for example cn=*worth.
-
Configure a histogram for the CONTAINS attribute type index if your applications submit search requests with a contains substring filter, for example dsc=*manager*.
-
Configure a histogram for the ANY attribute type index if you applications submit search requests with a present filter, for example cn=*.
-
It is mandatory to configure all histograms for the root DSE. All other histograms for different search bases are optionally. However it is necessary that a histogram for a search base below the root DSE is also configured for the root DSE. To get best performance it might be beneficial to create histograms for each context prefix and for very frequently used search bases below the context prefixes.
Ensure that the attribute type indexes have already been created before you configure histograms. See the db attrconfig operation how to create indexes.
Use the -delete option to delete a specific histogram. The -base option specifies the base of the subtree and the -attr option specifies the index for which the histogram is deleted. If the -attr option is omitted all histograms for the specified subtree are deleted. Deleting a histogram is only possible if the search engine is set to IDB. (See the db dirxque3 operation for details.) Perform a db statistics -update operation to apply the changes in the histogram.
Use the -create option to create all configured histograms. Creating histograms is only possible if the search engine is set to IDB. (See the db dirxque3 operation for details.) While performing the statistics –create operation the DSA is set to READONLY mode, that is all update operations are rejected. After you have created all histograms perform a db dirxque3 –setlevel DIRXQUE3 to enable search request optimization.
Use the –update option to update all configured histograms. Updating histograms is only possible if the search engine is set to IDB. (See the db dirxque3 operation for details.) While performing the statistics -update operation the DSA is set to READONLY mode, that is all update operations are rejected. The DirXQue3 search engine may start to work inefficient after several modify requests have been performed. Therefore, it is necessary to update the histograms. After you have updated all histograms perform a db dirxque3 -setlevel DIRXQUE3 to enable search request optimization.
Use the -test option to a specific histogram. The -base option specifies the base of the subtree and the -attr option specifies the index for which the histogram is tested. If the result of the test operation is that the histogram no longer matches the ratios in the database (because too many modify requests were performed) you should update your histograms by performing a db statistics -update operation to avoid that the DirXQue3 search engine works inefficient.
The test operation retrieves all attribute values for the specified attribute type, calculates their frequencies, and compares it with the histogram. The result is written to a file that lists the differences in the following order:
-
Percent difference ⇐ 1
-
Percent difference ⇐ 10
-
Percent difference ⇐ 50
-
Percent difference ⇐ 100
-
Percent difference ⇐ 500
-
Percent difference > 500
-
Average difference
The full pathname of the file is printed to standard output.
While the db statistics -create or -update command is in progress the operation mode of the DSA is POSTINDEXING. (See the dirxadm sys opmode operation for details.)
Examples
-
There are two context prefixes o=my-company and o=my-application and a total number of 4000000 entries in your database. Evaluating the LDAP audit log file provides the following information:
-
Additionally to the two context prefixes the most used search base is
ou=UserBase, o=my-application. -
Initial substring filter and equal filter are applied to the attribute types objectClass, businessCategory, description, title, cn, l and ou.
-
Contains substring filter are applied to the attribute type description, title, cn and ou.
Before configuring the histograms it is necessary to make sure that there are indexes of the applied attribute types. If not yet done perform this task with the following dirxadm db attrconfig operations:
db attrconfig ocl bc dsc tit l cn ou –optread true –index true
db attrconfig dsc tit cn ou –optread true –index true contains+ Then add the histogram configurations for the root DSE:
db statistics -add -base / -attr INITIAL ocl
db statistics -add -base / -attr INITIAL bc
db statistics -add -base / -attr INITIAL cn
db statistics -add -base / -attr INITIAL dsc
db statistics -add -base / -attr INITIAL tit
db statistics -add -base / -attr INITIAL l
db statistics -add -base / -attr INITIAL ou
db statistics -add -base / -attr CONTAINS cn
db statistics -add -base / -attr CONTAINS tit
db statistics -add -base / -attr CONTAINS ou
db statistics -add -base / -attr CONTAINS dsc+ Add the histogram configurations for the context prefixes and the subtree
ou=UserBase, o=my-applicationin the same way as you did for the root DSE:
db statistics -add -base /O=My-Company -attr INITIAL ocl
db statistics -add -base /O=My-Company+ … and so on
db statistics -add -base /O=My-Application –attr INITIAL ocl
db statistics -add -base /O=My-Application+ … and so on
db statistics -add -base /O=My-Application/OU=UserBase –attr INITIAL ocl
db statistics -add -base /O=My-Application/OU=UserBase+ … and so on
+ Create all histograms:
db statistics -create+ Finally enable the DirXQue3 search engine:
db dirxque3 –setlevel DIRXQUE3 -
-
After a while perform test operations to find out whether you should update your histograms:
db statistics –test –base / -attr INITIAL cnThe sample output is as follows:
{Result in C:\Program Files\DirX\Directory\client\log\dirxque3statisticTest3140.txt}The sample output file C:\Program Files\DirX\Directory\client\log\dirxque3statisticTest3140.txt is as follows:
{100.000 0.000 0.000 0.000 0.000 0.000 0.000}… and so on
-
The following sample command writes all histogram configurations into a XML file:
db statistics –list
The sample output is as follows:
{Result in C:\Program Files\DirX\Directory\client\log\dirxque3statisticList2000.xml}
The sample output file C:\Program Files\DirX\Directory\client\log\dirxque3statisticList2000.xml is as follows:<?xml version="1.0" encoding="ISO-8859-1"?> <DirXStatistics> <DNNode dn="" dseid="1"> <AttrNode name="objectClass" oid="2.5.4.0"> <Histogram type="Initial" selected="true" built="true"> <BuildRestriction maxBuckets="100" maxVariance="0" enforce="Variance"/> </Histogram> <Histogram type="Final" selected="false"/> <Histogram type="Contains" selected="false"/> <Histogram type="Any" selected="false"/> </AttrNode> <AttrNode name="cn" oid="2.5.4.3"> <Histogram type="Initial" selected="true" built="true"> <BuildRestriction maxBuckets="300" maxVariance="100" enforce="Space"/> </Histogram> <Histogram type="Final" selected="false"/> <Histogram type="Contains" selected="false"/> <Histogram type="Any" selected="false"/> </AttrNode> </DNNode> </DirXStatistics> -
The following sample command dumps all histograms into a XML file:
db statistics –dump
The sample output is as follows:
{Result in C:\Program Files\DirX\Directory\client\log\dirxque3statisticDump2000.xml}The sample output file C:\Program Files\DirX\Directory\client\log\dirxque3statisticDump2000.xml is as follows:
<?xml version="1.0" encoding="ISO-8859-1"?> <DirXStatistics> <DNNode dn="" dseid="1"> <LocalStat> <SubEntryCount>24</SubEntryCount> <SubEntryLength>8</SubEntryLength> <OneLevelEntryCount>6</OneLevelEntryCount> <OneLevelEntryLength>8</OneLevelEntryLength> </LocalStat> <AttrNode name="objectClass" oid="2.5.4.0"> <Histogram type="Initial" selected="true" built="true"> <BuildRestriction maxBuckets="100" maxVariance="0" enforce="Variance"/> <EntryCount>23</EntryCount> <DomainCount>15</DomainCount> <MultiValue>2</MultiValue> <Bucket> <StartValue>KwYBBAEqAhsIAgEA</StartValue> <EntryCount>1</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>KwwCiFMBAwZk</StartValue> <EntryCount>2</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>KwwCiFMBAwZl</StartValue> <EntryCount>3</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>KwwCiFMBAwZm</StartValue> <EntryCount>4</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>KwwCiFMBAwZo</StartValue> <EntryCount>5</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>KwwCiFMBAwZt</StartValue> <EntryCount>6</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>KwwCiFMBAxFk</StartValue> <EntryCount>7</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>VQYE</StartValue> <EntryCount>8</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>VQYF</StartValue> <EntryCount>10</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>VQYG</StartValue> <EntryCount>21</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>VQYH</StartValue> <EntryCount>32</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>VREA</StartValue> <EntryCount>41</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>VREB</StartValue> <EntryCount>42</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>VREC</StartValue> <EntryCount>43</EntryCount> <DomainCount>1</DomainCount> </Bucket> <Bucket> <StartValue>YIZIAYb4QgMCAgAA</StartValue> <EntryCount>53</EntryCount> <DomainCount>1</DomainCount> </Bucket> </Histogram> <Histogram type="Final" selected="false"/> <Histogram type="Contains" selected="false"/> <Histogram type="Any" selected="false"/> </AttrNode> <AttrNode name="cn" oid="2.5.4.3"> <Histogram type="Initial" selected="true" built="true"> <BuildRestriction maxBuckets="300" maxVariance="100" enforce="Space"/> <EntryCount>19</EntryCount> <DomainCount>19</DomainCount> <MultiValue>1</MultiValue> <Bucket> <StartValue>QUJFTEUA</StartValue> <EntryCount>19</EntryCount> <DomainCount>19</DomainCount> </Bucket> </Histogram> <Histogram type="Final" selected="false"/> <Histogram type="Contains" selected="false"/> <Histogram type="Any" selected="false"/> </AttrNode> </DNNode> </DirXStatistics>
dse (dirxadm)
Synopsis
[dse] bind
[-authentication auth_method]
[-host hostname]
[-port portnumber]
[-password password | -pwdfile password_file]
[-user username]
[dse] commands
[dse] create distinguished_name
attribute attribute_list
[dse] delete distinguished_name
[dse] help [operation | -verbose]
[dse] modify [distinguished_name]
[-addattr attribute_list]
[-removeattr attribute_list]
[dse] operations
[dse] search [distinguished_name]
[-allattr | -attribute abbreviation […]]
[-dsetype dsetype]
{-onelevel | -subtree}
[-pretty]
[-timeout timeout]]
[dse] show [distinguished_name]
[-allattr | -attribute abbreviation […]]
[-pretty]
Purpose
A dirxadm object that manages a DSA-specific entry (DSE) in the directory information tree. Use the dse object to manage DSA and user policies.
Arguments
distinguished_name
-
The name of a DSE to act on. Supply a DSE name as follows:
-
Complete distinguished name, in the form
/distinguished_name
For example:{/O=my-company/OU=board/CN=mueller, peter} -
Relative distinguished name, in the form
distinguished_name
This name refers to a distinguished name that is relative to the current working DSE identified in the _cwo Tcl variable. For example:
{CN=mueller peter}
is relative to the current working DSE
dirxadm> set _cwo \{O=my-company/OU=board}
/O=my-company/OU=board
dirxadm> show \{CN=mueller peter} -attr SN -p
1) /O=my-company/OU=board/CN=mueller peter
Surname: Mueller
-
See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for complete information on distinguished name format.
If no distinguished_name argument is specified, the operation acts on the current working DSE.
operation
-
The name of the dse operation for which to display help information.
Operations
dse bind
Establishes a binding between dirxadm and a DSA. The syntax is as follows:
-
[dse] bind [-authentication auth_method]
[-host hostname]
[-port portnumber]
[-password password | -pwdfile password_file ]
[-user username]
Options
-authentication auth_method
-
The authentication method to be applied. Supply one of the following keywords:
-
simple—Simple unprotected authentication
-
simple_pr1—Simple-protected authentication (password is encrypted)
-
-port portnumber
The port number of the DSA. Use the -port option only if there is a conflict with the default port number on your system. (See also environment variable DIRX_PMAP_PORT in chapter DirX Directory Environment Variables.)
-host hostname
-
The hostname or IP address of the machine hosting the DSA to be administered. The default is localhost.
-password password
-
The password associated with the user on whose behalf the bind request is being made.
-pwdfile password_file
-
The path to a file containing the password for bind (see the -password option). The password must be the only content of this file. When creating the file, the password must be specified in plain ASCII format. After the first successful reading by the application, the password is symmetrically encrypted and the file is rewritten to provide protected local storage.
-user username
-
The name of the user on whose behalf the bind request is being made. Specify the complete distinguished name of the user. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The username must be contained in the DSA as value of the DirX Directory-Administrators (DADM) attribute. This attribute is stored as an operational attribute of the root DSE. It defines the entries that the DSA will recognize as authorized users of dirxadm (see DirX Directory Syntaxes and Attributes and DirX Directory Default DSA Schema for details).
The bind operation must be performed before any other operation can be executed in dirxadm. Only the sys start operation can be performed without performing the bind operation first.
When used without options, the bind operation creates an anonymous bind to the default DSA. Administrators should normally disable anonymous binds except during the DSA bootstrapping phase.
Use the -host and/or -port options to bind to a specific DSA.
Use the -authentication option to establish a specific authentication method. If you specify simple or simple-protected authentication, you must supply the -user option and one of the following options: -password or -pwdfile. The password you supply for simple authentication is sent as clear text even if the password_file is used. The password you supply for simple-protected authentication is sent encrypted.
If the DirX Directory-Administrators attribute exists, the DSA rejects anonymous binds and binds from users not contained in the DirX Directory-Administrators attribute. If the DirX Directory-Administrators attribute does not exist, the DSA allows anonymous binds (that is everyone is able to administer the DSA). (See DirX Directory-Administrators in DirX Directory Syntaxes and Attributes for details.)
To increase security, use the DirX Directory-Administrators attribute (DADM attribute) to disable anonymous binds after bootstrapping the DSA and creating an entry that allows the administrator to log in. If it is not possible to use one of the values of the DirX Directory-Administrators attribute to bind to the DSA (because, for example, the entries or the passwords are deleted), you must reinstall DirX Directory.
If more than one bind is performed, the most recent bind is used.
dse commands
Lists all internal Tcl procedures installed with DirX Directory. The syntax is as follows:
-
[dse] commands
Use the command to list all Tcl procedures installed with DirX Directory that can be performed.
Use the [dse] help commands to display a list providing detailed information how to perform the internal procedures. (See the util (dirxadm) reference page for details about the listed procedures.)
Example
-
The following example lists all internal procedures:
dse commands
The sample command output is as follows:
create_total_ldif delete_total_ldif ldif_dump export_dbconfig import_dbconfig
-
The following example provides detailed information about all internal procedures:
dse help commands
The sample command output is as follows:
create_total_ldif [ID] [subtree] Create total LDIF-File with agreementID ‘ID’ or default agreementID ‘1111’ delete_total_ldif [ID] Delete total LDIF-Agreement with agreementID 'ID' or default agreementID '1111' ldif_dump [subtree] Perform a one-time total LDIF dump without creating an agreement export_dbconfig [filename] Write all indexed attributes to configuration file 'filename'. import_dbconfig [filename] Create attribute indices as in configuration file 'filename' described. dirximport_all [dirname] Import of LDAPSchema.ldif, DirXDBconfig.out and CONTENT- FILE(s) from the directory 'dirname'..
dse create
Creates a new DSE in the DIT. The syntax is as follows:
-
[dse] create distinguished_name
-attribute attribute_list
Options
-attribute attribute_list
-
Specifies one or more attributes to be applied to the DSE. See the DirX Directory Default DSA Schema chapter for a complete description of directory service attribute types and DirX Directory Syntaxes and Attributes for a complete description of the format of the attributes that can be specified in attribute_list.
The create operation creates a new DSA-specific entry in the directory information tree. The distinguished_name argument is the name of the DSE to be created and can be specified as a complete distinguished name or a relative distinguished name. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a complete description of distinguished name formats.
Use the -attribute option to specify the directory service attributes to be applied to the newly created DSE. Note the following when creating DSEs:
-
The DSE-type (DSET) attribute type is required. If the value of the DSET attribute type is ENTRY, SUBENTRY or ALIAS, the object class attribute type (OCL) is also required. If the value of DSET is ADM_POINT, the administrative role attribute type (AR) is also required.
-
You cannot use dirxadm to create a DSE with the DSET value ROOT (the root DSE, represented by the slash (/)). The root DSE is created during the DirX Directory installation procedure and can only be modified and displayed.
The following command creates an autonomous administrative point:
create /C=de -attr {OCL=top;c} \
DSET=ENTRY+ADM_POINT+CP \
{AR=AA}
dse delete
Deletes DSEs from the DIT. The syntax is as follows:
-
[dse] delete distinguished_name
The delete operation deletes DSA-specific entries from the directory information tree.
dse help
Returns help information about the dse object and its operations. The syntax is as follows:
-
[dse] help [operation | -verbose]
Options
-verbose
-
Displays information about the dse object.
Used without an argument or option, the help command returns brief information about each dse operation. Use the operation argument to return a description of the options associated with the operation you specify. Alternatively, you can use the -verbose option to return a description of the dse object itself.
Example
help
The command output is as follows:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dse modify
Changes the attribute values of a DSE. The syntax is as follows:
-
[dse] modify [distinguished_name]
[-addattr attribute_list]
[-removeattr attribute_list]
Options
-addattr attribute_list
-
Adds the attributes and attribute values specified in the attribute_list argument to a DSE. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of attribute type and value syntax.
-removeattr attribute_list
-
Removes the attributes and attributes values specified in the attribute_list argument from a DSE. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of attribute type and value syntax
The modify operation changes attributes and attribute values of DSEs. The distinguished_name argument specifies the DSE to modify; if no distinguished_name argument is specified, the operation acts on the current working DSE. Refer to DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a complete description of distinguished name format.
Use the -addattr option to add new attributes to a DSE or add new values to an existing attribute. The value of the -addattr option is an attribute list that describes the attributes or values to be added. Use the -removeattr option to remove existing attribute values or remove existing attributes. The value of the -removeattr option is an attribute list that describes the attributes or attribute values to be removed. The -addattr option, the -removeattr option, or both can be specified on the command line.
dse operations
Returns a list of operations that can be performed on the dse object. The syntax is as follows:
-
[dse] operations
The list of available operations is in alphabetical order except for help and operations, which are listed last.
dse search
Searches for objects. The syntax is as follows:
-
[dse] search [distinguished_name]
[-attribute abbreviation … | -allattr]
[-dsetype dsetype]
{-onelevel | -subtree}
[-pretty]
[-timeout timeout]
Options
-attribute abbreviation
-
Returns the attributes that correspond to the specified attribute abbreviations. Use the abbr show operation to determine attribute abbreviations.
-allattr
-
Shows information about all of the attributes of a DSE.
-dsetype dsetype
-
The type of DSE. dsetype can be one or more of the following keywords:
-
ALIAS - A DSE that represents an alias entry.
-
ADM_POINT - A DSE that represents an administrative point.
-
CP - A DSE that represents the context prefix of a naming context.
-
GLUE - A DSE that represents a name only. A DSA uses glue DSEs to hold the names of the superiors of the context prefixes and cross references where there is no other knowledge associated with them. You cannot assign any other DSE types to a DSE typed as GLUE.
-
IMM_SUPR - A DSE that represents an immediate superior reference, and holds a corresponding knowledge attribute.
-
NSSR - A DSE that represents a non-specific subordinate reference, and holds a corresponding knowledge attribute.
-
RHOB - A DSE that holds policy information (either administrative point or subentry information), which has been received from a superior DSA as the result of a hierarchical operational binding.
-
ROOT - Used exclusively by the DSE that represents the root of the DIT in a particular DSA.
-
SA - An additional characteristic of a subordinate reference DSE (i.e., of type SUBR), which is used to indicate that the context prefix pointed to by the reference is an alias and not a normal entry.
-
SUBENTRY - A DSE that represents a subentry.
-
SUBR - A DSE that represents a specific subordinate reference, and holds a corresponding knowledge attribute.
-
SUPR - Used to mark a root DSE that holds a knowledge attribute that represents a specific superior reference. (See the ROOT keyword.)
-
XR - A DSE that represents a cross-reference, and holds a corresponding knowledge attribute.
-
If you enter more than one dsetype, separate each keyword with a plus sign (+).
-onelevel
-
Limits the search scope to the children of the base object.
-pretty
-
Displays the results of the operation in a tabular format.
-timeout timeout
-
The operation stops after timeout seconds. The default is 180 seconds.
-subtree
-
Limits the search scope to the subtree below the base object.
The search operation searches for DSEs starting from the specified distinguished name or the current working DSE. You must specify either the -onelevel, or -subtree to define the scope of the search.
Use the -dsetype option to specify search conditions that limit the search to specified DSE types.
If you do not specify -dsetype, the search operation searches for all types of DSEs
Note that entries with a DSE type of 0, which are held by the DSA internally, are not visible with the search function. Use the show operation to examine those entries.
By default, the search operation does not search for attribute information. Use the -attribute option to return selected attribute information, or use the -allattr option to return information about all attributes.
By default, the search operation returns results as Tcl lists. Use the -pretty option to return formatted results.
dse show
Shows the contents of a DSE. The syntax is as follows:
-
[dse] show [distinguished_name]
[-allattr | -attribute abbreviation […]]
[-pretty]
Options
-allattr
-
Shows information about all of the attributes of a DSE, including user and operational attributes.
-attribute abbreviation …
-
Shows information about the attributes that correspond to the specified attribute abbreviations. Use the abbr show operation to determine attribute abbreviations.
-pretty
-
Displays the results of the operation in a tabular format.
Used without arguments or options, the show operation returns the complete distinguished name of the current working DSE.
Use the distinguished_name argument to specify a DSE; see DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name format.
You can use the -attribute option to return information about specific attributes. Alternatively, you can use the -allattr option to return information about all of the DSE’s attributes. The show operation does not return information about a DSE’s collective attributes.
By default, the results of the show operation are displayed as a Tcl list; use the -pretty option to return the results in a tabular, more readable format.
Examples
-
The following sample command displays the attributes locality and telephone number:
dse show \{/O=my-company} -attribute L TN –pThe sample command output is as follows:
1) /O=my-company Locality : Munich Telephone-Number : +49-999-1234567
-
The following sample command displays the User-Policy of the root-DSE in pretty format:
dse show / -attribute USP –p
The sample command output is as follows:
1) / User-Policy User-Subtree-Name : /C=xxx Options : CHAINING User-Policy User-Subtree-Name : / Options : MODIFY
-
The following sample command displays the User-Policy of the root-DSE:
dse show / -attribute USP
The sample command output is as follows:
/ USP={USN={/},OPT=MODIFY}
ldap (dirxadm)
Synopsis
ldap audit {-info |
-start |
-stop |
-config [LDAP_Audit_Configuration_subentry] |
-move [destination_filename]}
ldap binding [-host hostname] [-port portnumber]
ldap cache {-start |
-stop |
-clear |
-invalid |
-dump |
-dumpall |
-info}
ldap help [operation | -verbose]
ldap mib {-all |
{-static | -total | -current} [attribute_name] |
-assoc | -env |
-dump}
[-pretty]
ldap log
ldap nolog
ldap operations
ldap restart
Purpose
A dirxadm object that manages the LDAP server. It is not necessary to perform a dse bind operation before performing ldap operations. (See also chapter Setting Up an LDAP Server in the Administration Guide.)
Note that you can also use the LDAP extended operations available through the dirxextop command and the DirX Directory Manager’s Monitor view to manage and monitor the LDAP server.
Operations
ldap audit
Provides a set of operations for managing LDAP server auditing. Note that the DSA provides an own set of operations for managing DSA auditing. (See the audit (dirxadm) section in this chapter for details.) The syntax is as follows:
ldap audit \{-info |
_ -start _|
_ -stop _|
_ -config [_LDAP_Audit_Configuration_subentry] |
-move [destination_filename]}
Options
-info
-
Displays current audit status and configuration.
-start
-
Starts the recording of LDAP server audit information using the most recently read values of the LDAP audit configuration subentry. This operation has no effect on the value of the LDAP Audit On attribute of the LDAP audit configuration subentry that is evaluated at LDAP server’s start-up time and when you perform an ldap audit –config operation.
-stop
-
Stops the recording of LDAP server audit information. This operation has no effect on the value of the LDAP Audit On attribute of the LDAP audit configuration subentry that is evaluated at LDAP server’s start-up time and when you perform an ldap audit –config operation.
-config [LDAP_Audit_Configuration_subentry]
-
Forces the LDAP server to re-read the LDAP server audit configuration subentry. LDAP_Audit_Configuration_subentry specifies the name of the LDAP server audit configuration subentry to be read. Auditing is continued using the audit control values read from the specified subentry. If an LDAP server audit configuration subentry name is not specified, the LDAP server re-reads the subentry that is currently in use. If the LDAP server read operation of the LDAP audit configuration subentry fails, for example, because an invalid subentry name was specified, default values are used. (See section Attributes for LDAP Server Audit Configuration of chapter DirX Directory Attributes in DirX Directory Syntaxes and Attributes for details on the LDAP server audit configuration subentry and the default values.) The LDAP client connections are not affected.
-move [destination_filename]
-
Moves the audit file currently in use to another location and/or name. destination_filename is the full path name of the new file. If destination_filename is omitted, the audit file currently in use is renamed by appending the current UTC time in ZULU format and a counter from 000 to 999; for example
audit.log.20010510104511Z_001.
The audit operation controls LDAP server auditing. Use the ldap audit -start command to enable LDAP server auditing. If auditing has already been enabled, issuing the ldap audit -start command has no effect. If LDAP auditing has been disabled, the ldap audit -start command:
-
closes any audit file that already exists and renames it by appending the current UTC time in ZULU format and a counter from 000 to 999; for example audit.log.20010510104511Z_001
-
creates a new audit file
The audit -start operation displays a message that indicates whether or not it was able to start LDAP server auditing. If startup is successful, the operation also displays the full pathname of the new audit file.
Use the ldap audit -stop command to disable LDAP server auditing. The operation closes the audit file that is currently in use and renames it by appending the current UTC time in ZULU format and a counter from 000 to 999, for example audit.log.20010510104511Z_001. Use the dirxauddecode command to evaluate this file.
Use the ldap audit -config command to set LDAP server auditing functions to the values in an LDAP server audit configuration subentry. See the section Attributes for LDAP Server Audit Configuration of chapter DirX Directory Attributes in DirX Directory Syntaxes and Attributes for details on the LDAP server audit configuration subentry and the default values.
The LDAP Audit Log File
When LDAP server auditing is enabled, audit information is collected in the file named audit.log. (For Linux systems: Read and Write permissions are assigned to the file’s owner and group.) Use the ldap audit -move command to rename and save the file. When auditing continues, the file audit.log is re-created and used to store audit information.
Use the destination_filename option of the ldap audit -move command to specify a new name for the file. Without this option the file is renamed to audit.log.*date**_nnn, where date is the current UTC time in ZULU format in the form YYYYMMDDhhmmssZ and nnn is a counter from 000 to 999, for example *audit.log.20010510104511Z_001. Use the dirxauddecode command to evaluate this file.
LDAP audit.log File Contents
The audit.log file contains one entry with general information (header information) on the audit file, an entry for each operation that occurs, and summary information. As produced by the ldap audit command the audit.log file contains records in binary format. Use the dirxauddecode command to display the contents of the log file and convert them to a form that can be read and manipulated. Use the dirxaudstatistics command to evaluate multiple audit log files.
The audit.log file general information (header) includes:
-
The command line.
-
The audit version.
-
The input file.
-
The output file.
-
The audit start time.
-
The audit end time.
-
The content type (always LDAP).
-
Evaluation-specific information, for example audit level, filtered user, or audit encryption.
-
The LDAP port.
-
The host.
-
Additional server specific information (similar to the information provided in the LDAP MIB static table).
Here is an example for some header information:
################# DIR.X AUDIT TRAIL (c) Eviden ################################ Cmd-Line: -i audit.log -vv -a ldap_audit.txt ================================================================================= Audit File # :1 Input File :audit.log Output File :ldap_audit.txt Audit Version :8.8 Server UUID :8360a2ac-b7e2-407a-aca9-0450d9e98ec9 Audit Start Time (local) :Thu Nov 29 10:25:50 2012 Audit Start Time (GMT) :Thu Nov 29 09:25:50 2012 Audit Close Time (local) :not closed (still in use!) Content Type :LDAP OpSelection :all OpErrors :yes Audit Level :max Audit Encryption :none Overflow Action: :wrap around (default) Max Records per File :10000 Value Limit :256 DB Master-Entries :0 DB Copy-Entries :1573 ...
The audit.log file information for each entry includes:
-
The create, start, and end time of the operation.
-
The concurrency of the operation.
-
The operation duration.
-
The user and the IP address of the user.
-
The operation name.
-
The operation type.
-
The protocol version used (2 or 3).
-
The message identifier.
-
Number of bytes received and sent.
-
Operation’s result code.
-
Additional operation-specific information, for example input parameters.
Here is an example for a bind and a search operation:
----------------- OPERATION 000031 ----------------
Create Time :Thu Nov 29 10:38:00.908999 2012
Start Time :Thu Nov 29 10:38:00.908999 2012
End Time :Thu Nov 29 10:38:00.986999 2012
PoolThread# :28 (0x15bc)
OpUUID :6c940e2c-8969-427e-aaf4-cb772088291f
Concurrency :1
OpStackSize :1
OpFlow In/Out :0/0
Duration :0.078000 sec
LDAP QTime :0.000000 sec
LDAP Prep Time:0.000000 sec
LDAP Resp Time:0.000000 sec
LDAP Snd Time:0.000000 sec (1 Calls, 0 Wouldblocks, WouldblockTime:0.000000 sec)
LDAP Enc Time:0.000000 sec
API Time :0.078000 sec
API-Send :0.000000 sec
API-ICOM Wait :0.062999 sec
IDM Time :0.062999 sec
DSA Time :0.000000 sec
API-Recv :0.015000 sec
API-Dec :0.000000 sec
User :cn=admin,o=my-company
IP+Port+Sd :[127.0.0.1]+4709+556
Op-Name :LDAP_Con2_Op0
UniqueOpID :31
Operation :BIND
Version :3
MessageID :1
Bind-Type :simple
Security :normal
DAP-Share-Count:1
Bytes Received :39
Bytes Returned :29
Socket I/O :plain
Abandoned :no
Result Code :0 (success)
Error Message :Bind succeeded.
----------------- OPERATION 000032 ----------------
Create Time :Thu Nov 29 10:38:07.190000 2012
Start Time :Thu Nov 29 10:38:07.190000 2012
End Time :Thu Nov 29 10:38:07.392999 2012
PoolThread# :30 (0x1460)
OpUUID :e792d1c7-7090-483d-b759-ae8afadfefbc
Concurrency :1
OpStackSize :1
OpFlow In/Out :0/0
Duration :0.202999 sec
LDAP QTime :0.000000 sec
LDAP Prep Time:0.000000 sec
LDAP Resp Time:0.000000 sec
LDAP Snd Time:0.000000 sec (17 Calls, 0 Wouldblocks, WouldblockTime:0.000000 sec)
LDAP Enc Time:0.000000 sec
API Time :0.202999 sec
API-Send :0.000000 sec
API-ICOM Wait :0.202999 sec
IDM Time :0.015999 sec
DSA Time :0.187000 sec
API-Recv :0.000000 sec
API-Dec :0.000000 sec
User :cn=admin,o=my-company
IP+Port+Sd :[127.0.0.1]+4709+556
Op-Name :LDAP_Con2_Op1
UniqueOpID :32
Operation :SEARCH
Version :3
MessageID :2
Base Obj :o=My-Company
Scope :subtree
Filter :(cn=ANY(bel))
Size Limit :0
Time Limit :0
Deref Alias :always
Types Only :no
Req Attr # :1
Req Attr :1.1 (no attributes)
Found Entries :16
Found Attrs :0
Found Values :0
Op Ctx Size :114688 Bytes
API Ctx Size :81920 Bytes
All Ctx Size :8 MB
Bytes Received :56
Bytes Returned :992
Socket I/O :plain
Cached Result :no
Abandoned :no
Result Code :0 (success)
Error Message :Search succeeded. Found 16 Entries (0 Aliases), 0 Attributes, 0 Values.
(ChainedResult=no)
The audit.log file summary information includes:
-
The total number of records processed.
-
The total number of operations.
-
The number of bytes received and sent.
-
The number of operations that performed successfully.
-
The number of operations that failed.
-
The number of abandoned operations.
-
The number of search results of specific sizes.
-
The number of entries, attributes, and values found.
-
The duration of operations.
-
The concurrency of operations.
-
Operation specific statitics providing for example information about number, success, average duration, maximum duration.
-
Result statitics, for example 35 times success.
-
The top durations.
Here is an example for summary information:
=================================================================================
LDAP Audit Summary:
Records Processed : 39
Total Ops Written : 39
Out-Of-Time Ops : 0
Ldap Bytes In : 9906
Ldap Bytes Out : 940342
Successful Ops : 35
Failed Ops : 4
Abandoned Ops : 3
SrchRes 0kB-1kB : 19
SrchRes 1kB-10kB : 4
SrchRes 10kB-100kB: 2
SrchRes 100kB-1MB : 1
SrchRes > 1MB : 0
Srch Scope Base : 12
Srch Scope Onelvl : 11
Srch Scope Subtree: 3
Paged Searches : 11
Found Entries : 362
Found Attributes : 253
Found Values : 873
Log Time : 337 sec
Avrg Traffic : 0.1 Ops/sec
Duration 0-1ms : 10 Ops
Duration 1-10ms : 0 Ops
Duration 10-100ms : 19 Ops
Duration 100ms-1s : 4 Ops
Duration >1s : 6 Ops
Duration Max : 7.201999 sec (Op# 000010)
Concurrency Max : 3 (1 times) (Op# 000013)
Avrg Concurrency : 1
Op Statistics : tot | ok | err | % | t Avrg | t Max | t
Min | Std-Dev
Binds : 4 | 4 | 0 | 10.3 | 0.074250 sec | 0.218999 sec | 0.000000
sec | 0.103267
Searches : 26 | 26 | 0 | 66.7 | 0.544346 sec | 7.201999 sec | 0.000000
sec | 1.562088
Modifys : 1 | 1 | 0 | 2.6 | 0.062000 sec | 0.062000 sec | 0.062000
sec | 0.000000
Unbinds : 2 | 2 | 0 | 5.1 | 0.000000 sec | 0.000000 sec | 0.000000
sec | 0.000000
Abandons : 3 | 0 | 3 | 7.7 | 2.109000 sec | 2.796000 sec | 1.358999
sec | 0.720569
Ext Ops : 2 | 2 | 0 | 5.1 | 0.023500 sec | 0.030999 sec | 0.016000
sec | 0.010606
Unknowns : 1 | 0 | 1 | 2.6 | 0.000000 sec | 0.000000 sec | 0.000000
sec | 0.000000
Error/ResultCode Statistics:
35 times success (0).
3 times other (80).
1 times unexpectedSocketCloseByClient (97).
Top 100 Durations:
Duration CreateTime EndTime Op# CC Type/Info
0.281000 | 10:35:19.862999 | 10:35:20.143999 | 000003 | 1 | SEARCH
(objectclass=subschema)
0.265000 | 10:38:23.766999 | 10:38:24.031999 | 000034 | 1 | SEARCH
(UserCertificate:2.5.13.34:=30$cn=admin,o=pqrupmann02)
0.218999 | 10:35:19.581000 | 10:35:19.799999 | 000001 | 1 | BIND
cn=admin,o=my-company
0.202999 | 10:38:07.190000 | 10:38:07.392999 | 000032 | 1 | SEARCH
...
Examples
-
The following sample command displays current LDAP audit status and configuration:
ldap audit –info
The output of the sample command is as follows:
{ ==================== LDAP Audit Info =========================== Server : DirX Directory V8.2 B 8.8.103 2012:12:05 20:10 32-Bit Copyright (c) 2012 Eviden Hostname : xyz.net Current Local Time: Mon Dec 10 11:26:14 2012 Status : ON Audit Version : 8.8 Destination File : C:\Program Files\DirX\Directory\ldap\audit\ldapConfiguration\audit.log Audited Bytes : 5400 Record Limit : 50000 records Max File Size : 256 MB Records in File : 0 records Overall Records : 0 records Overflow Policy : multiWrap Max Wrap Files : 4 Next Wrap File : audit.log.4948.01 Wrap Count : 0 Move Count : 0 Detail Level : max Value Limit : 128 Op Selection : none (errors included) Buffer Size : 0 Start Time : none Stop Time : none Cron Job : no unlink() errors : 0 rename() errors : 0 Encryption : none SessTracking : on SessTrackingLen : 64 } -
The following sample command starts LDAP auditing:
ldap audit -start
The output of the sample command is as follows:
LDAP Audit started. Destination File : C:\Program Files\DirX\Directory\ldap\audit\ldapConfiguration\audit.log
-
The following sample command stops LDAP auditing:
ldap audit –stop
The output of the sample command is as follows:
LDAP Audit stopped.
-
The following sample command enables the configuration settings of the LDAP audit configuration subentry with the name ldapAudit2:
ldap audit –config ldapAudit2
The output of the sample command is as follows:
Audit file successfully closed+renamed. New audit configuration successfully read from subentry:ldapAudit2. New audit file successfully opened. Audit is ON.
-
The following sample command moves the audit file currently in use (install_path/ldap/audit/audit.log) to install_path/ldap/audit/audit.log.20010510104511Z_001 using the default rules for renaming:
ldap audit -move
The output of the sample command is as follows:
Audit file successfully moved. New audit file successfully created.
-
The following sample move command fails:
ldap audit –move /opt/dirx/foo/aud.log
The output of the sample command is as follows:
ERROR! Failed to move audit file (No such file or directory).
ldap binding
Specifies the LDAP server to be administered. This operation must be performed when administering an additional LDAP server or a remote LDAP server. To administer a remote LDAP server the -host option must be specified. (See also environment variable DIRX_ADDITIONAL_LDAP_SERVERS in chapter DirX Directory Environment Variables and section Setting Up Multiple LDAP Servers in the Administration Guide.) The syntax is as follows:
-
ldap binding [-host hostname] [-port portnumber]
Options
-host hostname
-
The hostname or IP address of the machine hosting the LDAP server to be administered. The default is localhost.
-port portnumber
-
The RPC port number of the LDAP server. If you have established additional LDAP servers you must specify here the proper RPC port from the DIRX_ADDITIONAL_LDAP_SERVERS environment variable. (See also environment variable DIRX_LDAP_PMAP_PORT in chapter DirX Directory Environment Variables.)
ldap cache
Provides a set of operations for dynamic administration of the LDAP cache independent of the settings in the LDAP server configuration subentry. The syntax is as follows:
-
ldap cache {-start |
-stop |
-clear |
-invalid |
-dump |
-dumpall |
-info}
Options
-start
-
Starts caching of LDAP search results. All subsequent LDAP search operations query the LDAP cache first. The request is only directed to the DSA if the search result cannot be found in the LDAP cache.
-stop
-
Stops caching of LDAP search results. All subsequent LDAP search operations are directed to the DSA.
-clear
-
Clears the LDAP cache immediately. All LDAP search results are removed from the cache.
-invalid
-
Sets the status of all LDAP search results in the cache to invalid without removing them. This operation is used by the DSA to notify database modifications.
-dump
-
Dumps configuration information, statistical information, and all saved results in internal cache format to the file install_path*/ldap/log/cache*process_id*.txt* where process_id is the process ID of the LDAP server. In the event that the file already exists it is overwritten.
-dumpall
-
Dumps configuration information, statistical information, and all saved results in full readable format to the file install_path*/ldap/log/cache*process_id*.txt* where process_id is the process ID of the LDAP server. In the event that the file already exists it is overwritten.
-info
-
Displays configuration information and statistical information.
Examples
-
The following command enables the LDAP cache:
ldap cache –start
-
The following command disables the LDAP cache:
ldap cache –stop
-
The following command removes all LDAP search results from the LDAP cache:
ldap cache –clear
-
The following command sets the status of the content of the LDAP cache to invalid:
ldap cache –invalid
-
The following command generates an informal dump of the LDAP cache content:
ldap cache –info
The command output is as follows:
==================== LDAP Cache Info =========================== HostName : host1.my-company.net name of the host machine Current Local Time: Fri Mar 07 14:58:40 2008 current time Cache Table Size : 4096 size of the internal hash table to store the results Min Cache Time : 0 sec. min time a result remains in the cache Max Cache Time : 86400 sec. max time a result remains in the cache Min Cached Entries: 0 min # of entries a result must have to be cached Max Cached Entries: 2000 max # of entries a result may have to be cached Min Cached Attrs : 0 min # of attributes a result must have to be cached Max Cached Attrs : 2200 max # of attributes a result may have to be cached Min Cached Values : 0 min # of values a result must have to be cached Max Cached Values : 5000 max # of values a result may have to be cached Max Cached Results: 10000 may # of results in cache Max Cache Size : 13 MB max memory usage for entire cache Case Sensitive : no whether request params are handled case sensitive Update Strategy : DN/Scope+Attributes type of strategy applied when modifications + happen Thread Pool Size : 32 # of started pool threads Pool Threads Idle : 32 # of pool threads waiting for requests OpStack Size : 1 # requests enqueued for processing Cache-Status : ON (valid) main status of cache content ----------------------------------------------------------- Cached Results : 1520 total # of results currently in cache Cached Entries : 3040 total # of entries (across all results) Memory Used : 13312 KB memory currently in use by cache Cache-Tries : 2095 # of LDAP searches that tried to find the + result in the cache Cache-Hits : 314 (Ratio: 14 %) # of LDAP searches that found their + result in the cache Cache-Fails : 1781 # of LDAP searches that failed to find their + result in the cache Results in use : 0 # of results in use by a pool thread + (in return to client) Results outdated : 0 # of results that were in use while they + should be removed by a modification operation Saving Time : 9.496483 sec time saved by avoiding querying the DSA Update Costs : 0.000000 sec time wasted by performing updates to the + result cache Cache Timer Count : 0 counts how many times the time-driven cache + updater-thread was running + (max-cache-time handler) Last Cache Timer : never timestamp of last cache updater run Last Cache Timer Removed : 0 # of results removed by last cache updater run Last Cache Timer Inuse : 0 # of results that could not be removed because + they were in use in last updater run Last Cache Timer Young : 0 # of results that could not be removed because + they were too young in last updater run Last Add Time : Fri Mar 7 14:58:39.911016 2008 timestamp of last + addition to cache Last Hit Time : Fri Mar 7 14:58:40.116437 2008 timestamp of last hit Last SelUpd Time : never timestamp of last selective update to the + results in cache Last Add : (idx:1041,key:302826513) index and key of last added + result Last Hit : (idx:3668,key:1315683924) index and key of last hit Oldest Result : 7.451905 sec. (idx:2662,key:1640270438) age, index and + key of oldest stored result in cache Newest Result : 1.303702 sec. (idx:1041,key:302826513) age, index and + key of newest stored result in cache Biggest Result : 8 KB. (idx:7,key:786763783) largest single result + stored Results Size 0-2kB : 0 # of results in the range 0-2kB Results Size 2-10kB : 1520 # of results in the range 2-10kB Results Size 10-100kB : 0 # of results in the range 10-100kB Results Size 100-1000kB : 0 # of results in the range 100kB-1MB Results Size >1MB : 0 # of results larger than 1MB Scope Base, One, Sub : 0, 0, 1520 # of results for queries with scope + baselevel, onelevel and subtree Min Hit : 0 (idx=1214) lowest hit count of any result + (only 1st is listed) Max Hit : 3 (idx=1) highest hit count of any result + (only 1st is listed) Lowest SeqNo : 1 lowest internal seqNo of any result Max Chain Len : 4 longest linked list used for storing results + (less is better) Chain Len 0: 2819 # of results stored in linked lists of length N Chain Len 1: 1067 Chain Len 2: 178 Chain Len 3: 31 Chain Len 4: 1 Total Search Count : 2095 # of searches performed in the cache Total Add Count : 1781 # of elements ever added to the cache Long Term Ratio : 14 % hit ration since server start (across resets) UpdateStackSize : 0 # of cache updates enqueued for processing + (RPC updates from DSA) UpdateStackHWM : 0 high-water-mark of cache update stack Total Key Collisions : 0 # of results that led to hash key collision + (not stored) Total Rejected Adds : 261 # of results that were not cached because of + the following reasons ReqErrors : 0 -> result was an error KeyErrors : 0 -> no legal hashkey could be calculated PPO Attrs : 0 -> request contained password policy relevant + attributes NotCacheable : 0 # of results that were marked as not-cacheable by + the DSA for one of the follwoing reasons Chaining : 0 -> result contains entries from other DSA + (chaining involved) Alias : 0 -> result was built vial aliases NumSubAttr : 0 -> result contains number-of-subordinate + attributes CriticalControl : 0 # of results not cached because request contained + critical controls (e.g. simple paging) NoDAPSearchResult : 0 # of results with no DAP result MaxResultLimit : 0 # of results not cached because max limit was + exceeded TooLessEntries : 0 # of results not cached because they contained too + less entries TooMuchEntries : 0 # of results not cached because they contained too + many entries TooLessAttrs : 0 # of results not cached because they contained too + less attributes TooMuchAttrs : 0 # of results not cached because they contained too + many attributes TooLessValues : 0 # of results not cached because they contained too + less values TooMuchValues : 0 # of results not cached because they contained too + many values SameKeyInUse : 0 # results not cached because the same hashkey was + in use CtxError : 0 # results not cached because of out-of-memory + errors MaxCacheSizeExceeded : 261 # results not cached because they would exceed the + max mem size limit Total Remove All Calls : 0 # of entire cleanup calls (e.g. after schema has + changed) Total Remove Sel Calls RPC : 0 # of selective cache update calls received from + DSA Total Remove Sel Calls LDAP: 0 # of selective cache update calls initiated by + LDAPServer Total Remove Min Calls : 0 # of calls to remove results with minimum hits Total Remove Old Calls : 0 # of calls to remove old results (used by cache + update timer) Total Invalid Calls : 0 # of calls that have invalidated the entire + content Total Non-Cacheable Results: 0 # of non cacheable results Total Out-Of-Bounds Results: 0 # of results not cached because too many/too less + items Total Sel-Del Results : 0 # of results that were deleted by selective + updates Total LDAP TCP Bytes In : 112 KB # of bytes received from LDAP clients Total LDAP TCP Bytes Out : 1858 KB # of bytes sent back to LDAP clients ----------------------------------------------------------- -
The following command generates dump of the total LDAP cache content in internal cache format:
ldap cache –dump
The command output is as follows:
================ Cache Info (RPC-CacheDump) ==================== Hostname: john02 Current Local Time: Thu Jun 17 09:47:08 2004 Cache Table Size: 4096 Min Cache Time: 0 sec. Max Cache Time: 43200 sec. Min Cached Entries: 0 Max Cached Entries: 2000 Min Cached Attrs : 0 Max Cached Attrs : 2200 Min Cached Values : 0 Max Cached Values : 2500 Max Cached Results: 10000 Case Sensitive : no Update Strategy: DN/Scope+Attributes Thread Pool Size: 32 Pool Threads Idle: 32 OpStack Size: 0 Cache-Status: ON (valid) [idx:count:tries:hits]+(key,version,hits,entries,inusecount,seqno,size)+... ---------------------------------------------------------------- [4:1:2:1]+(2006376452,2,1,2,0,1718,4) [7:1:3:2]+(786763783,2,2,2,0,874,4) [10:1:3:2]+(3284357130,2,2,2,0,1042,4) [16:1:3:2]+(3152842768,2,2,2,0,1612,4) [23:1:3:2]+(3538710551,2,2,2,0,442,4) [27:1:2:1]+(4252475419,2,1,2,0,1776,4) [29:2:5:3]+(3152060445,2,1,2,0,1207,4)+(3867717661,2,2,2,0,71,4) [31:1:3:2]+(3911106591,2,2,2,0,590,4) [37:2:5:3]+(1924628517,2,2,2,0,1249,4)+(1759916069,2,1,2,0,1008,4) [38:1:2:1]+(2582659110,2,1,2,0,1053,4) [42:1:3:2]+(1607364650,2,2,2,0,606,4) [47:1:3:2]+(63844399,2,2,2,0,1459,4) [51:1:3:2]+(1143046195,2,2,2,0,296,4) [57:1:2:1]+(3718492217,2,1,2,0,717,4) [60:1:3:2]+(2639933500,2,2,2,0,1090,4) [64:1:3:2]+(1072439360,2,2,2,0,1134,4) [71:1:2:1]+(2103390279,2,1,2,0,1278,4) [74:1:2:1]+(740675658,2,1,2,0,1499,4) [76:1:3:2]+(3154894924,2,2,2,0,945,4) [78:1:3:2]+(873377870,2,2,2,0,17,4) [80:1:3:2]+(2572693584,2,2,2,0,158,4) [81:1:2:1]+(1075593297,2,1,2,0,470,4) [84:1:3:2]+(4090605652,2,2,2,0,1268,4) [85:1:2:1]+(2178023509,2,1,2,0,400,4) [87:1:2:1]+(3610521687,2,1,2,0,1437,4) [90:1:2:1]+(351764570,2,1,2,0,1409,4) [98:3:8:5]+(898678882,2,2,2,0,890,4)+(1089175650,2,1,2,0,545,4)+(207970402,2,2,2,0,415,4) [102:2:6:4]+(475557990,2,2,2,0,1198,4)+(617570406,2,2,2,0,444,4) [107:1:2:1]+(1042862187,2,1,2,0,1610,4) [111:1:3:2]+(3295166575,2,2,2,0,423,4) [112:2:5:3]+(297373808,2,1,2,0,1571,4)+(2887319664,2,2,2,0,1168,4) [116:1:3:2]+(3838820468,2,2,2,0,722,4) [117:1:3:2]+(3597672565,2,2,2,0,561,4) [122:1:3:2]+(887083130,2,2,2,0,280,4) ..... ..... [4083:1:2:1]+(2893672435,2,1,2,0,957,4) [4084:2:5:3]+(4102500340,2,1,2,0,1251,4)+(287105012,2,2,2,0,295,4) [4088:1:2:1]+(2683502584,2,1,2,0,1086,4) [4090:1:3:2]+(3455864826,2,2,2,0,410,4) [4091:1:3:2]+(2929549307,2,2,2,0,1563,4) [4092:1:2:1]+(3788476412,2,1,2,0,1096,4) [4093:1:2:1]+(261189629,2,1,2,0,446,4) [4094:2:5:3]+(3725135870,2,2,2,0,1580,4)+(492785662,2,1,2,0,1374,4) [4095:1:3:2]+(1471160319,2,2,2,0,887,4) ------------------------------------------------------- Cached Results : 1782 Cached Entries : 3564 Memory Used : 8088 KB Cache-Tries: 4969 Cache-Hits : 3187 (Ratio: 64 %) Cache-Fails: 1782 Results in use : 0 Results outdated : 0 Last Add Time: Thu Jun 17 09:43:48 2004 Last Add : (idx:1582,key:2666776110) Last Hit : (idx:1309,key:2315064605) Oldest Result: 567 sec. (idx:3074,key:2029218818) Newest Result: 200 sec. (idx:27,key:4252475419) Biggest Result: 4 KB. (idx:4,key:2006376452) Results Size 0-2kB : 0 Results Size 2-10kB : 1782 Results Size 10-100kB : 0 Results Size 100-1000kB: 0 Results Size >1MB : 0 Min Hit: 0 (idx=1) Max Hit: 7 (idx=1) Lowest SeqNo: 1 Scope Base, One, Sub : 1, 0, 1781 Max Chain Len: 4 Chain Len 0: 2641 Chain Len 1: 1178 Chain Len 2: 230 Chain Len 3: 44 Chain Len 4: 3 Total Search Count: 4969 Total Add Count: 1782 Long Term Ratio : 64 % Total Remove All Calls : 0 Total Remove Sel Calls RPC : 0 Total Remove Sel Calls LDAP: 0 Total Remove Min Calls : 0 Total Remove Old Calls : 0 Total Invalid Calls : 0 Total Non-Cacheable Results: 0 Total Out-Of-Bounds Results: 0 Total Sel-Del Results : 0 Total LDAP TCP Bytes In : 265 KB Total LDAP TCP Bytes Out : 4406 KB =======================================================
-
The following command generates a detailed dump of the total LDAP cache content:
ldap cache –dumpall
The command output is as follows:
==================== Cache Info (RPC-CacheDumpAll) =========================== Hostname: john02 Current Local Time: Thu Jun 17 09:49:22 2004 Cache Table Size: 4096 Min Cache Time: 0 sec. Max Cache Time: 43200 sec. Min Cached Entries: 0 Max Cached Entries: 2000 Min Cached Attrs : 0 Max Cached Attrs : 2200 Min Cached Values : 0 Max Cached Values : 2500 Max Cached Results: 10000 Case Sensitive : no Update Strategy: DN/Scope+Attributes Thread Pool Size: 32 Pool Threads Idle: 32 OpStack Size: 0 Cache-Status: ON (valid) ---------------------------------------------------------------- Slot: [idx=4,count=1,tries=2,hits=1] ++++++++++++++++++ Result #1 +++++++++++++++++++ key:2006376452 keystr:<CN=ONIDA FERLAND, OU=PRODUCT DEVELOPMENT, O=My-Company>O=My-Company:V2:2:0:0:0:(UID=TILDIE_BULMANIS) rdncount:1 baseObjRDN(1): 31 80 30 80 06 03 55 04 0a 13 03 70 71 72 00 00 : 1.0...U....pqr.. 00 00 : .. allattr:yes scope:subtree version:2 hits:1 creattime:Thu Jun 17 09:43:47 2004 age:335 sec. outdated:no seqno:1718 size:4 KB entries:1 inusecount:0 --- #1 (Entry) --- messageID:196 objectName:cn=Tildie Bulmanis,ou=McJahn2,o=my-company objectClass:top,person,organizationalPerson,inetOrgPerson cn:Tildie Bulmanis sn:Bulmanis l:Cambridge ou:McJahn2 title:Associate McJahn2 Consultant description:This is Tildie Bulmanis's description postalAddress:my-company$McJahn2$Dept # 298 telephoneNumber:+1 303 683-1849 facsimileTelephoneNumber:+1 408 683-5109 givenName:Tildie initials:T. B. userPassword:sinamluBei mail:Tildie_Bulmanis@my-company.com carLicense:SZWI92O departmentNumber:7513 employeeType:Employee homePhone:+1 206 442-4655 manager:cn=Levent Robins mobile:+1 804 587-6490 pager:+1 71 968-5331 roomNumber:4315 secretary:cn=Brear Elhamahmy uid:Tildie_Bulmanis collectiveTelephoneNumber:+12 34 567 0 --- #2 (ResultCode) --- messageID:196 resultCode:0 errorMessage:Search operation succeeded ++++++++++++++++++++++++++++++++++++++++++++++++ Slot: [idx=7,count=1,tries=3,hits=2] ++++++++++++++++++ Result #1 +++++++++++++++++++ key:786763783 keystr:<CN=KAT MITALAS, OU=PRODUCT TESTING, O=My-Company>O=My-Company:V2:2:0:0:0:(UID=FANCY_CADZOW) rdncount:1 baseObjRDN(1): 31 80 30 80 06 03 55 04 0a 13 03 70 71 72 00 00 : 1.0...U....pqr.. 00 00 : .. allattr:yes scope:subtree version:2 hits:2 creattime:Thu Jun 17 09:43:40 2004 age:342 sec. outdated:no seqno:874 size:4 KB entries:1 inusecount:0 --- #1 (Entry) --- messageID:99 objectName:cn=Fancy Cadzow,ou=Product Testing,o=my-company objectClass:top,person,organizationalPerson,inetOrgPerson cn:Fancy Cadzow sn:Cadzow l:San Francisco ou:Product Testing title:Master Product Testing Fellow description:This is Fancy Cadzow's description postalAddress:my-company$Product Testing$Dept # 177 telephoneNumber:+1 213 344-4751 facsimileTelephoneNumber:+1 71 944-1379 givenName:Fancy initials:F. C. userPassword:wozdaCycna mail:Fancy_Cadzow@my-company.com carLicense:NOTKMH9 departmentNumber:7054 employeeType:Employee homePhone:+1 408 735-8563 manager:cn=Aurea Ruel mobile:+1 71 337-4872 pager:+1 408 426-7911 roomNumber:6845 secretary:cn=Rhianon Loghry uid:Fancy_Cadzow collectiveTelephoneNumber:+12 34 567 0 --- #2 (ResultCode) --- messageID:99 resultCode:0 errorMessage:Search operation succeeded ...... ...... ++++++++++++++++++++++++++++++++++++++++++++++++ Slot: [idx=4095,count=1,tries=3,hits=2] ++++++++++++++++++ Result #1 +++++++++++++++++++ key:1471160319 keystr:<CN=SALINA DELF, OU=HUMAN RESOURCES, O=MY-COMPANY>O=MY-COMPANY:V2:2:0:0:0:(UID=NEENA_CHYTIL) rdncount:1 baseObjRDN(1): 31 80 30 80 06 03 55 04 0a 13 03 70 71 72 00 00 : 1.0...U....pqr.. 00 00 : .. allattr:yes scope:subtree version:2 hits:2 creattime:Thu Jun 17 09:43:40 2004 age:342 sec. outdated:no seqno:887 size:4 KB entries:1 inusecount:0 --- #1 (Entry) --- messageID:104 objectName:cn=Neena Chytil,ou=Product Testing,o=my-company objectClass:top,person,organizationalPerson,inetOrgPerson cn:Neena Chytil sn:Chytil l:Redwood Shores ou:Product Testing title:Master Product Testing Developer description:This is Neena Chytil's description postalAddress:my-company$Product Testing$Dept # 103 telephoneNumber:+1 206 783-8159 facsimileTelephoneNumber:+1 415 548-4802 givenName:Neena initials:N. C. userPassword:lityhCanee mail:Neena_Chytil@my-company.com carLicense:YL6YTUW departmentNumber:8434 employeeType:Employee homePhone:+1 408 325-6557 manager:cn=Sandra Janes mobile:+1 213 704-9995 pager:+1 510 391-4958 roomNumber:1949 secretary:cn=Jagjit Appleyard uid:Neena_Chytil collectiveTelephoneNumber:+12 34 567 0 --- #2 (ResultCode) --- messageID:104 resultCode:0 errorMessage:Search operation succeeded ++++++++++++++++++++++++++++++++++++++++++++++++ ------------------------------------------------------- Cached Results : 1782 Cached Entries : 3564 Memory Used : 8088 KB Cache-Tries: 4969 Cache-Hits : 3187 (Ratio: 64 %) Cache-Fails: 1782 Results in use : 0 Results outdated : 0 Last Add Time: Thu Jun 17 09:43:48 2004 Last Add : (idx:1582,key:2666776110) Last Hit : (idx:1309,key:2315064605) Oldest Result: 701 sec. (idx:3074,key:2029218818) Newest Result: 334 sec. (idx:27,key:4252475419) Biggest Result: 4 KB. (idx:4,key:2006376452) Results Size 0-2kB : 0 Results Size 2-10kB : 0 Results Size 10-100kB : 0 Results Size 100-1000kB: 0 Results Size >1MB : 0 Min Hit: 0 (idx=1) Max Hit: 7 (idx=1) Lowest SeqNo: 1 Scope Base, One, Sub : 0, 0, 0 Max Chain Len: 4 Chain Len 0: 2641 Chain Len 1: 1178 Chain Len 2: 230 Chain Len 3: 44 Chain Len 4: 3 Total Search Count: 4969 Total Add Count: 1782 Long Term Ratio : 64 % Total Remove All Calls : 0 Total Remove Sel Calls RPC : 0 Total Remove Sel Calls LDAP: 0 Total Remove Min Calls : 0 Total Remove Old Calls : 0 Total Invalid Calls : 0 Total Non-Cacheable Results: 0 Total Out-Of-Bounds Results: 0 Total Sel-Del Results : 0 Total LDAP TCP Bytes In : 265 KB Total LDAP TCP Bytes Out : 4406 KB =======================================================
ldap help
Returns help information about the ldap object and its operations. The syntax is as follows:
-
ldap help [operation | -verbose]
Options
-verbose
-
Displays information about the ldap object.
Used without an argument or option, the ldap help operation returns brief information about each ldap operation. Use the operation argument to return a description of the options associated with the operation you specify. Alternatively, you can use the -verbose option to return a description of the ldap object itself.
Example
ldap help
The output of the sample command follows:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ldap log
Starts LDAP server diagnostic logging. The syntax is as follows:
-
ldap log
LDAP server logging is initially controlled by the specifications in the configuration file install_path*/ldap/conf/dirxlog.cfg*. When an ldap log operation is performed, subsequent logging is controlled by the specifications in the configuration file install_path*/ldap/conf/dirxlog.on*. To use these specifications when restarting the LDAP server, edit the file install_path*/ldap/conf/dirxlog.cfg* according to the settings in install_path*/ldap/conf/dirxlog.on*. By default, the log files are written to the directory install_path*/ldap/log*. Use the dirxdumplog command to read the diagnostic information in the trace log files. The exception log files are readable files. (See Logging Configuration Files in chapter DirX Directory Files for details about the logging configuration files and how to enable, disable and modify logging.)
When the environment variable DIRX_LOGCFG_FILE (see chapter titled DirX Directory Environment Variables for details) is set, logging is controlled by the specifications in this file.
ldap mib
Provides a set of operations for managing of the LDAP server MIBs. (See appendix LDAP MIB Tables for a detailed description of the LDAP server MIBs.)
These operations will no longer be supported in future versions of DirX Directory. Instead use the LDAP extended operations ldap_mib_total, ldap_mib_current, ldap_mib_assoc, ldap_mib_env and ldap_mib_dump. (See the dirxextop reference page for details.)
The syntax is as follows:
-
ldap mib {-all |
*{-static | -total | -current*} [attribute_name] |
-assoc | -env |
-dump} [-pretty]
Options
-all
-
Displays the information in all MIB tables except the MIB association table.
-static [attribute_name]
-
Displays the value of an attribute in the MIB static table. attribute_name must specify the exact name of a MIB attribute. The appendix LDAP MIB Tables lists the names of all MIB attributes. If attribute_name is not specified, the operation displays all of the information in the MIB static table.
-total [attribute_name]
-
Displays the value of an attribute in the MIB total table. attribute_name must specify the exact name of a MIB attribute. The appendix LDAP MIB Tables lists the names of all MIB attributes. If attribute_name is not specified, the operation displays the information in the MIB total table.
-current [attribute_name]
-
Displays the value of an attribute in the MIB current table. attribute_name must specify the exact name of a MIB attribute. The appendix LDAP MIB Tables lists the names of all MIB attributes. If attribute_name is not specified, the operation displays the information in the MIB current table.
-assoc
-
Displays the information in the MIB association table.
-env
-
Displays the currently known environment strings.
-dump
-
Writes the information in all MIB tables except the MIB association table to the file mib*pid.txt* where pid is the process ID of the LDAP server. This file is written to the same directory as the usual log files, by default to the directory install_path*/ldap/log*.
-pretty
-
Displays the results of the operation in tabular format.
Examples
-
The following sample command displays all MIB tables except the MIB association table:
ldap mib -all -pretty
The output of the sample command is as follows:
Static Infos: Operating System : MS Windows 2000 5.0 (Workstation) Build 2195 (Service Pack 4) Host Name : john02 Host IP : 123.45.678.90 CPUs : 1 Total Phys Memory : 1014 MB Avail Phys Memory : 462 MB Pagesize : 4096 Bytes Max Open Files soft : unlimited Max Open Files hard : unlimited Server Version : DirX Directory V9.0 9.4.428 2023:03:23 20:10 64-Bit Server Type : Frontend Server Server Mode : Read/Write Backend Sharing : enabled Contact DSA : TS=DSA1,NA='TCP/IP_IDM!internet=127.0.0.1+port=21200' Anonymous Allowed : yes SSL Encryption : strong SSL Start Time : Thu Jun 17 09:37:32 2004 Current Time : Thu Jun 17 09:53:17 2004 Configuration Name : ldapConfiguration ClCfg File : C:\Program Files\DirX\Directory\ldap\conf\dirxldap.cfg PID : 2020 Ldap Port : 8080 SSL Port : 0 RPC Port : 6999 Max Conn : 1024 Client Idle Time : 1000 Backend unbind delay time : 0 Thread Pool Size : 32 Anonym DAP Pool Size : 5 TCP/IP Response Mode : 24 Black Box Size : 0 DN Escape Mode : backslash Search Size Limit : 0 Search Time Limit : 0 Supported Controls : PR SSS SUBE PP Allowed IPs : all Denied IPs : none Total Infos: Operations : 5029 Cache Hit Ratio : 64% PDU Errors : 10 Client Shutdowns : 10 Referral errors : 0 SSL Connections : 0 SSL Errors : 0 Binds : 30 Bind Errors : 0 Binds V2 : 29 Binds V3 : 1 Binds anonym : 6 Binds simple : 24 Binds strong : 0 Unbinds : 20 Searches : 4969 Search Errors : 0 Searched Entries : 8156 Searched Attrs : 203887 Searched Referrals : 0 Searches Baselevel : 1 Searches Onelevel : 0 Searches Subtree : 4968 Adds : 0 Add Errors : 0 Modifys : 0 Modify Errors : 0 Modify RDNs : 0 Modify RDN Errors : 0 Deletes : 0 Delete Errors : 0 Compares : 0 Compare Errors : 0 Abandons : 0 Extended Ops : 0 Extended Ops Errors : 0 TCP Bytes sent : 4406 KB TCP Bytes received : 265 KB DSA dropouts : 0 RPC Operations : 0 Untrusted IP Binds : 0 Schema AT adds : 0 Schema AT deletes : 0 Schema OC adds : 0 Schema OC deletes : 0 Current Infos: Cache Status : ON (valid) Cache Hit Ratio : 64% LDAP Conns : 0 LDAP Conns Max : 10 DAP Conns : 6 DAP Conns Max : 13 Pool Threads Running : 0 Pool Threads Idle : 32 Op Stack Size : 0 Op Stack Size Max : 9 Highest Descriptor : 2216 # of Sockets : 3 Socket(1) Fd : 2252 Ip : Ldap Port Port : 0 State : listening Socket(2) Fd : -1 Ip : Ldap SSL Port Port : 0 State : invalid Socket(3) Fd : 2248 Ip : UDP Coord Port Port : 0 State : listening -
The following sample command displays the LDAP port number in the MIB static table:
ldap mib –static ldap_port
The output of the sample command is as follows:
389
-
The following sample displays the MIB current table:
ldap mib –current -pretty
The output of the sample command is as follows:
Current Infos: Cache Status : ON (valid) Cache Hit Ratio : 64% LDAP Conns : 0 LDAP Conns Max : 10 DAP Conns : 6 DAP Conns Max : 13 Pool Threads Running : 0 Pool Threads Idle : 32 Op Stack Size : 0 Op Stack Size Max : 9 Highest Descriptor : 2216 # of Sockets : 3 Socket(1) Fd : 2252 Ip : Ldap Port Port : 0 State : listening Socket(2) Fd : -1 Ip : Ldap SSL Port Port : 0 State : invalid Socket(3) Fd : 2248 Ip : UDP Coord Port Port : 0 State : listening -
The following sample displays the MIB static table:
ldap mib –static -pretty
The output of the sample command is as follows:
Static Infos: + Operating System : MS Windows 2000 5.0 (Workstation) Build 2195 (Service Pack 4) Host Name : john02 Host IP : 123.45.678.90 CPUs : 1 Total Phys Memory : 1014 MB Avail Phys Memory : 462 MB Pagesize : 4096 Bytes Max Open Files soft : unlimited Max Open Files hard : unlimited Server Version : DirX Directory V9.0 9.4.428 2023:03:23 20:10 64-Bit Server Type : Frontend Server Server Mode : Read/Write Backend Sharing : enabled Contact DSA : TS=DSA1,NA='TCP/IP_IDM!internet=127.0.0.1+port=21200' Anonymous Allowed : yes SSL Encryption : strong SSL Start Time : Thu Jun 17 09:37:32 2004 Current Time : Thu Jun 17 09:57:00 2004 Configuration Name : ldapConfiguration ClCfg File : C:\Program Files\DirX\Directory\ldap\conf\dirxldap.cfg PID : 2020 Ldap Port : 8080 SSL Port : 0 RPC Port : 6999 Max Conn : 1024 Client Idle Time : 1000 Backend unbind delay time : 0 Thread Pool Size : 32 Anonym DAP Pool Size : 5 TCP/IP Response Mode : 24 Black Box Size : 0 DN Escape Mode : backslash Search Size Limit : 0 Search Time Limit : 0 Supported Controls : PR SSS SUBE PP Allowed IPs : all Denied IPs : none -
The following sample displays the MIB total table:
ldap mib –total -pretty
The output of the sample command is as follows:
Total Infos: Operations : 5029 Cache Hit Ratio : 64% PDU Errors : 10 Client Shutdowns : 10 Referral errors : 0 SSL Connections : 0 SSL Errors : 0 Binds : 30 Bind Errors : 0 Binds V2 : 29 Binds V3 : 1 Binds anonym : 6 Binds simple : 24 Binds strong : 0 Unbinds : 20 Searches : 4969 Search Errors : 0 Searched Entries : 8156 Searched Attrs : 203887 Searched Referrals : 0 Searches Baselevel : 1 Searches Onelevel : 0 Searches Subtree : 4968 Adds : 0 Add Errors : 0 Modifys : 0 Modify Errors : 0 Modify RDNs : 0 Modify RDN Errors : 0 Deletes : 0 Delete Errors : 0 Compares : 0 Compare Errors : 0 Abandons : 0 Extended Ops : 0 Extended Ops Errors : 0 TCP Bytes sent : 4406 KB TCP Bytes received : 265 KB DSA dropouts : 0 RPC Operations : 0 Untrusted IP Binds : 0 Schema AT adds : 0 Schema AT deletes : 0 Schema OC adds : 0 Schema OC deletes : 0 Searches Onelevel : 0 Searches Subtree : 4968 Adds : 0 Add Errors : 0 Modifys : 0 Modify Errors : 0 Modify RDNs : 0 Modify RDN Errors : 0 Deletes : 0 Delete Errors : 0 Compares : 0 Compare Errors : 0 Abandons : 0 Extended Ops : 0 Extended Ops Errors : 0 TCP Bytes sent : 4406 KB TCP Bytes received : 265 KB DSA dropouts : 0 RPC Operations : 0 Untrusted IP Binds : 0 Schema AT adds : 0 Schema AT deletes : 0 Schema OC adds : 0 Schema OC deletes : 0 -
The following sample displays the MIB association table:
ldap mib –assoc -pretty
The output of the sample command is as follows:
Assoc Info: Current Time : Thu Jun 17 10:00:50.787 2004 # of DAP Connections : 13 (anonym=5,simple=7,sasl=1) # of LDAP Connections : 9 # of LDAP Operations : 8 [DAPCon#0] CreateTime : Thu Jun 17 09:37:32 2004 Info : Type:sasl, Shares:1, Rebinds:0, Auth:Special DAP Bind [DAPCon#1] CreateTime : Thu Jun 17 10:00:47 2004 Info : Type:simple, Shares:1, Rebinds:0, Auth:cn=Ghassan Izzo, ou=Product Development, o=my-company [DAPCon#2] CreateTime : Thu Jun 17 10:00:47 2004 Info : Type:simple, Shares:1, Rebinds:0, Auth:cn=Salina Delf, ou=Human Resources, o=my-company [DAPCon#3] CreateTime : Thu Jun 17 10:00:47 2004 Info : Type:simple, Shares:1, Rebinds:0, Auth:cn=Dania Ohashi, ou=Product Development, o=my-company [DAPCon#4] CreateTime : Thu Jun 17 10:00:47 2004 Info : Type:simple, Shares:1, Rebinds:0, Auth:cn=Joann Windom, ou=Product Testing, o=my-company [DAPCon#5] CreateTime : Thu Jun 17 10:00:47 2004 Info : Type:simple, Shares:1, Rebinds:0, Auth:cn=Onida Ferland, ou=Product Development, o=my-company [DAPCon#6] CreateTime : Thu Jun 17 10:00:47 2004 Info : Type:simple, Shares:1, Rebinds:0, Auth:cn=Wayne Pon, ou=Product Testing, o=my-company [DAPCon#7] CreateTime : Thu Jun 17 10:00:47 2004 Info : Type:simple, Shares:1, Rebinds:0, Auth:cn=Kat Mitalas, ou=Product Testing, o=my-company [LDAPCon#0] Peer-IP : 127.0.0.1 Socket-FD : 2036 Bind-Type : simple Security : normal User : cn=Kat Mitalas, ou=Product Testing, o=my-company SASL-User-Id : CreateTime : Thu Jun 17 10:00:47 2004 LastActivity : Thu Jun 17 10:00:50 2004 Version : 2 Processed Ops : 87 Bytes in : 4716 Bytes out : 77131 Current Ops : 1 [Op#0] CreateTime : Thu Jun 17 10:00:50.756 2004 Duration : 0.038469 sec OpName : LDAP_Con188_Op86 UniqueOpId : 34957 Inuse : yes State : A MessageID : 87 OpType : SEARCH BaseObj : o=my-company Scope : subtree Filter : (uid=Abigale_McSorley) SizeLimit : 0 TimeLimit : 30 TypesOnly : no DerefAlias : never [LDAPCon#1] Peer-IP : 127.0.0.1 Socket-FD : 1968 Bind-Type : anonym Security : normal User : SASL-User-Id : CreateTime : Thu Jun 17 10:00:47 2004 LastActivity : Thu Jun 17 10:00:50 2004 Version : 2 Processed Ops : 88 Bytes in : 4713 Bytes out : 77927 Current Ops : 1 [Op#0] CreateTime : Thu Jun 17 10:00:50.772 2004 Duration : 0.017273 sec OpName : LDAP_Con187_Op87 UniqueOpId : 34961 Inuse : yes State : A MessageID : 88 OpType : SEARCH BaseObj : o=my-company Scope : subtree Filter : (uid=Lynda_Mototsune) SizeLimit : 0 TimeLimit : 30 TypesOnly : no DerefAlias : never [LDAPCon#2] Peer-IP : 127.0.0.1 Socket-FD : 2044 Bind-Type : simple Security : normal User : cn=Salina Delf, ou=Human Resources, o=my-company SASL-User-Id : CreateTime : Thu Jun 17 10:00:47 2004 LastActivity : Thu Jun 17 10:00:50 2004 Version : 2 Processed Ops : 90 Bytes in : 4882 Bytes out : 79950 Current Ops : 1 [Op#0] CreateTime : Thu Jun 17 10:00:50.772 2004 Duration : 0.011930 sec OpName : LDAP_Con186_Op89 UniqueOpId : 34963 Inuse : yes State : A MessageID : 90 OpType : SEARCH BaseObj : o=my-company Scope : subtree Filter : (uid=Allyce_Varkey) SizeLimit : 0 TimeLimit : 30 TypesOnly : no DerefAlias : never [LDAPCon#3] Peer-IP : 127.0.0.1 Socket-FD : 1768 Bind-Type : anonym Security : normal User : SASL-User-Id : CreateTime : Thu Jun 17 10:00:47 2004 LastActivity : Thu Jun 17 10:00:50 2004 Version : 2 Processed Ops : 93 Bytes in : 4981 Bytes out : 82887 Current Ops : 1 [Op#0] CreateTime : Thu Jun 17 10:00:50.772 2004 Duration : 0.009000 sec OpName : LDAP_Con185_Op92 UniqueOpId : 34964 Inuse : yes State : A MessageID : 93 OpType : SEARCH BaseObj : o=my-company Scope : subtree Filter : (uid=Ruchel_Tihanyi) SizeLimit : 0 TimeLimit : 30 TypesOnly : no DerefAlias : never [LDAPCon#4] Peer-IP : 127.0.0.1 Socket-FD : 2080 Bind-Type : simple Security : normal User : cn=Ghassan Izzo, ou=Product Development, o=my-company SASL-User-Id : CreateTime : Thu Jun 17 10:00:47 2004 LastActivity : Thu Jun 17 10:00:50 2004 Version : 2 Processed Ops : 87 Bytes in : 4736 Bytes out : 77441 Current Ops : 1 [Op#0] CreateTime : Thu Jun 17 10:00:50.756 2004 Duration : 0.039108 sec OpName : LDAP_Con184_Op86 UniqueOpId : 34956 Inuse : yes State : A MessageID : 87 OpType : SEARCH BaseObj : o=my-company Scope : subtree Filter : (uid=Ketty_Menon) SizeLimit : 0 TimeLimit : 30 TypesOnly : no DerefAlias : never [LDAPCon#5] Peer-IP : 127.0.0.1 Socket-FD : 1972 Bind-Type : simple Security : normal User : cn=Wayne Pon, ou=Product Testing, o=my-company SASL-User-Id : CreateTime : Thu Jun 17 10:00:47 2004 LastActivity : Thu Jun 17 10:00:50 2004 Version : 2 Processed Ops : 90 Bytes in : 4870 Bytes out : 79992 Current Ops : 1 [Op#0] CreateTime : Thu Jun 17 10:00:50.756 2004 Duration : 0.029731 sec OpName : LDAP_Con183_Op89 UniqueOpId : 34958 Inuse : yes State : A MessageID : 90 OpType : SEARCH BaseObj : o=my-company Scope : subtree Filter : (uid=Annamaria_Lukas) SizeLimit : 0 TimeLimit : 30 TypesOnly : no DerefAlias : never [LDAPCon#6] Peer-IP : 127.0.0.1 Socket-FD : 1728 Bind-Type : simple Security : normal User : cn=Dania Ohashi, ou=Product Development, o=my-company SASL-User-Id : CreateTime : Thu Jun 17 10:00:47 2004 LastActivity : Thu Jun 17 10:00:50 2004 Version : 2 Processed Ops : 88 Bytes in : 4792 Bytes out : 78878 Current Ops : 0 [LDAPCon#7] Peer-IP : 127.0.0.1 Socket-FD : 2028 Bind-Type : simple Security : normal User : cn=Onida Ferland, ou=Product Development, o=my-company SASL-User-Id : CreateTime : Thu Jun 17 10:00:47 2004 LastActivity : Thu Jun 17 10:00:50 2004 Version : 2 Processed Ops : 87 Bytes in : 4700 Bytes out : 76961 Current Ops : 1 [Op#0] CreateTime : Thu Jun 17 10:00:50.756 2004 Duration : 0.029600 sec OpName : LDAP_Con181_Op86 UniqueOpId : 34959 Inuse : yes State : A MessageID : 87 OpType : SEARCH BaseObj : o=my-company Scope : subtree Filter : (uid=Ragui_Babyak) SizeLimit : 0 TimeLimit : 30 TypesOnly : no DerefAlias : never [LDAPCon#8] Peer-IP : 127.0.0.1 Socket-FD : 1964 Bind-Type : simple Security : normal User : cn=Joann Windom, ou=Product Testing, o=my-company SASL-User-Id : CreateTime : Thu Jun 17 10:00:47 2004 LastActivity : Thu Jun 17 10:00:50 2004 Version : 2 Processed Ops : 91 Bytes in : 4943 Bytes out : 80815 Current Ops : 1 [Op#0] CreateTime : Thu Jun 17 10:00:50.756 2004 Duration : 0.028931 sec OpName : LDAP_Con180_Op90 UniqueOpId : 34960 Inuse : yes State : A MessageID : 91 OpType : SEARCH BaseObj : o=my-company Scope : subtree Filter : (uid=Choon-Lin_Haroutounian) SizeLimit : 0 TimeLimit : 30 TypesOnly : no DerefAlias : never
ldap nolog
Stops LDAP server diagnostic logging. The syntax is as follows:
-
ldap nolog
LDAP server logging is initially controlled by the specifications in the configuration file install_path*/ldap/conf/dirxlog.cfg*. When an ldap nolog operation is performed, subsequent logging is controlled by the specifications in the configuration file install_path*/ldap/conf/dirxlog.off*. To use these specifications when restarting the LDAP server, edit the file install_path*/ldap/conf/dirxlog.cfg* according to the settings in install_path*/ldap/conf/dirxlog.off*. By default, the log files are written to the directory install_path*/ldap/log*. Use the dirxdumplog command to read the diagnostic information in the trace log files. The exception log files are readable files. (See Logging Configuration Files in chapter DirX Directory Files for details about the logging configuration files and how to enable, disable and modify logging.)
ldap operations
Returns a list of operations that can be performed on the ldap object. The syntax is as follows:
-
ldap operations
The list of available operations is in alphabetical order, except for help and operations, which are listed last.
ldap restart
Stops and restarts the LDAP server.
This operation must be performed to update the LDAP server configuration after the corresponding subentry or the schema has been modified. Note that the re-load process disconnects all LDAP client connections and causes the server to re-read the directory schema.
The syntax is as follows:
-
ldap restart
lob (dirxadm)
Synopsis
lob create
-agreement agreement
[-agreementid agreementid]
[-pol sob_policies]
-status coop_status
[-supplier dsa_name]
[-supplierpsap psap_address]
lob delete
-agreementid agreementid
[-supplier dsa_name]
lob disable _
-agreementid agreementid
[-supplier dsa_name]
lob enable
-agreementid agreementid
[-supplier dsa_name]
lob establish
-agreementid agreementid
[-supplier dsa_name]
lob help [operation | -verbose]
lob operations
lob show
[-agreementid agreementid]
[-supplier dsa_name]
[-pretty]
lob terminate
-agreementid agreementid
[-supplier dsa_name]
Operations
lob create
Creates an LDIF agreement. The syntax is as follows:
-
lob create
-agreement agreement
[-agreementid agreementid]
[-pol sob_policies]
-status coop_status
[-supplier dsa_name]
[-supplierpsap psap_address]
Options
-agreement agreement
-
A required option that specifies the LDIF agreement. Specify agreement in the Shadowing-Agreement-Info structured attribute syntax. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of this syntax.
-agreementid agreementid
-
Specifies the LDIF agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the LDIF agreement and version is an optional integer that specifies the version.
+ The value for id must be between 1 and 9999. Values greater than 9999 are reserved for internal purposes. The DSA manages agreements with an id greater than 9999 automatically; it is prohibited to administer these agreements manually.
+ For the option -status STANDALONE this option is required. Specify a unique id. Note that the DSA does not check the uniqueness of the agreement id.
+ The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm lob create); each time the agreement is established (with dirxadm lob establish), the DSA increments the version number by 1. It is only used for displaying.
-
-pol sob_policies
-
Specifies the policies used for the LDIF agreement. Specify sob_policies in the SOB-Policies structured attribute syntax. For LDIF agreements only the components SUPP (sub-component MAXLOC) and LDSUPP are relevant. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of this syntax.
-status coop_status
-
A required option that specifies how the LDIF agreement are to cooperate. The coop_status argument consists of one of the following keywords:
-
COOPERATIVE - Indicates that the LDIF agreement is activated as part of the create operation.
-
NONCOOPERATIVE - Indicates that the LDIF agreement is not activated.
-
STANDALONE - Indicates that an LDIF content file of the bind DSA database is written immediately without creating an LDIF agreement.
Use the lob establish operation to activate an LDIF agreement (to change from NONCOOPERATIVE to COOPERATIVE status). Use the lob terminate operation to deactivate an LDIF agreement (to change from COOPERATIVE to NONCOOPERATIVE status).
-
-supplier dsa_name
-
Specifies the name of the supplier DSA of the LDIF agreement, that is the DSA writing the LDIF files. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
-supplierpsap psap_address
-
Specifies the PSAP address of the supplier DSA. The specified value will be written to the corresponding DSA entry. Do not specify the PSAP address when this attribute already exists in the corresponding DSA entry. See the Presentation-Address syntax in DirX Directory Syntaxes and Attributes for a description of PSAP address format.
The create operation creates an LDIF agreement. The DSAs participating in LDIF agreements must have compatible system schemata. All LDIF agreements must be administered on the DSA that is the master of the cooperating DSAs subentry. (See Cooperating DSA in chapter titled DirX Directory Attributes in DirX Directory Syntaxes and Attributes for details.)
Use LDIF agreements to save parts of the DIT and modifications to them to local files. The data is saved in LDIF format, which is a printable file format. The files are saved in the directory install_path*/server/ldif*. The filename is agreementid[Standalone].*timestamp. The agreementid is used without the version. (See option *-agreementid for details.) The string Standalone is appended to the agreementid if the option -status STANDALONE was specified. The timestamp indicates the time when the DSA started to write the file.
You can control the size of the files by setting the DirX Directory environment variable DIRX_LDIF_SPLIT. You can export the files by moving them to an appropriate directory. If the file does not yet exist, poll for the filename. Note that the character p at the end of the filename indicates that the creation of the file is not yet finished.
You can pass the LDIF file to a specified external program. (See PROG component of LDSUPP component of SOB-Policies structured attribute syntax in DirX Directory Syntaxes and Attributes for details.) In this case it is not necessary to poll for the LDIF file or to check the p at the end of the filename. The operation passes the complete LDIF file to the external program. This file may have a p at the end of the filename but is complete. The external program takes over responsibility for the file. It is not available in the install_path*/server/ldif* directory after finishing or aborting the external program.
LDIF files may be useful for example to synchronize two different DSAs offline or to roll back a DSA. You can import the content of LDIF files to DirX Directory DSAs with the dirxmodify or dirxload command. When you want to import the saved data to non-DirX Directory DSAs or to LDAP servers, the LDIF file format supplies an easy-to-use format to write procedures that read the data and save them in that server. Passing the LDIF file to an external program gives you a means to parse the changes and to decide on further actions, for example propagating the changes to other directories.
If the create operation is performed with -status STANDALONE no further command is needed to activate, terminate or delete the agreement. The DSA does not create an LDIF agreement at all. It starts to write the specified replication area to an LDIF content file immediately. If the DSA was not set to read only before issuing this operation updates performed while this operation is in progress may not be reflected in the LDIF content file. (See the dirxadm sys opmode operation how to set the DSA to read only.) Unlike all other create operations this operation can also performed on DSAs that are not the master of the cooperating DSAs subentry.
Although it is required for the delete, disable, enable, establish, and terminate operations, the
-agreementid option is optional for the create operation, unless the option -status STANDALONE was specified. If you do not supply it, the create operation supplies one. If you specify an agreement ID that exists within another LDIF or shadowing agreement, the create operation returns an error, unless the option -status STANDALONE was specified.
The –supplierpsap option is required if there are no operational bindings within the specified DSAs. If operational bindings exist and a PSAP address is specified, the existing value is overwritten.
Example
-
The following example creates an LDIF agreement with an LDIF-Supplier-SOB-Policy. The agreement is in the status NONCOOPERATIVE. The agreement can be activated by performing a lob establish operation.
lob create \ -status noncooperative \ -agreementid 100 \ -supplier \{/cn=DirX-DSA-host1} \ -pol \{LDSUPP=\{CRLF=TRUE,DELAT=TRUE}} \ -agreement \{SS=\{AREA=\{CP=\{/O=My-Company}, \ RA=\{BAS=\{/OU=Sales} \ } \ }, \ KNO=\{EK=TRUE,KT=MASTER}, \ ATT=\{CA=\{ALL=TRUE}} \ }, \ UM=\{SI=\{S=\{PS=\{ WS=900, \ UI=86400 \ } \ } \ } \ } \ } -
The following example creates an LDIF agreement on on-change basis. The LDIF file is passed to an external program:
lob create \ -status noncooperative \ -agreementid 12 \ -supplier \{/cn=DirX-DSA-host1} \ -agreement \ \{SS=\{AREA=\{CP=\{/O=Air.com},RA=\{DEF=TRUE}}, ATT=\{DEF=TRUE}}, UM=\{SI=\{OC=TRUE}}} \ -pol \{LDSUPP=\{ENTRYO=TRUE, PROG='"C:\\\Multimedia Files\\\temp\\\trigger.bat" %F %U %L %S'}} -
The following example performs a standalone LDIF agreement. The DSA dumps all entries under the root (the total database content) to an LDIF content file without creating an LDIF agreement at all. The name of the resulting LDIF content file is *0000000011Standalone.*timestamp:
lob create \ -status STANDALONE \ -agreementid 11 \ -agreement \{SS=\{AREA=\{CP=\{/},RA=\{DEF=TRUE}}, ATT=\{DEF=TRUE}}, UM=\{SI=\{OC=TRUE}}} \ -pol \{SUPP=\{MAXLOC=128}, LDSUPP=\{ENTRYO=FALSE,CS=UTF8} }
lob delete
Deletes an LDIF agreement. The syntax is as follows:
-
lob delete
-agreementid agreementid
[-supplier dsa_name]
Options
-agreementid agreementid
-
Specifies the LDIF agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the LDIF agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm lob create); each time the agreement is established (with dirxadm lob establish), the DSA increments the version number by 1. It is only used for displaying.
-
-supplier dsa_name
-
Specifies the name of the supplier DSA of the LDIF agreement, that is the DSA writing the LDIF files. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
The delete operation removes an LDIF agreement. Before performing the lob delete operation it is recommended to deactivate the agreement with lob terminate. (See the lob terminate operation for details.)
lob disable
Disables the execution of an LDIF agreement. This operation can only be performed on agreements with the status COOPERATIVE. The syntax is as follows:
-
lob disable
-agreementid agreementid
[-supplier _dsa_name]
Options
-agreementid agreementid
-
Specifies the LDIF agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the LDIF agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm lob create); each time the agreement is established (with dirxadm lob establish), the DSA increments the version number by 1. It is only used for displaying.
-
-supplier dsa_name
-
Specifies the name of the supplier DSA of the LDIF agreement, that is the DSA writing the LDIF files. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
The disable operation disables the execution of an LDIF agreement. This operation can only be performed on agreements with the status COOPERATIVE. The status COOPERATIVE is not changed. Use the lob enable operation to activate the LDIF agreement. Then the supplier DSA saves incremental updates to the local LDIF file.
lob enable
Enables the execution of an LDIF agreement which has been disabled by the DSA internally (e.g., because of previous recovery problems), or by the lob disable operation. This operation can only be performed on agreements with the status COOPERATIVE. The syntax is as follows:
-
lob enable
-agreementid agreementid
[-supplier dsa_name]
Options
-agreementid agreementid
-
Specifies the LDIF agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the LDIF agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm lob create); each time the agreement is established (with dirxadm lob establish), the DSA increments the version number by 1. It is only used for displaying.
-
-supplier dsa_name
-
Specifies the name of the supplier DSA of the LDIF agreement, that is the DSA writing the LDIF files. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
The enable operation enables the execution of an LDIF agreement which has been disabled by the DSA internally (e.g., because of previous recovery problems), or by the lob disable operation. The supplier DSA saves incremental updates to the local LDIF file. This operation can only be performed on agreements with the status COOPERATIVE.
lob establish
Changes the status of an operational binding to COOPERATIVE. The syntax is as follows:
-
lob establish
-agreementid agreementid
[-supplier dsa_name]
Options
-agreementid agreementid
-
Specifies the LDIF agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the LDIF agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm lob create); each time the agreement is established (with dirxadm lob establish), the DSA increments the version number by 1. It is only used for displaying.
-
-supplier dsa_name
-
Specifies the name of the supplier DSA of the LDIF agreement, that is the DSA writing the LDIF files. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
The establish operation changes the status of an existing LDIF agreement to COOPERATIVE. It increases the version of the agreement by 1. (See the -agreementid option for details.) Use this operation to activate an LDIF agreement. The supplier DSA saves a local file in LDIF format.
lob help
Returns help information about the lob object and its operations. The syntax is as follows:
-
lob help [operation | -verbose]
Options
-verbose
-
Displays information about the lob object.
Used without an argument or option, the help command returns brief information about each lob operation. Use the operation argument to return a description of the options associated with the operation you specify. Alternatively, you can use the -verbose option to return a description of the lob object itself.
Example
lob help
The output of the sample command follows:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lob operations
Returns a list of operations that can be performed on the lob object. The syntax is as follows:
-
lob operations
The list of available operations is in alphabetical order except for help and operations, which are listed last.
lob show
Displays a DSA’s LDIF agreements. The syntax is as follows:
-
lob show
[-agreementid agreementid]
[-supplier dsa_name]
[-pretty]
Options
-agreementid agreementid
-
Specifies the LDIF agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the LDIF agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm lob create); each time the agreement is established (with dirxadm lob establish), the DSA increments the version number by 1. It is only used for displaying.
-
-supplier dsa_name
-
Specifies the name of the supplier DSA of the LDIF agreement, that is the DSA writing the LDIF files. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
-pretty
-
Displays the results of the operation in a tabular format
The show operation displays the LDIF agreements that have been created for a DSA. When used without options, the operation returns the complete distinguished names of all supplier DSAs.
The following information is displayed:
-
Binding state—The status of the LDIF agreement (for example COOPERATIVE). (See OBS component of Cooperating-DSA structured attribute syntax in DirX Directory Syntaxes and Attributes for details.)
-
Validity—The time period during which the LDIF agreement is valid. (See -validity option of the dirxadm lob create command for details.)
-
Agreement—The information about the LDIF agreement. (See SAI component of Cooperating-DSA structured attribute syntax in DirX Directory Syntaxes and Attributes for details.)
-
Policies—The policies to be performed for the LDIF agreement. (See RPOL subcomponent of the SAI component of Cooperating-DSA structured attribute syntax in DirX Directory Syntaxes and Attributes for details.)
-
Update status—The update status of the LDIF agreement. (See Update-Status structured attribute syntax in DirX Directory Syntaxes and Attributes for details.)
Use the -supplier option alone to return all existing LDIF agreements within the specified DSA.
By default, the results of the show operation are displayed as a Tcl list; use the -pretty option to return the results in a tabular, more readable format.
Example
The following command displays the LDIF agreement with agreement ID 14057,3 in pretty format:
lob show -agreementid 14057 \
-supplier \{/cn=DirX-DSA-host1} -p
The output of the sample command follows:
Validity-Agreement
Operational-Binding-State : COOPERATIVE
OprBindMngmnt-Validity
Validity-From : 030228095720Z
Agreement
Shadow-Subject
Area-Specification
Context-Prefix : /O_DUTF8=My-Company
Replication-Area
Subtree-Base : /
Attribute-Selection
Default-Value : TRUE
Update-Mode
Supplier-Initiated
Scheduled
Periodic-Strategy
Window-Size : 1000
Update-Interval : 1
Update-Status
Disabled : FALSE
Update-Status
Supplier-Update-Status
Area-Change-State : CHANGED
Old-Updates
Segment-ID : 8
Update-Time : 20030311081115Z
Area-Changes : TRUE
Related-Policies
LDIF-Supplier
Binary-Only-For : NONE
Max-Characters-per-Row : 200
Code-Set : UTF8
Changes-Only : FALSE
lob terminate
Changes the status of an LDIF agreement to NONCOOPERATIVE (deactivates saving data to a local file in LDIF format). The syntax is as follows:
-
lob terminate
-agreementid agreementid
[-supplier dsa_name]
Options
-agreementid agreementid
-
Specifies the LDIF agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the LDIF agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm lob create); each time the agreement is established (with dirxadm lob establish), the DSA increments the version number by 1. It is only used for displaying.
-
-supplier dsa_name
-
Specifies the name of the supplier DSA of the LDIF agreement, that is the DSA writing the LDIF files. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
The terminate operation changes the status of an existing LDIF agreement to NONCOOPERATIVE. Use this operation to deactivate saving data to a local file in LDIF format. Use the lob establish operation to activate the LDIF agreement.
nmi (dirxadm)
Synopsis
nmi help [operation | -verbose]
nmi operations
nmi show
[-mib mib_name [-table table_name]]
[-pretty]
Operations
nmi help
Returns help information about the nmi object and its operations. The syntax is as follows:
nmi help [operation | -verbose]
Options
-verbose
-
Displays information about the nmi object.
Used without an argument or option, the help command returns brief information about each nmi operation. Use the operation argument to return a description of the options associated with the operation you specify. Alternatively, you can use the -verbose option to return a description of the nmi object itself.
nmi operations
Returns a list of operations that can be performed on the nmi object. The syntax is as follows:
-
nmi operations
The list of available operations is in alphabetical order, except for help and operations, which are listed last.
nmi show
Shows the directory MIBs. The syntax is as follows:
-
nmi show
[-mib mib_name [-table table_name]]
[-pretty]
Options
-mib mib_name
-
Specifies the name of the MIB to be displayed. Supply one of the following values as the MIB name:
- APP
-
for the Application MIB. See RFC 1565 for a definition of the Application MIB (also called the Network Services Monitoring MIB).
- DSA
-
for the DSA MIB. See RFC 1567 for a definition of the DSA MIB (also called the X.500 Directory Monitoring MIB).
-table table_name
-
Specifies the name of a MIB table. Supply one of the following values as the table name:
-
ASSOCIATION - Application MIB association table
-
APPLICATION - Application MIB application table
-
ENTRIES - DSA MIB entries table
-
INTERACTION - DSA MIB interaction table
-
OPERATIONS - DSA MIB operations table
-
-pretty
-
Displays the results of the operation in a tabular format
When used without options, the show operation displays the information in all MIB tables. Use the -mib option to display the tables associated with a specific MIB.
Use the -tables option to display a specific MIB table. If the -table option is not specified, the operation displays all tables associated with the specified MIB.
If the -tables option is specified, the -mib option is also required.
By default, the results of the operation are returned in Tcl lists. Use the -pretty option to return the results in a tabular, more readable format.
Note that you can also use the LDAP extended operations for DirX Directory MIB display available through the dirxextop command and the DirX Directory Manager’s Monitor view.
Examples
nmi show -pretty
The command output is as follows:
Entries table of the DSA MIB
Master entries 52
Copy entries 30
Cache entries 21
Cache hits 5
Slave hits 13
Interaction table of the DSA MIB
Interaction index 0
DSA name /C=RE/O=IBM/CN=IBM-DSA
Time of creation Wed Mar 19 09:56:26 1997
Time of last attempt Wed Mar 19 09:59:09 1997
Time of last success Wed Mar 19 09:58:33 1997
Failures 3
Failures since last success 3
Successes 12
Operations table of the DSA MIB
Anonymous binds 6
Unauthenticated binds 0
Simple authenticated binds 10
Strong authenticated binds 0
Bind security errors 0
Inbound operations 16
Read operations 6
Compare operations 0
Add entry operations 0
Remove entry operations 0
Modify entry operations 0
Modify RDN operations 0
List operations 0
Search operations 0
One-level search operations 0
Whole-subtree search operations 0
Referrals returned 3
Chainings forwarded 12
Security errors 4
DSA errors 2
Association table of the application MIB
Association index 28
Remote application name /
Application protocol DAP
Application type ua-responder
Association duration Wed Mar 19 10:23:24 1997
Application table of the application MIB
Index 0
Name DirX
DirName /C=RE/CN=SNI-DSA
Version 7.4.147 2005:01:23 20:10
Uptime Wed Mar 19 09:45:15 1997
Operational status UP
Last change NEVER
Inbound associations 1
Outbound associations 0
Accumulated in-associations 16
Accumulated out-associations 12
Last inbound activity Wed Mar 19 10:23:24 1997
Last outbound activity Wed Mar 19 09:58:33 1997
Rejected inbound associations 0
Failed outbound associations 3
progsvr (dirxadm)
Synopsis
progsvr binding [-host hostname] [-port portnumber]
progsvr help [operation | -verbose]
progsvr log
progsvr nolog
Purpose
A dirxadm object that manages the Progsvr. (See DirX Directory Progsvr in the DirX Directory Introduction.) It is not necessary to perform a dse bind operation before performing progsvr operations.
Operations
progsvr binding
Specifies the Progsvr to be administered. This operation must be performed when administering a remote Progsvr. To administer a remote Progsvr the -host option must be specified. The syntax is as follows:
progsvr binding [-host hostname] [-port portnumber]
progsvr help
Returns help information about the progsvr object and its operations. The syntax is as follows:
-
progsvr help [operation | -verbose]
Options
-verbose
-
Displays information about the progsvr object.
Used without an argument or option, the progsvr help operation returns brief information about each progsvr operation. Use the operation argument to return a description of the options associated with the operation you specify. Alternatively, you can use the -verbose option to return a description of the progsvr object itself.
progsvr log
Starts Progsvr diagnostic logging. The syntax is as follows:
-
progsvr log
Progsvr logging is initially controlled by the specifications in the configuration file install_path*/progsvr/conf/dirxlog.cfg*. When a progsvr log operation is performed, subsequent logging is controlled by the specifications in the configuration file install_path*/progsvr/conf/dirxlog.on*. To use these specifications when restarting the Progsvr, edit the file install_path*/progsvr/conf/dirxlog.cfg* according to the settings in install_path*/progsvr/conf/dirxlog.on*. By default, the log files are written to the directory install_path*/progsvr/log*. Use the dirxdumplog command to read the diagnostic information in the trace log files. The exception log files are readable files. (See Logging Configuration Files in chapter DirX Directory Files for details about the logging configuration files and how to enable, disable and modify logging.)
When the environment variable DIRX_LOGCFG_FILE (see chapter titled DirX Directory Environment Variables for details) is set, logging is controlled by the specifications in this file.
progsvr nolog
Stops progsvr diagnostic logging. The syntax is as follows:
-
progsvr nolog
Progsvr logging is initially controlled by the specifications in the configuration file install_path*/progsvr/conf/dirxlog.cfg*. When a progsvr nolog operation is performed, subsequent logging is controlled by the specifications in the configuration file install_path*/progsvr/conf/dirxlog.off*. To use these specifications when restarting the Progsvr, edit the file install_path*/progsvr/conf/dirxlog.cfg* according to the settings in install_path*/progsvr/conf/dirxlog.off*. By default, the log files are written to the directory install_path*/progsvr/log*. Use the dirxdumplog command to read the diagnostic information in the trace log files. The exception log files are readable files. (See Logging Configuration Files in chapter DirX Directory Files for details about the logging configuration files and how to enable, disable and modify logging.)
sob (dirxadm)
Synopsis
sob create
[-agreement agreement]
[-agreementid agreementid]
[-supplier dsa_name]
[-supplierkind X500]
[-supplierpsap psap_address]
[-supplierprotocol protocol_information]
-consumer dsa_name
-consumerkind disp_kind
[-consumerpsap _psap_address]
[-consumerprotocol protocol_information]
-status coop_status
[-pol sob_policies]
[-validity validity]
sob delete
-agreementid agreementid
[-supplier dsa_name]
-consumer dsa_name
sob disable
-agreementid agreementid
[-supplier dsa_name]
-consumer dsa_name
sob enable
-agreementid agreementid
[-supplier dsa_name]
-consumer dsa_name
sob establish
-agreementid agreementid
[-supplier dsa_name]
-consumer dsa_name
sob help [operation | -verbose]
sob operations
sob show
[-agreementid agreementid]
[-supplier dsa_name]
[-consumer dsa_name]
[-pretty]
sob switch
{-from dsa_name
-to dsa_name |
-emergency}
sob synchronize
[-consumer dsa_name [-agreementID agreementidt]]
sob terminate
-agreementid agreementid
[-supplier dsa_name]
-consumer dsa_name
Operations
sob create
Creates a shadowing agreement between two DSAs. The syntax is as follows:
-
sob create
[-agreement agreement]
[-agreementid agreementid]
[-supplier dsa_name]
[-supplierkind X500]
[-supplierpsap psap_address]
[-supplierprotocol protocol_information]
-consumer dsa_name
-consumerkind disp_kind
[-consumerpsap _psap_address]
[-consumerprotocol protocol_information]
-status coop_status
[-pol sob_policies]
[-validity validity]
Options
-agreement agreement
-
A required option for asynchronous shadowing (consumerkind value of CENTRALADMIN or X500) that specifies the shadowing agreement. Specify agreement in the Shadowing-Agreement-Info structured attribute syntax. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of this syntax. Typically this option is not required for synchronous shadowing (consumerkind value of SYNCHRON) because the master DSA’s complete DIT (all entries, all attributes) is always replicated and always on change. However, if you intend to specify a total update by media, then CHANGEO=TRUE must be specified.
-agreementid agreementid
-
Specifies the shadowing agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the LDIF agreement and version is an optional integer that specifies the version.
The value for id must be between 1 and 9999. Values greater than 9999 are reserved for internal use; for example, the replication of the cooperating DSA table. The DSA manages agreements with an id greater than 9999 automatically; do not administer these agreements manually.
The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm sob create); each time the agreement is established (with dirxadm sob establish), the DSA increments the version number by 1. It is only used for display purposes. -
-supplier dsa_name
-
Specifies the name of the DSA that is sending the directory information. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
-supplierkind X500
-
Only specified if the DSA is part of an X.500-compliant shadowing configuration as a consumer. The DSA participates in a heterogeneous network of DirX Directory DSAs and other DSAs that support X.500-compliant shadowing. The administrators must manage the shadowing agreements on each participating DSA. This value can only be specified in a shadowing agreement on a consumer DSA that takes part in X.500-compliant shadowing.
-supplierpsap psap_address
-
Specifies the PSAP address of the supplier DSA. The specified value is written to the corresponding DSA entry. Do not specify this option when the PSAP attribute already exists in the corresponding DSA entry. See the Presentation-Address syntax in DirX Directory Syntaxes and Attributes for a description of PSAP address format.
-supplierprotocol protocol_information
-
Specifies the sequence of OIDs that identify the lower communication layers supported by the supplier DSA. Specify protocol_information in the ProtocolInformation structured attribute syntax. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of this syntax.
-consumer dsa_name
-
A required option that specifies the name of the DSA receiving the directory information. Specify the complete distinguished name of the consumer DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax.
-consumerkind disp_kind
-
A required option that specifies the type of DISP network in which the DSA participates: DirX Directory-compliant/asynchronous shadowing, DirX Directory-compliant/synchronous shadowing or X.500-compliant shadowing configuration. The disp_kind argument consists of one of the following keywords:
-
CENTRALADMIN—The DSA participates in a DirX Directory-compliant configuration that uses asynchronous shadowing protocol (version 7.0B00 and newer). A DirX Directory-compliant configuration consists of a homogeneous network of DirX Directory DSAs, in which a single DSA masters a centralized cooperating DSA table of shadowing agreements for the DSAs in the network and automatically propagates changes to this table to all participating consumer DSAs over DISP. In asynchronous shadowing, replication areas of the DIT can be configured and LDAP/DAP client update requests are returned immediately after they are committed by the master DSA.
-
SYNCHRON—The DSA participates in a DirX Directory-compliant configuration that uses synchronous shadowing protocol (version 8.2B00 and newer). In synchronous shadowing, the entire DIT is replicated “on change” and LDAP/DAP client update requests are returned only after they are committed by the master DSA and by all synchronous-configured consumer DSAs in the network.
-
X500—The DSA participates in a heterogeneous network of DirX Directory DSAs and other DSAs that support X.500-compliant shadowing as a supplier. The administrators must manage the shadowing agreements on each participating DSA. We recommend that you set the environment variable DIRX_X500_MODIFY; see the chapter Environment Variables for details. The X500 value can only be specified in a shadowing agreement on a supplier DSA that participates in X.500-compliant shadowing.
This option is mandatory unless you create a shadowing agreement on a consumer DSA participating on a X.500-compliant shadowing or the attribute already exists in the corresponding DSA entry.
-
-consumerpsap psap_address
-
Specifies the PSAP address of the consumer DSA. The specified value is written to the corresponding DSA entry. Do not specify this option when the PSAP attribute already exists in the corresponding DSA entry. See the Presentation-Address syntax in DirX Directory Syntaxes and Attributes for a description of PSAP address format.
-consumerprotocol protocol_information
-
Specifies the sequence of OIDs that identify the lower communication layers supported by the consumer DSA. Specify protocol_information in the ProtocolInformation structured attribute syntax. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of this syntax.
-status coop_status
-
A required option that specifies how the DSAs are to cooperate. The coop_status argument consists of one of the following keywords:
-
COOPERATIVE—Indicates that the shadowing agreement is activated as part of the create operation.
-
NONCOOPERATIVE—Indicates that the shadowing agreement is not activated.
Use the sob establish operation to activate a shadowing agreement (to change from NONCOOPERATIVE to COOPERATIVE status). Use the sob terminate operation to deactivate a shadowing agreement (to change from COOPERATIVE to NONCOOPERATIVE status).
-
-pol sob_policies
-
Specifies the policies used for the shadowing agreement. Specify sob_policies in the SOB-Policies structured attribute syntax. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of this syntax.
-validity validity
-
Specifies the time period during which the shadowing agreement is valid. Use the following format for the validity argument:
-
VF=valid_from, VU=valid_until
where valid_from is the keyword NOW or a time and valid_until is the keyword TERMINATION or a time. Specify time values in Generalized Time attribute syntax; see DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of this syntax. The default values are NOW and TERMINATION.
-
The create operation creates a shadowing agreement between two DSAs. All shadowing agreements must be administered on the DSA that is the master of the cooperating DSAs subentry. (See the Cooperating DSA section in the DirX Directory Attributes chapter in DirX Directory Syntaxes and Attributes for details.)
When a DSA participates in a shadowing agreement, the DSA that masters the cooperating DSA table automatically creates the agreement and then propagates the cooperating DSA table to this DSA.
Although it is required for the delete, disable, enable, establish, and terminate operations, the -agreementid option is optional for the create operation. If you do not supply it, the create operation supplies one. If you specify an agreement ID that exists within another operational binding, the create operation returns an error.
The -supplierpsap and the -consumerpsap options are required if there are no operational bindings within the specified DSAs. If operational bindings exist and a PSAP address is specified, the existing value is overwritten.
Use the COOPERATIVE keyword in the -status option to activate shadowing with the partner DSA. Changing status to COOPERATIVE initiates DISP communication with the partner DSA, which permits shadow entries to be created.
By default, a shadowing agreement is valid from the time it is established, either with sob create, if -status COOPERATIVE is specified, or with sob establish until the time it is explicitly terminated with sob terminate. Use the -validity option to set a specific time limit for the agreement.
You may want to create a stand-by shadow: a DSA that contains a complete shadow of the DIT and can therefore assume the role of the master DSA in the event that the master breaks down. See the dirxadm sob switch operation and the section Switching Supplier DSAs in a Shadow Configuration in the chapter Creating a Shadow DSA in the Administration Guide for details. To keep a stand-by DSA’s data as up to date as possible, the replicated entries must be updated immediately after they are created or modified. (This action is the default. See Shadowing-Agreement-Info attribute syntax in DirX Directory Syntaxes and Attributes for details.) The REPLS subcomponent of the consumer policy must also be set to TRUE. See the SOB-Policies syntax in chapter titled DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for details.
You also need to decide whether to use asynchronous (CENTRALADMIN) or synchronous (SYNCHRON) shadowing.
In asynchronous shadowing, an LDAP/DAP client’s update operation returns immediately after the master DSA commits the operation and writes it to the journal. If the master DSA fails, this protocol can lead to loss of recent update operations at the consumer DSAs. Asynchronous shadowing allows a high rate of update operations between supplier and consumer DSAs and fast response time for LDAP/DAP clients, and provides full flexibility for defining the replication area.
In synchronous shadowing, an LDAP/DAP client’s update operation does not return until the master DSA and all synchronous consumer DSAs have committed the operation. If the master DSA fails, acknowledged update operations to the DAP/LDAP client are safely stored at the synchronous consumer DSAs and there is no data loss. Synchronous shadowing provides for high data integrity between master and shadow DSAs even in the event of a master failure, but supports a lower rate of update operations between supplier and consumer DSAs and slower response time for LDAP/DAP clients. It also replicates the complete DIT with one agreement without any options for customizing the replicated area, and the REPLS subcomponent must be set to TRUE.
Both asynchronous and synchronous shadowing allow for total updates via media or DISP.
You can mix asynchronous (CENTRALADMIN) and synchronous (SYNCHRON) shadowing agreements as long as different consumer DSAs are affected and the REPLS subcomponent of the asynchronous (CENTRALADMIN) agreement is always FALSE.
If the unique attribute type value constrains check is enabled, the -consumerkind option is CENTRALADMIN or SYNCHRON and the REPLS subcomponent of the consumer policy is TRUE, the consumer DSA must be online at shadow agreement creation time. The supplier DSA compares the unique constraint configuration against the consumer DSA for consistency. The unique index configuration on a consumer DSA must never exceed the supplier DSA’s configuration (a unique constraint setting for an attribute type must also be set on the supplier DSA; however, a unique constraint can be set on supplier DSA and not on the consumer DSA). The unique constraint configuration must be identical at switch time on both supplier and consumer DSA. If unique constraint checks are applied, they must be functionally compatible and the supplier and consumer DSAs must be DirX Directory v8.2 or newer.
Example
-
In the following example, the administrator creates a shadowing agreement with central administration on the master DSA of the cooperating DSA table:
sob create -supplier {/cn=DirX-DSA-host1} \ -supplierpsap "TS=DSAUP,NA='TCP/IP!internet=123.26.171.123+port=21100'" \ -consumer {/cn=DirX-DSA-host2} \ -consumerkind CENTRALADMIN \ -consumerpsap "TS=DSALI,NA='TCP/IP!internet=134.27.161.145+port=21100'" \ -agreementid 5 \ -status noncooperative \ -agreement "SS={AREA={CP={/O=My-Company01}, \ RA={BAS={/}}}, \ ATT={DEF=TRUE}}, \ UM={SI={S={PS={WS=1000,UI=1,BT=20030101000000Z}}}}" -
In the following example, the administrator creates shadowing agreements in an X.500 DISP environment. He must create one agreement on the supplier DSA and one agreement on the consumer DSA. Here is the agreement on the supplier DSA:
sob create \ -consumerkind X500 \ -consumer {/cn=DirX-DSA-host2} \ -consumerpsap "TS=DSALI,NA='TCP/IP!internet=134.27.161.145+port=21100'" \ -agreementid 5 \ -status cooperative \ -agreement {SS={AREA={CP={/O=My-Company01}, RA={DEF=TRUE} }, ATT={DEF=TRUE} }, UM={SI={OC=TRUE}}, CHANGEO=FALSE } \ -pol {SUPP={US=TOTAL-INCR,MAXLOC=0}, CONS={US=TOTAL-INCR,REPLS=FALSE}, INI={RI=90,ATU=FALSE} }Here is the agreement on the consumer DSA:+
sob create \ -supplierkind X500 \ -supplier {/cn=DirX-DSA-host1} \ -supplierpsap "TS=DSAUP,NA='TCP/IP!internet=123.26.171.123+port=21100'" \ -consumer {/cn=DirX-DSA-host2} \ -consumerpsap "TS=DSALI,NA='TCP/IP!internet=134.27.161.145+port=21100'" \ -agreementid 5 \ -status cooperative \ -agreement {SS={AREA={CP={/O=My-Company01}, RA={DEF=TRUE} }, ATT={DEF=TRUE} }, UM={SI={OC=TRUE}}, CHANGEO=FALSE } \ -pol {SUPP={US=TOTAL-INCR,MAXLOC=0}, CONS={US=TOTAL-INCR,REPLS=FALSE}, INI={RI=90,ATU=FALSE} } -
In the following example, the administrator creates a shadowing agreement with a synchronous shadowing consumer DSA on the master DSA of the cooperating DSA table
sob create -supplier {/cn=DirX-DSA-host1} \ -supplierpsap "TS=DSAUP,NA='TCP/IP!internet=123.26.171.123+port=21100'" \ -consumer {/cn=DirX-DSA-host2} \ -consumerpsap "TS=DSALI,NA='TCP/IP!internet=134.27.161.145+port=21100'" \ -consumerkind SYNCHRON \ -agreementid 50 \ -status cooperative \ -pol "INI={ATU=TRUE,RMR=3},SUPP={US=SEGM-TOTAL-INCR},CONS={REPLS=TRUE}" -
In the following example, the administrator creates a synchronous shadowing agreement and the total update is configured by media
sob create -supplier {/cn=DirX-DSA-host1} \ -supplierpsap "TS=DSAUP,NA='TCP/IP!internet=123.26.171.123+port=21100'" \ -consumer {/cn=DirX-DSA-host2} \ -consumerpsap "TS=DSALI,NA='TCP/IP!internet=134.27.161.145+port=21100'" \ -consumerkind SYNCHRON \ -agreementid 60 \ -agreement "CHANGEO=TRUE" \ -status cooperative \ -pol "INI=\{ATU=TRUE,RMR=3},SUPP=\{US=SEGM-TOTAL-INCR},CONS=\{REPLS=TRUE}"
sob delete
Deletes a shadowing agreement. The syntax is as follows:
-
sob disable
-agreementid agreementid
[-supplier dsa_name]
-consumer dsa_name
Options
-agreementid agreementid
-
Specifies the shadowing agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the shadowing agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm sob create); each time the agreement is established (with dirxadm sob establish), the DSA increments the version number by 1. It is only used for displaying.
-
-supplier dsa_name
-
Specifies the name of the DSA sending the directory information. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
-consumer dsa_name
-
This required option specifies the name of the DSA receiving the directory information. Specify the complete distinguished name of the consumer DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax.
The delete operation removes a shadowing agreement. Before performing the sob delete operation it is recommended to deactivate the agreement with sob terminate. (See the sob terminate operation for details.)
If the last agreement to a DSA is deleted the master DSA of the cooperating DSA table automatically deletes the agreement that propagates the cooperating DSA table to this DSA. (See the dirxadm sob create operation for details.) If this DSA is not available the agreement is kept and the DSA tries to propagate the deletion in the error recovery procedures. If you are sure that this DSA will never return you may delete this agreement manually.
sob disable
Disables the execution of a shadowing agreement. This operation can only be performed on agreements with the status COOPERATIVE of an operational binding. The syntax is as follows:
-
sob disable
-agreementid agreementid
[-supplier dsa_name]
-consumer dsa_name
Options
-agreementid agreementid
-
Specifies the shadowing agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the shadowing agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm sob create); each time the agreement is established (with dirxadm sob establish), the DSA increments the version number by 1. It is only used for displaying.
-
-supplier dsa_name
-
Specifies the name of the DSA sending the directory information. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
-consumer dsa_name
-
This required option specifies the name of the DSA receiving the directory information. Specify the complete distinguished name of the consumer DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax.
The disable operation disables the execution of a shadowing agreement. This operation can only be performed on agreements with the status COOPERATIVE of an operational binding. The status COOPERATIVE is not changed. The disabled flag is set to TRUE. (See section titled Update-Status of the DirX Directory String Representation for DAP Binds chapter in DirX Directory Syntaxes and Attributes for details.) Use the sob enable operation to activate the shadowing agreement. Then the supplier DSA sends incremental updates to the consumer DSA.
The disable operation can only be performed locally. It must be performed first on the consumer DSA and then on the supplier DSA.
sob enable
Enables the execution of a shadowing agreement which has been disabled by the DSA internally (for example, because of previous recovery problems), or by the sob disable operation. This operation can only be performed on agreements with the status COOPERATIVE of an operational binding. The syntax is as follows:
-
sob enable
-agreementid agreementid
[-supplier dsa_name]
-consumer dsa_name
Options
-agreementid agreementid
-
Specifies the shadowing agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the shadowing agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm sob create); each time the agreement is established (with dirxadm sob establish), the DSA increments the version number by 1. It is only used for displaying.
-
-supplier dsa_name
-
Specifies the name of the DSA sending the directory information. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
-consumer dsa_name
-
This required option specifies the name of the DSA receiving the directory information. Specify the complete distinguished name of the consumer DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax.
The enable operation enables the execution of a shadowing agreement which has been disabled by the DSA internally (for example, because of previous recovery problems), or by the sob disable operation. The supplier DSA sends incremental updates to the consumer DSA. This operation can only be performed on agreements with the status COOPERATIVE of an operational binding. The status COOPERATIVE is not changed. The disabled flag is set to FALSE. (See section titled Update-Status of the DirX Directory String Representation for DAP Binds chapter in DirX Directory Syntaxes and Attributes for details.)
The enable operation can only be performed locally. It must be performed first on the consumer DSA and then on the supplier DSA.
sob establish
Changes the status of an operational binding to COOPERATIVE. The syntax is as follows:
-
sob establish
-agreementid agreementid
[-supplier dsa_name]
-consumer dsa_name
Options
-agreementid agreementid
-
Specifies the shadowing agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the shadowing agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm sob create); each time the agreement is established (with dirxadm sob establish), the DSA increments the version number by 1. It is only used for displaying.
-
-supplier dsa_name
-
Specifies the name of the DSA sending the directory information. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
-consumer dsa_name
-
This required option specifies the name of the DSA receiving the directory information. Specify the complete distinguished name of the consumer DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax.
The establish operation changes the status of an existing operational binding to COOPERATIVE. It increases the version of the agreement by 1. (See the -agreementid option for details.) Use this operation to activate a shadowing agreement. The supplier DSA sends a total update to the consumer DSA if the ATU (automatic total update) subcomponent of the INI (initiator policy) component of the SOB-Policies is TRUE and the CHANGEO (changes only) component of the Shadowing-Agreement-Info is FALSE.
sob help
Returns help information about the sob object and its operations. The syntax is as follows:
-
sob help [operation | -verbose]
Options
-verbose
-
Displays information about the sob object.
Used without an argument or option, the help command returns brief information about each sob operation. Use the operation argument to return a description of the options associated with the operation you specify. Alternatively, you can use the -verbose option to return a description of the sob object itself.
Example
sob help
The output of the sample command follows:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sob operations
Returns a list of operations that can be performed on the sob object. The syntax is as follows:
-
sob operations
The list of available operations is in alphabetical order except for help and operations, which are listed last.
sob show
Displays a DSA’s shadowing agreements. The syntax is as follows:
-
sob show
[-agreementid agreementid]
[-supplier dsa_name]
[-consumer dsa_name]
[-pretty]
Options
-agreementid agreementid
-
Specifies the shadowing agreement identifier. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the shadowing agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm sob create); each time the agreement is established (with dirxadm sob establish), the DSA increments the version number by 1. It is only used for displaying.
-
-supplier dsa_name
-
Specifies the name of the DSA sending the directory information. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
-consumer dsa_name
-
This required option specifies the name of the DSA receiving the directory information. Specify the complete distinguished name of the consumer DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax.
-pretty
-
Displays the results of the operation in a tabular format.
The show operation displays the shadowing agreements that have been created for a DSA.
When used without options, the operation returns the complete distinguished names and PSAP addresses of all supplier DSAs. (See Access-Point structured attribute syntax in DirX Directory Syntaxes and Attributes for details.)
When used with the -supplier option only, the operation returns the complete distinguished names and PSAP addresses of all consumer DSAs that get shadows from this supplier DSA.
When used with the -supplier and -consumer option only, the operation returns the list of all agreement IDs that describe operational bindings between these DSAs.
When used with all options, the following information is displayed:
-
Binding state - The status of the operational binding (e.g. COOPERATIVE). (See OBS component of Cooperating-DSA structured attribute syntax in DirX Directory Syntaxes and Attributes for details.)
-
Validity - The time period during which the shadowing agreement or LDIF agreement is valid. (See -validity option of the dirxadm sob create command for details.)
-
Agreement - The information about the shadowing agreement. (See SAI component of Cooperating-DSA structured attribute syntax in DirX Directory Syntaxes and Attributes for details.)
-
Policies - The policies to be performed for the shadowing agreement. (See RPOL subcomponent of the SAI component of Cooperating-DSA structured attribute syntax in DirX Directory Syntaxes and Attributes for details.)
-
Update status - The update status of the shadowing agreement. (See Update-Status structured attribute syntax in DirX Directory Syntaxes and Attributes for details.)
By default, the results of the show operation are displayed as a Tcl list; use the -pretty option to return the results in a tabular, more readable format.
Example
-
The following command displays a list of all supplier DSAs:
sob show -p
The output of the sample command follows:
Supplier-DSA AE-Title : /CN=DirX-DSA-host1 PSAP-Address T-Selector : DSA1 NSAP-Address : TCP/IP!internet=123.26.171.123+port=21100 Supplier-DSA AE-Title : /CN=DirX-DSA-host2 PSAP-Address T-Selector : DSA2 NSAP-Address : TCP/IP!internet=134.27.161.145+port=2110
-
The following command displays shadowing agreement 5 between supplier DSA /CN=DirX-DSA-host1 and consumer DSA /CN=DirX-DSA-host2:
sob show -agreementid 5 \ -supplier {/cn=DirX-DSA-host1} \ -consumer {/cn=DirX-DSA-host2} -pThe output of the sample command illustrates sob show output that was generated while the DSA was sending a shadowing update. (See the displayed “Actual-Update” component.) The output of the sample command follows:
Validity-Agreement Operational-Binding-State : COOPERATIVE OprBindMngmnt-Validity Validity-From : 060922071712Z Agreement Shadow-Subject Area-Specification Context-Prefix : /O_DUTF8=My-Company Replication-Area Default-Value : TRUE Attribute-Selection Default-Value : TRUE Update-Mode Supplier-Initiated On-Change : TRUE Update-Status Disabled : FALSE Update-Status Supplier-Update-Status Area-Change-State : NO-CHANGES Old-Updates Segment-ID : 4 Update-Time : 20060922075524Z Area-Changes : TRUE Actual-Update WaitingState : WAIT_BIND_RESPONSE Segment-ID : 5 Update-Time : 20060922080930Z Area-Changes : TRUE Offset : 375 ModCount : 67 Last-Upd-Entry : /o=my-company/ou=sales/cn=xyz -
The following command displays status of consumer DSAs:
sob show -suppl {/CN=DirX-DSA-host1} -pThe output of the sample shows the status of two consumer DSAs whose DISP type is SYNCHRON. The output of the sample command follows:
Consumer-DSA Cooperating-DSA AE-Title : /CN=DirX-DSA-host2 PSAP-Address T-Selector : DSA1 NSAP-Address : TCP/IP_IDM!internet=134.27.161.145+port=21200 DISP-Kind : SYNCHRON Recent-MSN Recent-MSN : 1001 Sync-Status Sync-Status : TRUE Cooperating-DSA AE-Title : /CN=DirX-DSA-host3 PSAP-Address T-Selector : DSA1 NSAP-Address : TCP/IP_IDM!internet=134.27.161.146+port=21200 DISP-Kind : SYNCHRON Recent-MSN Recent-MSN : 1001 Sync-Status Sync-Status : TRUE
sob switch
Switches the supplier DSA (sender of shadowed information). The syntax is as follows:
-
sob switch
{-from dsa_name
-to dsa_name |
-emergency}
Options
-from dsa_name
-
Specifies the name of the current supplier DSA (sender of the shadowed information). Specify the complete distinguished name of the DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax.
-to dsa_name
-
Specifies the name of the future supplier DSA. Specify the complete distinguished name of the DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax.
-emergency
-
Specifies an emergency switch. All other options are prohibited for this option.
If the bind DSA is a consumer of the cooperating DSA subentry it now becomes the supplier DSA of the cooperating DSA subentry and all shadowing agreements that it is a consumer DSA and that were supplied by the old master DSA of the cooperating DSA subentry. The old master DSA of the cooperating DSA subentry must not run that is the new supplier DSA of the cooperating DSA subentry rejects the operation when the current supplier DSA is running.
The switch operation switches the role of a supplier DSA to a consumer DSA. The participating DSAs specified in the -from and -to options must run while the operation is in progress. The roles are switched after all remaining updates had been sent. Therefore this operation may last some time.
Use the -emergency option to perform an emergency switch when one or more DSAs have broken down.
For synchronous shadowing configurations, the new supplier DSA’s database must have the most recent version compared to the database version of the other switchable consumer DSAs (emergency switch compares the value of the DirX Directory Recent MSN (dirxRecentMSN) attribute with that of the other switchable consumer DSAs and rejects the operation if this condition is not true). Once the old supplier DSA is online again, the new supplier DSA transmits a total update automatically to the old supplier DSA. For asynchronous shadowing configurations, you must ensure that the old supplier DSA’s data is transformed into shadow data before re-starting the DSA, for example, by restoring a backup from the new supplier DSA.
If a sob switch -emergency operation is performed after stopping the supplier while it is in the process of sending updates, the unsent updates are lost.
If the operation is performed while a lot of update operations are in progress, some of the update operations fail.
The REPLS subcomponent of the consumer policy must be TRUE. (See the SOB-Policies syntax in chapter titled DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for details.)
Another aspect is unique constraint configuration, if this feature is enabled. At non emergency switch time, unique constraint configuration must be identical on both DSAs or the operation is rejected. In case of an emergency switch this is not proved. It is on the behalf of the administrator to implement a consistent unique constraint configuration between the new supplier DSA and remaining switchable consumer DSAs. (See the dirxadm db attrconfig operation and section Unique Constraints Configuration Management in a Shadow Configuration in the DirX Directory Administration Guide for details.)
Before you perform the sob switch operation, you must ensure that all affected shadowing and LDIF agreements are in COOPERATIVE status and enabled. To check this perform sob show operations.
There may be a special LDIF agreement below the root DSE (/) that is intended especially for dumping the complete database (for example for migrating or reloading issues). If there is this LDIF agreement below root DSE and the DSE type of the root DSE does not contain the value CP (context prefix) you should delete this LDIF agreement before you switch the master. (See DSE Type Syntax in DirX Directory Syntaxes and Attributes for details.) In the event of an emergency switch, delete it immediately after performing the switch operation, for example, by performing a delete_total_ldif [agreementid] operation.
Note that in DirX Directory, local policies - the DSA policies and user policies - are stored in operational attributes of the root DSE. These policies are managed with the dirxadm tool; shadowing does not propagate modifications. Keep in mind that policy settings originally intended for a shadow DSA will apply to a master DSA after the switch operation is performed. Use dirxadm to re-administer policy values that no longer fit with the new role of a DSA.
You cannot perform a switch operation if any DSA with disp_kind X500 (see the sob create opration for details) takes part in the shadowing agreements to switch.
On a switch operation, all query references (cookies) are deleted in both DSAs that are involved in the switch operation. Query references generated by DSAs that are not participating in the switch operation are unaffected. If an LDAP application has an active paged search operation performed on one of the DSAs involved when the sob switch operation is executed, the next request of the paged search operation will result in an “unwilling to perform” operation error and the LDAP message [DSA]:Invalid query ref. If a query reference was generated by a DSA whose role did not change as a result of the switch operation, the paged search continuation will succeed for a next page call after the switch.
sob synchronize
Initiates the immediate transfer of remaining updates to consumer DSAs. The time interval of scheduled agreements is interrupted and transferring updates is started. Once the updates have been transmitted, the normal time interval for scheduled agreements takes effect again. The syntax is as follows:
-
sob synchronize
[-consumer dsa_name [-agreementID agreementidt]]
Options
-consumer dsa_name
-
Specifies the name of the consumer DSA (receiver of the shadowed information). Specify the complete distinguished name of the DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax.
-agreementid agreementid
-
Specifies a shadowing agreement identifier. This option can only be specified together with the -consumer option. Specify agreementid in the format
-
id[,version]
where id is an integer that uniquely identifies the shadowing agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm sob create); each time the agreement is established (with dirxadm sob establish), the DSA increments the version number by 1. It is only used for displaying.
-
The synchronize operation initiates transferring remaining updates to consumer DSAs immediately.
Use the -consumer option to perform data synchronizing for a specific consumer DSA.
Use the -agreementid option to perform data synchronizing for a specific shadowing agreement of a specific consumer DSA.
If the operation is performed without options the operation initiates transferring all remaining updates for all shadowing agreements to all consumer DSAs.
Before you perform the sob synchronize operation you must ensure that all affected shadowing and LDIF agreements are in COOPERATIVE status and enabled. To check this perform sob show operations.
sob terminate
Changes the status of an operational binding to NONCOOPERATIVE (deactivates shadowing). The syntax is as follows:
-
sob terminate
-agreementid agreementid
[-supplier dsa_name]
-consumer dsa_name
Options
-agreementid agreementid
Specifies a shadowing agreement identifier. This option can only be specified together with the -consumer option. Specify agreementid in the format
+
id[*,*version]
+ where id is an integer that uniquely identifies the shadowing agreement and version is an optional integer that specifies the version. The version number is managed by the DSA. The DSA assigns the value 0 when the agreement is created (with dirxadm sob create); each time the agreement is established (with dirxadm sob establish), the DSA increments the version number by 1. It is only used for displaying.
-supplier dsa_name
-
Specifies the name of the DSA sending the directory information. Specify the complete distinguished name of the supplier DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax. The default value is the local DSA.
-consumer dsa_name
-
Specifies the name of the consumer DSA (receiver of the shadowed information). Specify the complete distinguished name of the DSA. See DirX Directory String Representation for DAP Binds in DirX Directory Syntaxes and Attributes for a description of distinguished name syntax.
The terminate operation changes the status of an existing operational binding to NONCOOPERATIVE. Use this operation to deactivate a shadowing agreement.
Use the sob establish operation to activate the shadowing agreement. If the CHANGEO component of the Shadowing Agreement Info (-agreement option of sob create) is set to FALSE then the supplier DSA sends a total update to the consumer DSA.
sys (dirxadm)
Synopsis
sys help [operation | -verbose]
[sys] log
[sys] nolog
sys operations
[sys] opmode [op_mode]
[sys] start [-host hostname] [-port portnumber]
[sys] status
[sys] stop
Arguments
operation
-
The name of the sys operation for which to display help information.
op_mode
-
Specifies the operation mode of the DSA. Specify one of the following keywords:
-
READONLY—Specifies that the DSA allows only read operations, for example list, search or show operation. Update operations, for example add, delete or modify operation, are rejected.
-
READWRITE—Specifies that the DSA allows all operations.
-
Operations
sys help
Returns help information about the sys object and its operations. The syntax is as follows:
-
sys help [operation | -verbose]
Options
-verbose
-
Displays information about the sys object.
Used without an argument or option, the sys help operation returns brief information about each sys operation. Use the operation argument to return a description of the options associated with the operation you specify. Alternatively, you can use the -verbose option to return a description of the sys object itself.
Example
sys help
The output of the sample command follows:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sys log
Starts server diagnostic logging. The syntax is as follows:
-
[sys] log
DSA logging is initially controlled by the specifications in the configuration file install_path/*server/conf/dirxlog.cfg*. When a sys log operation is performed, subsequent logging is controlled by the specifications in the configuration file install_path/*server/conf/dirxlog.on*. To use these specifications when restarting the server, edit the file install_path/*server/conf/dirxlog.cfg* according to the settings in file install_path/*server/conf/dirxlog.on*. By default, the log files are written to the directory install_path*/server/log*. Use the dirxdumplog command to read the diagnostic information in the trace log files. The exception log files are readable files. (See Logging Configuration Files in chapter DirX Directory Files for details about the logging configuration files and how to enable, disable and modify logging.)
sys nolog
Stops server diagnostic logging. The syntax is as follows:
-
[sys] nolog
DSA logging is initially controlled by the specifications in the configuration file install_path/*server/conf/dirxlog.cfg*. When a sys nolog operation is performed, subsequent logging is controlled by the specifications in the configuration file install_path/*server/conf/dirxlog.off*. To use these specifications when restarting the server, edit the file install_path/*server/conf/dirxlog.cfg* according to the settings in install_path/*server/conf/dirxlog.off*. By default, the log files are written to the directory install_path*/server/log*. Use the dirxdumplog command to read the diagnostic information in the trace log files. The exception log files are readable files. (See Logging Configuration Files in chapter DirX Directory Files for details about the logging configuration files and how to enable, disable and modify logging.)
sys operations
Returns a list of operations that can be performed on the sys object. The syntax is as follows:
-
sys operations
The list of available operations is in alphabetical order, except for help and operations, which are listed last.
sys opmode op_mode
Sets or displays the operation mode of the DSA. The syntax is as follows:
-
[sys] opmode [op_mode]
The opmode operation sets the operation mode of the DSA to the mode specified in op_mode. (See section Arguments above for details.) After the operation has been performed successfully the operation mode of the DSA is displayed. The change of the operation mode is persistent that is after a shutdown the DSA is restarted in the last op_mode in force.
If op_mode is not supplied, the operation displays the current operation mode of the DSA:
-
READONLY—The DSA allows only read operations, for example list, search or show operation. Update operations, for example add, delete or modify operation, are rejected.
-
READWRITE—The DSA allows all operations.
-
POSTINDEXING—Indicates that one of the following dirxadm operations is running:
-
db attrconfig
-
db check -bs
-
db purge -pob
-
db statistics [-create | -update]
While these operations are in progress, update operations are rejected. After the operations have finished the operation mode is re-set to READWRITE.
-
-
VERIFY—Indicates that the dbamverify command is running. Update operations are rejected. After the dbamverify command has finished the operation mode is re-set to the mode last recently in force.
-
READONLYWAIT—Indicates that the dbamdevinfo command is running. Update operations are delayed until the command has finished. This may take several seconds. Then the operation mode is re-set to the mode last recently in force. Delayed update operations are performed.
sys start
Starts a Directory Service (DSA, LDAP server and progsvr). The syntax is as follows:
-
[sys] start [-host hostname] [-port portnumber]
Options
-host hostname
-
The hostname or IP address of the machine hosting the Directory Service to be administered. The default is localhost.
-port portnumber
-
The port number of the process that is starting the Directory Service. You should use the -port option only if there is a conflict with the default port number on your system. The default port is 5800.
Use the -host and/or -port options to start a specific Directory Service on a Linux system.
Unlike other operations, you must not perform a dse bind operation before performing the sys start operation.
On Windows systems, DirX Directory is started as a service by using the Administration Tool Services. The sys start operation is used to start a remote Directory Service on a Linux system. In this case the -host option must be specified.
In a client installation on Linux, start the LDAP server by performing the command
/etc/init.d/dirx start as root.
The start operation may take several seconds. An initdaemon process is loaded to start the progsvr, the LDAP server and the DSA. dirxadm waits for a result of the initdaemon.
sys status
Shows the status of the connection to the DSA currently used. The syntax is as follows:
-
[sys] status
sys stop
Stops a Directory Service (DSA, LDAP server and progsvr). The syntax is as follows:
-
[sys] stop
On Windows systems, DirX Directory is stopped by using the Administration Tool Services. It is recommended not to use the sys stop operation.
In a client installation on Linux, stop the LDAP server by performing the command
/etc/init.d/dirx stop as root.
The stop operation may take several seconds because the server must terminate outstanding update operations and cancel outstanding retrieval operations.
util (dirxadm)
Synopsis
create_total_ldif [agreementid] [subtree]
delete_total_ldif [agreementid]
ldif_dump [subtree]
export_dbconfig [filename]
import_dbconfig [filename]
Arguments
agreementid
-
The LDIF agreement identifier, in the format
-
id[,version]
where id is an integer that uniquely identifies the LDIF agreement and version is an optional integer that specifies the version. The default value is 1111.
-
filename
-
The name of the file to write or to read the database configuration.
subtree
-
The distinguished name of the base object of the subtree at which the LDIF output is to be created.
Operations
create_total_ldif
Creates a cooperative LDIF agreement that saves the entire DIT or a subtree of the DIT to one or more local files in LDIF content and / or LDIF change format. This LDIF agreement is a special LDIF agreement below root (/) or the subtree specified in the command that is intended for dumping the complete DBAM database or a database subtree; for example, for migrating or reloading issues. It should not be a permanent LDIF agreement.
The syntax is as follows:
-
create_total_ldif [agreementid] [subtree]
The operation performs a lob create operation to create the LDIF agreement. See the lob create operation for details.
The generated LDIF files (agreementid.timestamp) are saved to the directory install_path*/server/ldif*. If no subtree is specified, they contain the entire DIT (all entries, subentries, the cooperating DSA table, and the schema). The agreementid in the filename indicates all LDIF files that belong together. The timestamp in the filename indicates the load sequence. All LDIF files must be opened to determine whether the files are LDIF content files or LDIF change files. Usually, the oldest file is an LDIF content file and the rest are LDIF change files.
When re-loading the LDIF files, all files generated by other LDIF agreements can be ignored. To re-load the database, perform the following steps:
-
Stop the service.
-
Load all generated LDIF content files with dirxload.
-
Start the service.
-
Load all generated LDIF change files with dirxmodify.
-
If the entire DIT was restored, re-create additional indexes if necessary.
See also the dirxload and the dirxmodify command for details.
delete_total_ldif
Deletes the specified LDIF agreement. The syntax is as follows:
-
delete_total_ldif [agreementid]
The operation performs a lob delete operation to delete the specified LDIF agreement. See the lob delete operation for details.
ldif_dump
Performs a one-time total LDIF dump of the DBAM database. The syntax is as follows:
-
ldif_dump [subtree]
The operation creates one LDIF content file with the entire DIT (all entries, subentries, the cooperating DSA table, and the schema) of the bind DSA or the specifed subtree. The DSA can be a supplier DSA or a consumer DSA.
The operation does not create an LDIF agreement.
The operation does not lock the DSA for read or write access. Consequently, updates to the database that are made during the operation may not be contained in the resulting LDIF content file. To avoid this scenario, it is recommended to set the DSA to READONLY mode with the dirxadm sys opmode READONLY operation before performing the ldif_dump command.
The name of the resulting LDIF content file is 0000001112STANDALONE.*timestamp. It is located in the folder install_path/server/ldif*. For more information on files in LDIF format, see the dirxadm lob create operation.
export_dbconfig
Exports a database configuration. The syntax is as follows:
-
export_dbconfig [filename]
where filename specifies the name of the file to that the operation writes the database configuration. If no filename is specified the configuration is exported to the file install_path*/tmp/DirXDBconfig.out* or %DIRX_TMP%/DirXDBconfig.out on Windows and $DIRX_TMP/DirXDBconfig.out on Linux.
The operation exports the index description of all indexed attributes. The generated file can be used by the dirxadm import_dbconfig operation to import the same database configuration to another database.
Example
export_dbconfig C:/tmp/DirXDBconfig.out
The sample output is as follows:
# DirX Directory V9.0 9.4.428 2023:03:23 20:10 64-Bit
# Read abbreviations from dirxabbr
# operation ok
# Read Attributes of the DSA schema
# operation ok
# Read indexed Attributes of the DSA schema
# AttributeIndexDescription = "("
# whsp numericoid ; Object identifier of attribute
# whsp ["NAME" whsp qdescr ] ; LDAP attribute name
# whsp ["INDEX" [whsp INITIAL] [whsp FINAL] [whsp CONTAINS] [whsp PRESENT] [whsp APPROXIMATE]] ; type of indices present
# whsp OPTREAD true|false
# whsp ")"
# The following 12 attributes are indexed
dn: cn=dbconfig
# ObjectClass(es) have to be added (objectClass: <top>)
attributeIndex: ( 2.5.4.6 NAME 'c' INDEX INITIAL FINAL OPTREAD true )
attributeIndex: ( 2.5.4.3 NAME 'cn' INDEX INITIAL FINAL OPTREAD true )
attributeIndex: ( 2.5.4.13 NAME 'description' INDEX INITIAL FINAL CONTAINS OPTREAD true )
attributeIndex: ( 2.5.4.31 NAME 'member' INDEX INITIAL FINAL OPTREAD true )
attributeIndex: ( 2.5.4.10 NAME 'o' INDEX INITIAL FINAL OPTREAD true )
attributeIndex: ( 2.5.4.0 NAME 'objectClass' INDEX INITIAL FINAL OPTREAD true )
attributeIndex: ( 2.5.4.10.1 NAME 'collectiveOrganizationName' INDEX INITIAL FINAL OPTREAD true )
attributeIndex: ( 2.5.4.11 NAME 'ou' INDEX INITIAL FINAL OPTREAD true )
attributeIndex: ( 2.5.4.11.1 NAME 'collectiveOrganizationalUnitName' INDEX INITIAL FINAL OPTREAD true )
attributeIndex: ( 2.5.4.4 NAME 'sn' INDEX INITIAL FINAL OPTREAD true )
attributeIndex: ( 2.5.4.20 NAME 'telephoneNumber' INDEX INITIAL FINAL CONTAINS OPTREAD true )
attributeIndex: ( 2.5.4.20.1 NAME 'collectiveTelephoneNumber' INDEX INITIAL FINAL CONTAINS OPTREAD true )
import_dbconfig
Imports a database configuration. The syntax is as follows:
-
import_dbconfig [filename]
where filename specifies the name of the file that contains the database configuration. If no filename is specified the configuration is imported from the file install_path*/tmp/DirXDBconfig.out* or %DIRX_TMP%/DirXDBconfig.out on Windows and $DIRX_TMP/DirXDBconfig.out on Linux.
A configuration can be imported only if the schema contains all attributes in the configuration file. This file can be generated by exporting the database configuration by performing a dirxadm export_dbconfig operation or by editing the configuration file in the following format:
-
Blank lines and lines starting with the # character are ignored.
-
The file must be identified by the line dn: cn=dbconfig at the beginning of the file.
-
All information for one attribute index must be specified in a single line.
-
Each line is divided into fields separated by the SPACE character.
-
Each line starts with the keyword attributeIndex:.
-
The attribute index description must be enclosed in round brackets (" ( " and " ) ") followed or preceeded by a SPACE character.
-
The attribute index description is specified in the following syntax:
-
attribute_object_identifier
[NAME '*ldap_name'* ]
[INDEX [INITIAL ] [FINAL ] [CONTAINS ] [PRESENT ] [APPROXIMATE ]]
OPTREAD {true|false}
where
-
-
attribute_object_identifier
-
is a required field specifying the object identifier of the attribute, for example 1.2.3.4.5
-
-
NAME 'ldap_name'
-
is an optional field specifying the LDAP name of the attribute. The specified LDAP name must match one of the LDAP names specified for the attribute_object_identifier in the DSA schema.
-
-
INDEX [INITIAL ] [FINAL ] [CONTAINS ] [PRESENT ] APPROXIMATE ]
-
is an optional field specifying the index type(s):
-
INITIAL - An initial index.
-
FINAL - A final index.
-
CONTAINS - An index optimizing the search performance of substrings positioned anywhere in the attribute value.
-
PRESENT - An index optimizing the search performance checking for the presence of an attribute type.
-
APPROXIMATE - An index optimizing the search performance for phonetic match.
-
-
If the INDEX field is not specified and an index exists in the database for the attribute type specified in the attribute_object_identifier field the index in the database is deleted.
-
-
OPTREAD {true|false}
-
is a required field that specifies whether or not access to the attribute specified in the attribute_object_identifier field and its values is to be optimized. A value of true enables access optimization and a value of false disables access optimization.
-
See also the dirxadm db attrconfig operation for details on indexes.
Here is an example for a configuration file:
dn: cn=dbconfig attributeIndex: ( 2.5.4.6 NAME 'c' INDEX INITIAL FINAL OPTREAD true ) attributeIndex: ( 2.5.4.3 NAME 'cn' INDEX INITIAL FINAL OPTREAD true ) attributeIndex: ( 2.5.4.13 NAME 'description' INDEX INITIAL FINAL CONTAINS OPTREAD true ) attributeIndex: ( 2.5.4.31 NAME 'member' INDEX INITIAL FINAL OPTREAD true ) attributeIndex: ( 2.5.4.10 NAME 'o' INDEX INITIAL FINAL OPTREAD true ) attributeIndex: ( 2.5.4.0 NAME 'objectClass' INDEX INITIAL FINAL OPTREAD true ) attributeIndex: ( 2.5.4.10.1 NAME 'collectiveOrganizationName' INDEX INITIAL FINAL OPTREAD true ) attributeIndex: ( 2.5.4.11 NAME 'ou' INDEX INITIAL FINAL OPTREAD true ) attributeIndex: ( 2.5.4.11.1 NAME 'collectiveOrganizationalUnitName' INDEX INITIAL FINAL OPTREAD true ) attributeIndex: ( 2.5.4.4 NAME 'sn' INDEX INITIAL FINAL OPTREAD true ) attributeIndex: ( 2.5.4.20 NAME 'telephoneNumber' INDEX INITIAL FINAL CONTAINS OPTREAD true ) attributeIndex: ( 2.5.4.20.1 NAME 'collectiveTelephoneNumber' INDEX INITIAL FINAL CONTAINS OPTREAD true )
Example
import_dbconfig C:/tmp/DirXDBconfig.out
The sample output is as follows:
Indexing (2.5.4.6 - c) was successful Indexing (2.5.4.3 - cn) was successful Indexing (2.5.4.13 - description) was successful Indexing (2.5.4.31 - member) was successful Indexing (2.5.4.10 - o) was successful Indexing (2.5.4.0 - objectClass) was successful Indexing (2.5.4.10.1 - collectiveOrganizationName) was successful Indexing (2.5.4.11 - ou) was successful Indexing (2.5.4.11.1 - collectiveOrganizationalUnitName) was successful Indexing (2.5.4.4 - sn) was successful Indexing (2.5.4.20 - telephoneNumber) was successful Indexing (2.5.4.20.1 - collectiveTelephoneNumber) was successful 12 attributes are indexed (0 error(s))