How to move eHealth to a new system 6.2.x

Document ID : KB000023799
Last Modified Date : 14/02/2018
Show Technical Document Details

Question

How to move eHealth to a new system 6.2.x

 

Answer:

This solution describes moving an Oracle-based installation of eHealth to a new host system.

 

Discussion 

The eHealth software installation can be moved to a new system.  To do this, a database save is taken from one system, and moved to a new system.  This can be accomplished using one of two methods: a binary save/load or an ASCII save/load.  Each method has advantages and disadvantages.

 The "binary" save uses a built-in Oracle process called Recovery Manager (RMAN).  RMAN makes copies of the Oracle datafiles, and the metadata, by making copies of the datafiles as they exist on the system.  The binary save has the advantage of being quick, but the resulting save archive has limited portability.

 Alternately, the "ASCII" save uses the command named "exp" to export the data from the Oracle datafiles on a row-by-row basis.  This ensures that the data is compatible across systems, but the process can be very slow.

 Regardless of which version of the save/load is used, relevant configuration files that are not in the database are captured and moved to the new system.  This includes the web configuration, Live Health configuration, custom reports, and so on.  The save/load is designed to capture all relevant configuration needed to make the new system appear to be the same as the old system. 

 

ASCII save/load 

Here is the process of moving eHealth to the new system using an ASCII save/load:

1. Review the sizing tool for the new system to plan for any future growth.  The sizing wizard can be accessed from this link: Sizing Wizard.  Make sure that the number and size of disks are sufficient for the number of elements that you intend to have in the future.  Also, make sure that the proper licenses for eHealth have been acquired.

2. Install eHealth on the new system.  The installation process should be done in the same way as the installation was done on the old system.  Make sure the same version and patch level is installed.  See the install guide on the CDROM for instructions.

3. Submit the license change request form to get new licenses for the new system.  This can be done from the Concord license change request page.

4. Do an ASCII save on the old system. 

4a. For Unix systems, do the following:

- Log in as the $NH_USER
- CD to the $NH_HOME directory
- Source the nethealthrc.csh
- Run the following command:

     nhSaveDb -p $NH_HOME/db/save/myDb.tdb -ascii

4b. For Windows, do the following:

- Log in as the %NH_USER%
- CD to the %NH_HOME% directory
- Run the following command:

     nhSaveDb -p %NH_HOME%\db\save\myDb.tdb -ascii

In each example above, "myDb.tdb" just a example, you need to choose the path that as enough disk space do the db save.

Note that the ASCII save can take a long time to complete.

5. Load the ASCII save on to the new system. 

5a. For a Unix system:

Move the save archive that was created in the last step to the new system, and load it using the following steps:

- Log in as the $NH_USER
- CD to the $NH_HOME directory
- Source the nethealthrc.csh
- Run the following command:

     nhLoadDb -p $NH_HOME/db/save/myDb.tdb -ascii

where $NH_HOME/db/save/myDb.tdb is the directory where the save archive has been placed. 

Note that the "-ascii" flag is deprecated on version 6.2.x, since the nhSaveDb/nhLoadDb commands can detect what type of save archive is being referenced.

5b. For a Windows system:

- Log in as the %NH_USER%
- CD to the %NH_HOME% directory
-&.nbsp;Run the following command:

     nhLoadDb -p %NH_HOME%\db\save\myDb.tdb -ascii

where %NH_HOME%\db\save\myDb.tdb is the directory where the save archive has been placed. 

Note that the "-ascii" flag is deprecated on version 6.2.x, since the nhSaveDb/nhLoadDb commands can detect what type of save archive is being referenced.

Binary save/load 

When using a binary save/load, there are a number of items that need to match between the old eHealth system and the new eHealth system where the database save is being loaded:

 

-          If the system is pre-6.0, then the number of datafiles must be the same on the systems.  If the system where the load is being done is 6.0 and later, then datafiles' paths and file names need to match what is listed in the save.cfg, which is in the oracle_rman directory in the save archive.

-          the $SID must match on the systems

-          the platform must be the same (i.e.: Windows to Windows, Solaris to Solaris)

-          the save archive must be in the same location when the load is done as it was when the save was done

 

Here is the process of moving eHealth to the new system using a binary save/load:

1. Review the sizing tool for the new system to plan for any future growth.  The sizing wizard can be accessed from this link: Sizing Wizard.  Make sure that the number and size of disks are sufficient for the number of elements that you intend to have in the future.  Also, make sure that the proper licenses for eHealth have been acquired.

2. Make a copy of the LCF file from the old system.  This file is located in $NH_HOME/oracle/database/ on Unix, or %NH_HOME%\oracle\database on Windows, and has the naming format <$HOSTNAME>_<$SID>.lcf.

3. Install eHealth on the new system using the LCF file.  Review the install documentation for more information on how to use the LCF file during install.  Make sure the same version and patch level is installed.  See the install guide on the CDROM for instructions. 

 

If eHealth is already installed on the system, you can destroy and recreate the database using the LCF file collected in the previous step.

 

3a. In UNIX (as root):

 

- Log in as root
- CD to the $NH_HOME directory
- Source the nethealthrc.csh
- Run the following commands:

 

     umask 002
     nhCreateDb -i $NH_HOME/oracle/database/<system_name>_<sid>1.lcf

 

where <system_name> is the unqualified system name ("mysystem" rather than "mysystem.mydomain.com") and where <sid> is the Oracle SID (typically EHEALTH)

 

3b. In Windows (as the eHealth user, from the drive where eHealth is installed):

 

     nhCreateDb -i %NH_HOME%\oracle\database\<system_name>_<sid>1.lcf

 

where <system_name> is the unqualified system name ("mysystem" rather than "mysystem.mydomain.com") and where <sid> is the Oracle SID (typically EHEALTH)

4. Submit the license change request form to get new licenses for the new system.  This can be done from this page: online license change request

5.  Do a binary save on the old system. 

5a. On a Unix system:

- Log in as the $NH_USER
- CD to the $NH_HOME directory
- Source the nethealthrc.csh
- Run the following command:

     nhSaveDb -p $NH_HOME/db/save/myDb.tdb

($NH_HOME/db/save/myDb.tdb just a example, you need to choose the path that as enough d.isk space do the db save)

5b. On a Windows system:

- Log in as the %NH_USER%
- CD to the %NH_HOME% directory
- Run the following command:

     nhSaveDb -p %NH_HOME%\db\save\myDb.tdb

(%NH_HOME%\db\save\myDb.tdb just a example, you need to choose the path that as enough disk space do the db save)

6. Load the save onto the new system. 

Move the save archive that was created in the last step to the new system, and load it using the following steps:

6a. For a Unix system:

- Log in as the $NH_USER
- CD to the $NH_HOME directory
- Source the nethealthrc.csh
- Run the following command:

     nhLoadDb -p $NH_HOME/db/save/myDb.tdb

where $NH_HOME/db/save/myDb.tdb is the directory where the save archive has been placed. 

6b. For a Windows system:

- Log in as the %NH_USER%
- CD to the %NH_HOME% directory
- Run the following command:

     nhLoadDb -p %NH_HOME%\db\save\myDb.tdb

where $NH_HOME/db/save/myDb.tdb is the directory where the save archive has been placed. 

 

Completing the move.

 

Once the save has been loaded onto the new system, the hostname that is contained in the nh_machine table will need to be updated to match the  .

 

To update the hostname of the new eHealth system, please reference the solution titled How to change the hostname of the eHealth server.