51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark<?xml version="1.0" encoding="UTF-8"?>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark<!--
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! CCPL HEADER START
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark !
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! This work is licensed under the Creative Commons
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! Attribution-NonCommercial-NoDerivs 3.0 Unported License.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! To view a copy of this license, visit
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! http://creativecommons.org/licenses/by-nc-nd/3.0/
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! or send a letter to Creative Commons, 444 Castro Street,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! Suite 900, Mountain View, California, 94041, USA.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark !
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! You can also obtain a copy of the license at
68955588fb157875ac7bb879662e1995862e717cmark ! trunk/opendj/legal-notices/CC-BY-NC-ND.txt.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! See the License for the specific language governing permissions
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! and limitations under the License.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark !
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! If applicable, add the following below this CCPL HEADER, with the fields
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! enclosed by brackets "[]" replaced with your own identifying information:
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! Portions Copyright [yyyy] [name of copyright owner]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark !
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ! CCPL HEADER END
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark !
68955588fb157875ac7bb879662e1995862e717cmark ! Copyright 2011-2015 ForgeRock AS.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark !
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark-->
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark<chapter xml:id='chap-server-process'
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en'
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
08248b5c5b494aff8d1922e8e0b5777796d7450dmark xsi:schemaLocation='http://docbook.org/ns/docbook
08248b5c5b494aff8d1922e8e0b5777796d7450dmark http://docbook.org/xml/5.0/xsd/docbook.xsd'
08248b5c5b494aff8d1922e8e0b5777796d7450dmark xmlns:xlink='http://www.w3.org/1999/xlink'>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <title>Managing Server Processes</title>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>Using the OpenDJ Control Panel, you can start and stop local servers.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark You can also start and stop OpenDJ using command-line tools, and use the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark operating system's capabilities for starting OpenDJ at boot time.</para>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>This chapter demonstrates how to start and stop server processes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark with command line tools and using operating system capabilities. This
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark chapter also describes what OpenDJ directory server does during startup
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and shutdown, and how it recovers following an abrupt shutdown such as
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark happens during a system crash or when you kill the server process using
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark system tools.</para>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <section xml:id="start-server">
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <title>Starting a Server</title>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <indexterm><primary>Start server</primary></indexterm>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <itemizedlist>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>Use one of the following techniques.</para>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <listitem>
ec40cc0dc62425cea5d63fd9d984f8614479de25mark <para>
ec40cc0dc62425cea5d63fd9d984f8614479de25mark Use the
ec40cc0dc62425cea5d63fd9d984f8614479de25mark <link
ec40cc0dc62425cea5d63fd9d984f8614479de25mark xlink:show="new"
57d6342a74476c0bf2200992e778229d62ab1fa6mark xlink:href="reference#start-ds-1"
ec40cc0dc62425cea5d63fd9d984f8614479de25mark xlink:role="http://docbook.org/xlink/role/olink"
ec40cc0dc62425cea5d63fd9d984f8614479de25mark ><command>start-ds</command></link> command.
ec40cc0dc62425cea5d63fd9d984f8614479de25mark </para>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark$ <userinput>start-ds</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <para>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark Alternatively, you can specify the <option>--no-detach</option>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark option to start the server in the foreground.
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </para>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </listitem>
038045ba945b0937cede38059a159b3fc0e3ca60mark
038045ba945b0937cede38059a159b3fc0e3ca60mark <listitem>
038045ba945b0937cede38059a159b3fc0e3ca60mark <para>(Linux) If OpenDJ directory server was installed from a .deb or .rpm
038045ba945b0937cede38059a159b3fc0e3ca60mark package, then service management scripts were created at setup time.</para>
038045ba945b0937cede38059a159b3fc0e3ca60mark
038045ba945b0937cede38059a159b3fc0e3ca60mark <para>Use the <command>service opendj start</command> command.</para>
038045ba945b0937cede38059a159b3fc0e3ca60mark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmarkcentos# <userinput>service opendj start</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark<computeroutput>Starting opendj (via systemctl): [ OK ]</computeroutput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
038045ba945b0937cede38059a159b3fc0e3ca60mark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmarkubuntu$ <userinput>sudo service opendj start</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark<computeroutput>$Starting opendj: > SUCCESS.</computeroutput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
038045ba945b0937cede38059a159b3fc0e3ca60mark </listitem>
038045ba945b0937cede38059a159b3fc0e3ca60mark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <listitem>
ec40cc0dc62425cea5d63fd9d984f8614479de25mark <para>
ec40cc0dc62425cea5d63fd9d984f8614479de25mark (UNIX) Create an RC script by using the
ec40cc0dc62425cea5d63fd9d984f8614479de25mark <link
ec40cc0dc62425cea5d63fd9d984f8614479de25mark xlink:show="new"
57d6342a74476c0bf2200992e778229d62ab1fa6mark xlink:href="reference#create-rc-script-1"
ec40cc0dc62425cea5d63fd9d984f8614479de25mark xlink:role="http://docbook.org/xlink/role/olink"
ec40cc0dc62425cea5d63fd9d984f8614479de25mark ><command>create-rc-script</command></link> command,
ec40cc0dc62425cea5d63fd9d984f8614479de25mark and then use the script to start the server.
ec40cc0dc62425cea5d63fd9d984f8614479de25mark </para>
ec40cc0dc62425cea5d63fd9d984f8614479de25mark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>Unless you run OpenDJ as root, use the --userName
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <replaceable>userName</replaceable> option to specify the user
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark who installed OpenDJ.</para>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark$ <userinput>sudo create-rc-script \
08248b5c5b494aff8d1922e8e0b5777796d7450dmark --outputFile /etc/init.d/opendj \
08248b5c5b494aff8d1922e8e0b5777796d7450dmark --userName mark</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark$ <userinput>sudo /etc/init.d/opendj start</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>For example, on Linux if you run OpenDJ as root, you can use the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark RC script to start the server at system boot, and stop the server at
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark system shutdown.</para>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark$ <userinput>sudo update-rc.d opendj defaults</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark<computeroutput>update-rc.d: warning: /etc/init.d/opendj missing LSB information
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkupdate-rc.d: see &lt;http://wiki.debian.org/LSBInitScripts&gt;
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Adding system startup for /etc/init.d/opendj ...
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark /etc/rc0.d/K20opendj -> /init.d/opendj
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark /etc/rc1.d/K20opendj -> /init.d/opendj
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark /etc/rc6.d/K20opendj -> /init.d/opendj
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark /etc/rc2.d/S20opendj -> /init.d/opendj
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark /etc/rc3.d/S20opendj -> /init.d/opendj
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark /etc/rc4.d/S20opendj -> /init.d/opendj
08248b5c5b494aff8d1922e8e0b5777796d7450dmark /etc/rc5.d/S20opendj -> /init.d/opendj</computeroutput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </listitem>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <listitem>
ec40cc0dc62425cea5d63fd9d984f8614479de25mark <para>
ec40cc0dc62425cea5d63fd9d984f8614479de25mark (Windows) Register OpenDJ as a Windows Service by using the
ec40cc0dc62425cea5d63fd9d984f8614479de25mark <link
ec40cc0dc62425cea5d63fd9d984f8614479de25mark xlink:show="new"
57d6342a74476c0bf2200992e778229d62ab1fa6mark xlink:href="reference#windows-service"
ec40cc0dc62425cea5d63fd9d984f8614479de25mark xlink:role="http://docbook.org/xlink/role/olink"
ec40cc0dc62425cea5d63fd9d984f8614479de25mark ><command>windows-service</command></link> command,
ec40cc0dc62425cea5d63fd9d984f8614479de25mark and then manage the service through Windows administration tools.
ec40cc0dc62425cea5d63fd9d984f8614479de25mark </para>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmarkC:\path\to\opendj\bat> <userinput>windows-service.bat --enableService</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </listitem>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </itemizedlist>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>By default OpenDJ saves a compressed version of the server
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark configuration used on successful startup. This ensures that the server
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark provides a "last known good" configuration, which can be used as a reference
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark or copied into the active configuration if the server fails to start with the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark current active configuration. It is possible, though not usually recommended,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to turn this behavior off by changing the global server setting
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <literal>save-config-on-successful-startup</literal> to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <literal>false</literal>.</para>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </section>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <section xml:id="stop-server">
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <title>Stopping a Server</title>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <indexterm><primary>Stop server</primary></indexterm>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <itemizedlist>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>Use one of the following techniques.</para>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <listitem>
ec40cc0dc62425cea5d63fd9d984f8614479de25mark <para>
ec40cc0dc62425cea5d63fd9d984f8614479de25mark Use the
ec40cc0dc62425cea5d63fd9d984f8614479de25mark <link
ec40cc0dc62425cea5d63fd9d984f8614479de25mark xlink:show="new"
57d6342a74476c0bf2200992e778229d62ab1fa6mark xlink:href="reference#stop-ds-1"
ec40cc0dc62425cea5d63fd9d984f8614479de25mark xlink:role="http://docbook.org/xlink/role/olink"
ec40cc0dc62425cea5d63fd9d984f8614479de25mark ><command>stop-ds</command></link> command.
ec40cc0dc62425cea5d63fd9d984f8614479de25mark </para>
ec40cc0dc62425cea5d63fd9d984f8614479de25mark
429cb4af0dd170c44fe076f66fb43338d1820073mark <screen>$ stop-ds</screen>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </listitem>
038045ba945b0937cede38059a159b3fc0e3ca60mark
038045ba945b0937cede38059a159b3fc0e3ca60mark <listitem>
038045ba945b0937cede38059a159b3fc0e3ca60mark <para>(Linux) If OpenDJ directory server was installed from a .deb or .rpm
038045ba945b0937cede38059a159b3fc0e3ca60mark package, then service management scripts were created at setup time.</para>
038045ba945b0937cede38059a159b3fc0e3ca60mark
851ec05bc8adabc872d97be19ed06f6c8df7396emark <para>Use the <command>service opendj stop</command> command.</para>
038045ba945b0937cede38059a159b3fc0e3ca60mark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmarkcentos# <userinput>service opendj stop</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark<computeroutput>Stopping opendj (via systemctl): [ OK ]</computeroutput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
038045ba945b0937cede38059a159b3fc0e3ca60mark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmarkubuntu$ <userinput>sudo service opendj stop</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark<computeroutput>$Stopping opendj: ... > SUCCESS.</computeroutput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
038045ba945b0937cede38059a159b3fc0e3ca60mark </listitem>
038045ba945b0937cede38059a159b3fc0e3ca60mark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <listitem>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>(UNIX) Create an RC script, and then use the script to stop
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the server.</para>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark$ <userinput>sudo create-rc-script \
08248b5c5b494aff8d1922e8e0b5777796d7450dmark --outputFile /etc/init.d/opendj \
08248b5c5b494aff8d1922e8e0b5777796d7450dmark --userName mark</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark$ <userinput>sudo /etc/init.d/opendj stop</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </listitem>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <listitem>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>(Windows) Register OpenDJ as a Windows Service, and then manage
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the service through Windows administration tools.</para>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmarkC:\path\to\opendj\bat> <userinput>windows-service.bat --enableService</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </listitem>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </itemizedlist>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </section>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <section xml:id="restart-server">
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <title>Restarting a Server</title>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <indexterm><primary>Restart server</primary></indexterm>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <itemizedlist>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>Use one of the following techniques.</para>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <listitem>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>Use the <command>stop-ds</command> command.</para>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark$ <userinput>stop-ds --restart</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </listitem>
038045ba945b0937cede38059a159b3fc0e3ca60mark
038045ba945b0937cede38059a159b3fc0e3ca60mark <listitem>
038045ba945b0937cede38059a159b3fc0e3ca60mark <para>(Linux) If OpenDJ directory server was installed from a .deb or .rpm
038045ba945b0937cede38059a159b3fc0e3ca60mark package, then service management scripts were created at setup time.</para>
038045ba945b0937cede38059a159b3fc0e3ca60mark
851ec05bc8adabc872d97be19ed06f6c8df7396emark <para>Use the <command>service opendj restart</command> command.</para>
038045ba945b0937cede38059a159b3fc0e3ca60mark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmarkcentos# <userinput>service opendj restart</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark<computeroutput>Restarting opendj (via systemctl): [ OK ]</computeroutput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
038045ba945b0937cede38059a159b3fc0e3ca60mark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmarkubuntu$ <userinput>sudo service opendj restart</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark<computeroutput>$Stopping opendj: ... > SUCCESS.
038045ba945b0937cede38059a159b3fc0e3ca60mark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark$Starting opendj: > SUCCESS.</computeroutput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
038045ba945b0937cede38059a159b3fc0e3ca60mark </listitem>
038045ba945b0937cede38059a159b3fc0e3ca60mark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <listitem>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>(UNIX) Create an RC script, and then use the script to stop
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the server.</para>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark$ <userinput>sudo create-rc-script \
08248b5c5b494aff8d1922e8e0b5777796d7450dmark --outputFile /etc/init.d/opendj \
08248b5c5b494aff8d1922e8e0b5777796d7450dmark --userName mark</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark$ <userinput>/etc/init.d/opendj restart</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </listitem>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <listitem>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>(Windows) Register OpenDJ as a Windows Service, and then manage
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the service through Windows administration tools.</para>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <screen>
08248b5c5b494aff8d1922e8e0b5777796d7450dmarkC:\path\to\opendj\bat> <userinput>windows-service.bat --enableService</userinput>
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </screen>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </listitem>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </itemizedlist>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </section>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <section xml:id="crash-recovery">
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <title>Server Recovery</title>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <indexterm>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <primary>Replication</primary>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <secondary>Crash recovery</secondary>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </indexterm>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>OpenDJ tends to show resilience when restarting after a crash or after
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the server process is killed abruptly. OpenDJ might have to replay the last
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark few entries in a transaction log. Generally OpenDJ returns to service
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark quickly.</para>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>You can find Berkeley Java Edition database recovery messages in the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark database log file, such as
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <filename>/path/to/opendj/db/userRoot/je.info.0</filename>. The following
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark shows two example messages from that log, the first written at the beginning
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of the recovery process, the second written at the end of the process.</para>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark
08248b5c5b494aff8d1922e8e0b5777796d7450dmark <programlisting language="none">
08248b5c5b494aff8d1922e8e0b5777796d7450dmark111104 10:23:48:967 CONFIG [/path/to/opendj/db/userRoot]Recovery
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark underway, found end of log
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark...
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark111104 10:23:49:015 CONFIG [/path/to/opendj/db/userRoot]Recovery finished:
08248b5c5b494aff8d1922e8e0b5777796d7450dmark Recovery Info ...
08248b5c5b494aff8d1922e8e0b5777796d7450dmark </programlisting>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <para>What can take some time during server startup is preloading database
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark content into memory when the server starts. Objects cached in memory do not
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark survive a crash. By default, OpenDJ does not cache objects in memory before
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark starting to accept client requests. You can however set a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark <link xlink:href="${configRefBase}local-db-backend.html#preload-time-limit"
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ><literal>preload-time-limit</literal></link> for the database cache of your
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark backend if you do want to load objects into the database cache before
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark OpenDJ begins accepting client connections.</para>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark </section>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark</chapter>