NOHRSC Technology >
NOHRSC GIS Applications > Miscellaneous
Notes on NOHRSC Applications supported by
AWIPS-hosted Informix servers
1999 June 16
AWIPS and Informix run-time libraries
>NOHRSC applications need Informix run-time libraries in order to execute.
The location of these libraries on the executing machine is specified when
the executable is compiled. In the past, these libraries had been located
in /usr/informix, and compiled to use them. Since NOHRSC supports backwards
compatibility (such as GDP-based systems), we ship out executables that
use those /usr/informix libraries. On the new AWIPS systems, however, these
libraries have moved to /opt/informix. Without any intervention, running
these executables on AWIPS gives a run-time error since /usr/informix doesn't
exist.
To allow these executables to run properly on AWIPS, create a symbolic
link named "/usr/informix" that links to the /opt/informix directory.
NOHRSC applications will thus be able to find the run-time libraries
and execute.
Moving the GISRS database
Since the GISRS database contains absolute filepaths, it is necessary
to tread lightly when moving the database across machines. If the user
wants to :
-
Completely duplicate the database and file structure:
-
Copy all data files to exactly the same paths on the new machine.
-
Unload the entire database, along with dbschemas.
-
Create the new database.
-
Recreate the database structure using dbschemas, then load the database.
-
Copy the database, but have files in a different path on the new machine:
-
Archive all the GIS layers using the Data Administration toolbar's Archive
utility.
-
Copy the remaining file structures over to the new machine. Hydrographs
will be among them.
-
Unload the remaining database, along with the dbschemas.
-
Edit the unloaded "hydrograph" table and modify the file pathnames with
a global change to reflect any difference in the new pathname.
-
Create the new database.
-
Recreate the database structure using the dbschemas, then load the remaining
tables.
-
Restore the GIS layers using the Data Administration toolbar's Restore
utility. The archiving utility will look at the new environment variables,
and place the files and update the database accordingly.
1998 November 25
Buffered Logging use
The following is of no concern to RFCs running NOHRSC applications
supported by GDP-based Informix servers. The following is of concern to
only those RFCs who are (or who are contemplating) using AWIPS-hosted Informix
servers.
The following is the NOHRSC's understanding of the AWIPS Informix client/server
relationships:
"It has come to our attention that NOHRSC delivered applications whose
databases are hosted by AWIPS Informix servers that were not properly installed.
Briefly, AWIPS consists of 2 independent servers: DS1 (the primary)
and DS2 (the secondary, or backup). During normal operations, only DS1
is directly involved in database client/server relationships. Transactions
with DS1 are duplicated on DS2. Hence, the dbspaces on DS1 and DS2 should
be exact duplicates of one another.
We are told that database redundancy is facilitated by defining buffered
logging when databases are created on AWIPS Informix servers. Buffered
logging is established during database creation with the following SQL
command:
CREATE DATABASE gisrs WITH BUFFERED LOG
It is our understanding that if buffered logging is not established
when the GISRS database is created on the AWIPS Informix server, the DS2
server will not contain a backup copy of the GISRS database.
During normal operations, you will not notice a problem if buffered
logging is not turned on. DS1 will serve NOHRSC applications normally.
Its during non-normal conditions that problems will arise (i.e., upgrading
Informix, DS1 failure, etc). If buffered logging is not turned on and operations
require a transition from DS1 to DS2, the NOHRSC applications (and all
other applications which do not involve buffered logging) will fail.
We suspect that buffered logging was not turned on at some of the RFCs
using AWIPS Informix servers. Those RFCs noticed problems with IHABBS after
the most recent PRC Informix upgrade. The problems are unpredictable in
nature. They will vary from a complete failure due to the absence of a
GISRS database to "flakey" performance associated with out-of-date records
and tables. The out-of-date information is due to partial replication on
DS2 during Informix administration activities. Similar inconsistencies
can arise under circumstances other than Informix upgrades (i.e., when,
for any reason, DS2 rather than DS1 is used as the Informix server).
For new IHABBS installations on AWIPS machines, we recommend that the
GISRS database be established by the RFC representative most familiar with
AWIPS database management. Guidance for the proper definition of a new
Informix database can be found in the "AWIPS Manager's Manual" (and see
above).
For old IHABBS installations which did not define buffered logging when
the GISRS database was originally created we suggest conferring with the
RFC representative most familiar with AWIPS database management. We suspect
that the most secure approach at this point is to:
-
Make sure no NOHRSC applications are running.
-
Run dbschema to develop a schema of the GISRS database.
-
Unload all GISRS tables.
-
Drop all GISRS tables.
-
Drop the GISRS database.
-
Create a new GISRS database with buffered logging turned on. Guidance for
the proper definition of a new Informix database can be found in the "AWIPS
Manager's Manual" (and see above).
-
Execute the dbschema output to recreate the dropped tables.
-
Finally, reload the recreated tables using the load command.
Following the above procedure SHOULD ensure that: (a) a GISRS database
with buffered logging turned on has been created, (b) the new GISRS database
looks just like the old GISRS database, (c) a duplicate version of the
GISRS database is on DS2, and (d) the continued duplication of the GISRS
database on DS2."
1998 November 18
Additional comments from Jeff Zimmerman
"A little bit more information. According to PRC, the
CREATE DATABASE statement will create the database on both DS1 and DS2.
However, if the database is created without buffered logging, then any
transactions/updates of the database on DS1 will not be logged and replicated
on DS2.
What happened with the AWIPS 4.0.5 upgrade was that the
system was swapped over to be running off of DS2, while the upgrade took
place on DS1. Then, when they brought DS1 back, it was restored from DS2,
not the level 0 archive. Since the database was created without buffered
logging, any changes made to the db while on DS1 were not propagated to
DS2. So, when the restoration from DS2 took place, they were restoring
the database based on its structure when it was initially created.
We ran into similar circumstances prior to build 3 when
the WHFS database was not doing transaction logging. If a site had to fail
over to DS2, they ended up running off an old copy of the database that
dated to the initial establishment of the db."
|