<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://ab.edge-technologies.com/docs/index.php?action=history&amp;feed=atom&amp;title=Enportal%2Flegacy%2Fdatabase_failover</id>
	<title>Enportal/legacy/database failover - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://ab.edge-technologies.com/docs/index.php?action=history&amp;feed=atom&amp;title=Enportal%2Flegacy%2Fdatabase_failover"/>
	<link rel="alternate" type="text/html" href="http://ab.edge-technologies.com/docs/index.php?title=Enportal/legacy/database_failover&amp;action=history"/>
	<updated>2026-04-21T15:25:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>http://ab.edge-technologies.com/docs/index.php?title=Enportal/legacy/database_failover&amp;diff=2473&amp;oldid=prev</id>
		<title>imported&gt;Jason.nicholls at 18:26, 17 July 2014</title>
		<link rel="alternate" type="text/html" href="http://ab.edge-technologies.com/docs/index.php?title=Enportal/legacy/database_failover&amp;diff=2473&amp;oldid=prev"/>
		<updated>2014-07-17T18:26:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:26, 17 July 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{DISPLAYTITLE:Database Failover}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:enPortal legacy]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This page details the steps for configuring the enPortal 4.x system to fail over during an outage to a backup system.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This page details the steps for configuring the enPortal 4.x system to fail over during an outage to a backup system.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Jason.nicholls</name></author>
	</entry>
	<entry>
		<id>http://ab.edge-technologies.com/docs/index.php?title=Enportal/legacy/database_failover&amp;diff=2472&amp;oldid=prev</id>
		<title>imported&gt;Jason.nicholls: moved Database Failover to enportal/legacy/database failover</title>
		<link rel="alternate" type="text/html" href="http://ab.edge-technologies.com/docs/index.php?title=Enportal/legacy/database_failover&amp;diff=2472&amp;oldid=prev"/>
		<updated>2014-07-17T18:25:52Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/docs/index.php?title=Database_Failover&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Database Failover (page does not exist)&quot;&gt;Database Failover&lt;/a&gt; to &lt;a href=&quot;/docs/index.php/Enportal/legacy/database_failover&quot; title=&quot;Enportal/legacy/database failover&quot;&gt;enportal/legacy/database failover&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:25, 17 July 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>imported&gt;Jason.nicholls</name></author>
	</entry>
	<entry>
		<id>http://ab.edge-technologies.com/docs/index.php?title=Enportal/legacy/database_failover&amp;diff=2471&amp;oldid=prev</id>
		<title>imported&gt;Mike.berman: created page</title>
		<link rel="alternate" type="text/html" href="http://ab.edge-technologies.com/docs/index.php?title=Enportal/legacy/database_failover&amp;diff=2471&amp;oldid=prev"/>
		<updated>2013-04-01T09:53:54Z</updated>

		<summary type="html">&lt;p&gt;created page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This page details the steps for configuring the enPortal 4.x system to fail over during an outage to a backup system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Database Configuration==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This section outlines the procedures for converting the database configuration from a standard, single-node enPortal system to a multi-node system that can fail over to a backup database in the event that the primary database server becomes unavailable.&lt;br /&gt;
&lt;br /&gt;
The examples in this section use an Oracle database. This is the most common database platform used with enPortal systems that support failover.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Implement Pre-requisites===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps prior to making any changes to the enPortal configuration:&lt;br /&gt;
&lt;br /&gt;
* Verify that the portal is running and properly connecting to the Oracle database using the standard thin client configuration in &amp;lt;tt&amp;gt;$PORTAL_HOME/config/persist.properties&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* Go to the Oracle website. Download and install the Oracle client into &amp;lt;tt&amp;gt;/opt/oracle/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Tip|Oracle Instant Client is a minimal Oracle installation that contains the JDBC libraries, OCI libraries, SQLplus library, and other basic core components. This installation is sufficient for enPortal’s needs, and is much smaller than the full Oracle Client package. Make sure sqlplus is downloaded as part of Oracle Instant Client package.}}&lt;br /&gt;
&lt;br /&gt;
* Determine if there is a folder &amp;lt;tt&amp;gt;$PORTAL_HOME/xmlroot/server/backup/&amp;lt;/tt&amp;gt; that represents the current data in the database. If not, you should create this folder as a database backup by navigating to &amp;lt;tt&amp;gt;$PORTAL_HOME/bin/&amp;lt;/tt&amp;gt; and executing the &amp;lt;tt&amp;gt;portal XMLexport&amp;lt;/tt&amp;gt; command.&lt;br /&gt;
* Obtain a template Oracle configuration file &amp;lt;tt&amp;gt;tnsnames.ora&amp;lt;/tt&amp;gt;, and place it in &amp;lt;tt&amp;gt;/opt/oracle/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Configure Database Failover Connections===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You must update the Oracle and enPortal configuration files to instruct the system how to fail over from the primary database to the alternate database. To do this, perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Edit the file &amp;lt;tt&amp;gt;/opt/oracle/tnsnames.ora&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** Provide an &amp;#039;&amp;#039;&amp;#039;ADDRESS&amp;#039;&amp;#039;&amp;#039; line for each database in the failover sequence. Enter the appropriate host and port for each database.&lt;br /&gt;
** Enter the appropriate &amp;#039;&amp;#039;&amp;#039;SERVICE_NAME&amp;#039;&amp;#039;&amp;#039; for connecting to the database.&lt;br /&gt;
&lt;br /&gt;
* Verify that the &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt; variable contains a path to the libraries downloaded as part of Instant Client. One way to do this is to just make links from &amp;lt;tt&amp;gt;/usr/lib/&amp;lt;/tt&amp;gt; to all of the libraries included in the Instant Client download. The reason is that &amp;lt;tt&amp;gt;/usr/lib/&amp;lt;/tt&amp;gt; is by default in the &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;, so just linking in these libs will automatically make them available.&lt;br /&gt;
** Example: Instant Client downloaded to &amp;lt;tt&amp;gt;/opt/oracle/&amp;lt;/tt&amp;gt;, and there was a lib in that directory called &amp;lt;tt&amp;gt;libodbc.so&amp;lt;/tt&amp;gt;. Create a link in the &amp;lt;tt&amp;gt;/usr/lib/&amp;lt;/tt&amp;gt; directory by executing the command: &amp;lt;tt&amp;gt;ln -s /opt/oracle/libodbc.so /usr/lib/libodbc.so&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** Repeat for each library in the Instant Client package.&lt;br /&gt;
&lt;br /&gt;
* Use the &amp;lt;tt&amp;gt;sqlplus&amp;lt;/tt&amp;gt; command line tool to verify that a connection to database is working as configured in &amp;lt;tt&amp;gt;tnsnames.ora&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** Make sure you have the directory where you downloaded the package in your &amp;lt;tt&amp;gt;LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;, and make sure the &amp;lt;tt&amp;gt;TNS_ADMIN&amp;lt;/tt&amp;gt; variable is also set to that same install directory.&lt;br /&gt;
** From the directory where you downloaded the Instant Client package, execute the following command: &amp;lt;tt&amp;gt;./sqlplus username@DB_NAME&amp;lt;/tt&amp;gt; where &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;username&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; is a valid password to the portal database, and &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;DB_NAME&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; corresponds to the entry in your &amp;lt;tt&amp;gt;tnsnames.ora&amp;lt;/tt&amp;gt; file for the portal. A prompt for the portal password will display.&lt;br /&gt;
** If you enter the correct password, you should have command-line SQL access to the Database. This will verify that the &amp;lt;tt&amp;gt;tnsnames.ora&amp;lt;/tt&amp;gt; file is configured correctly.&lt;br /&gt;
&lt;br /&gt;
* Edit the file &amp;lt;tt&amp;gt;$PORTAL_HOME/config/persist.properties&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** Verify that &amp;lt;tt&amp;gt;persisting=true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** Update the &amp;lt;tt&amp;gt;db.driver: oracle.jdbc.driver.OracleDriver&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** Update the &amp;lt;tt&amp;gt;db.URL: jdbc\:oracle\:oci\:@TNSLABEL&amp;lt;/tt&amp;gt; where &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;TNSLABEL&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; is the label for the failover configuration to use in the &amp;lt;tt&amp;gt;tnsnames.ora&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
* Edit the portal start script &amp;lt;tt&amp;gt;$PORTAL_HOME/bin/portal&amp;lt;/tt&amp;gt;. Add the parameter &amp;lt;tt&amp;gt;tns_admin=opt/oracle&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Re-start enPortal===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarting enPortal will test whether the changes are successful.&lt;br /&gt;
&lt;br /&gt;
{{Tip|Develop a thorough understanding of the procedures in this section on a test system before deploying any changes to your production system.}}&lt;br /&gt;
&lt;br /&gt;
Perform the following steps to re-start enPortal:&lt;br /&gt;
&lt;br /&gt;
# Confirm whether the database you will be using under the new configuration already contains the portal data.&lt;br /&gt;
#* If the database already contains data, then make sure there are not any load*.txt files under &amp;lt;tt&amp;gt;$PORTAL_HOME/xmlroot/server/&amp;lt;/tt&amp;gt;. These files should all be renamed with alternate extensions such as .completed.&lt;br /&gt;
#* If enPortal will now be connecting to a new (empty) database, verify the existence of the file &amp;lt;tt&amp;gt;$PORTAL_HOME/xmlroot/server/load_restore.txt&amp;lt;/tt&amp;gt;. This file will load all of the XML data from &amp;lt;tt&amp;gt;$PORTAL_HOME/xmlroot/server/backup/&amp;lt;/tt&amp;gt; into the new database.&lt;br /&gt;
# Navigate to &amp;lt;tt&amp;gt;$PORTAL_HOME/bin/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Execute the command: &amp;lt;tt&amp;gt;portal portalstop&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Execute the command: &amp;lt;tt&amp;gt;portal portalstart&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Review the output to the terminal for indication of a successful database connection.&lt;br /&gt;
# Open a browser from a location with network access to the portal web server. Navigate to the URL: &amp;lt;tt&amp;gt;https://hostname:port&amp;lt;/tt&amp;gt;. If the system login page is displayed, this confirms that the portal made a successful connection to the database.&lt;/div&gt;</summary>
		<author><name>imported&gt;Mike.berman</name></author>
	</entry>
</feed>